Как объединить объекты в unity
Перейти к содержимому

Как объединить объекты в unity

  • автор:

Как объединить объекты в unity

Иерархия ( Hierarchy ) содержит все объекты( GameObject ) в текущей сцене. Некоторые из них являются прямыми экземплярами файлов ассетов, таких как 3D-модели, а другие — экземпляры префабов, пользовательских объектов, из которых состоит большая часть вашей игры. Вы можете выбрать объекты в иерархии, и перетащить один объект на другой, для создания родительской связи( Parenting ) (см. ниже). При добавлении и удалении объектов в сцене, они также будут появляться и исчезать из Иерархии.

Unity использует концепцию под названием Parenting . Для того, чтобы сделать любой GameObject дочерним для другого, перетащите желаемый дочерний объект на желаемый родительский в иерархии. Дочерний объект будет наследовать перемещение и повороты своего родителя. Вы можете использовать раскрывающую стрелку родительского объекта для того, чтобы, при необходимости, показать или скрыть его детей.

Два объекта без родителей Один объект стал родителем для другого

Чтобы узнать больше о parenting, смотрите страницу компонента Transform.

Alphanumeric Sorting

The order of GameObjects in the Hierarchy window can be changed into alphanumeric order. This mode can be enabled using the Edit->Preferences menu (Windows) or Unity->Preferences menu (Mac) which launches the Unity Preferences window. The “Enable Alpha Numeric Sorting” can be ticked. Once this is made the order of the GameObjects in the Hierarchy can be made into alphanumberic sorting. A new icon appears at the top right-hand side of the Hierarchy window. A drop-down appears which lets you choose Alphabetic or Transform sort.

Multi-Scene Editing

It is possible to have more than one Scene open in the Hierarchy at the same time. To find out more about this, see the Multi Scene Editing page.

Игровые объекты

Игровые объекты ( GameObjects ) — это самые важные объекты в Unity. Очень важно понимать, что такое GameObject и как его использовать.

Что такое GameObject’ы?

Каждый объект в игре — это GameObject. Однако, GameObject’ы ничего не делают сами по себе. Они требуют специальной настройки, прежде чем стать персонажами, предметами окружения или специальными эффектами. Если каждый объект — это GameObject, то как мы сможем различить интерактивные объекты и статичную комнату? Что отличает GameObject’ы друг от друга?

Four different Game Objects, an animated character, a light, a tree and an audio source

The answer to this question is that GameObjects are containers. They can hold the different pieces that are required to make up a character, a light, a tree, a sound, or whatever else you would like to build. So to really understand GameObjects, you have to understand these pieces which are called Components.

GameObject’ы являются контейнерами. Пустая коробка, которая может содержать внутри различные элементы, такие как остров с запечёнными тенями или физически корректный автомобиль. Чтобы действительно понять GameObject’ы, нужно понять их составляющие, который называются компонентами (Components). В зависимости от того, какой вы хотите создать объект, вы будете добавлять различные комбинации компонентов к GameObject’у. Представляйте GameObject как пустой кулинарный горшок, а компоненты как различные ингредиенты, которые составят ваш рецепт игрового процесса. Вы можете также создать ваши собственные компоненты, используя скрипты.

Вы можете дополнительно почитать о GameObject’ах, компонентах и скриптах на других страницах в этом разделе.

Ручное Объединение сеток

Вы можете вручную объединить несколько сеток в одну сетку основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь как оптимизация вызовов отрисовки. Unity визуализирует комбинированную сетку за один вызов отрисовки вместо одного вызова отрисовки для каждой сетки. Этот метод может быть хорошей альтернативой пакетной обработке вызовов отрисовки в тех случаях, когда сетки расположены близко друг к другу и не перемещаются относительно друг друга. Например, для статичного шкафа с большим количеством ящиков имеет смысл объединить все в единую сетку.

Существует два основных способа объединения сеток:

  • В инструменте создания ресурсов при создании сетки.
  • В Unity используется Mesh.CombineMeshes.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо

Объединение объектов в один

Author24 — интернет-сервис помощи студентам

Здравствуйте! У меня есть объекты «Плитка» с коллайдерами (одинаковые модельки из которых получается пол) . Делал я модельку в программе «MagicaVoxel», где не получится объединить несколько таких объектов в один. И появляется вопрос: можно ли объединить несколько таких объектов в Unity, чтобы меньше грузилась игра? Пытался сделать с CombineMesh, а коллайдер сделать больше на одном из объектов, но ничего не получилось.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
using UnityEngine; using System.Collections; [RequireComponent (typeof (MeshFilter))] [RequireComponent (typeof (MeshRenderer))] public class Combine : MonoBehaviour { void Start () { MeshFilter[] meshFilters = GetComponentsInChildrenMeshFilter> (); CombineInstance[] combine = new CombineInstance[meshFilters.Length]; int i = 0; while (i  meshFilters.Length) { combine[i].mesh = meshFilters[i].sharedMesh; combine[i].transform = meshFilters[i].transform.localToWorldMatrix; meshFilters[i].gameObject.SetActive (true); i++; } transform.GetComponentMeshFilter> ().mesh = new Mesh (); transform.GetComponentMeshFilter> ().mesh.CombineMeshes (combine); transform.gameObject.SetActive (true); } }

Как это исправить? Заранее спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *