Терминология Unity 3D

Опубликовано 2011.11.02

Проекты (Projects):
Игра, созданная в Unity будет состоять из Проекта (Project). Он будет содержать все элементы вашего проекта, такие, как модели, скрипты, уровни, меню и т.п. Обычно, один файл Проекта будет содержать все элементы вашей игры. Когда вы запускаете Unity 2, первое, что происходит, это запуск файла Проекта. (Если вы только что установили Unity, это будет файл Проекта, содержащий Island Demo.)

Сцены (Scenes):
Каждый Проект состоит из одного или более документов, называемых Сценами (Scenes). Одна сцена будет содержать один игровой уровень, но большие элементы пользовательского интерфейса, такие, как игровые меню, последовательности завершения игры или большие ролики могут также располагаться в своих собственных файлах Сцен.
Сложные игры могут даже использовать целые Сцены в целях инициализации. Таким образом, все уровни игры скорее всего будут Сценами, хотя Сцена не обязана быть игровым уровнем.

Игровые Объекты, Компоненты, Ресурсы и Шаблоны (GameObjects, Components, Assets & Prefabs)
Ключом к пониманию Unity является связь между GameObject и Компонентом.

UnityGameObjects:
GameObject – это фундаментальный строительный блок в Unity. GameObject – это контейнер для разных частей функциональности, называемых Компонентами. GameObject почти всегда содержит более одного Компонента. Все GameObjects содержат Компонент Трансформации (Transform Component), определяющий их позицию и ориентацию.

Иерархии GameObject:
Действительной мощью GameObject является его способность содержать в себе другие GameObjects, действуя подобно папке в OS X Finder. Это делает возможной иерархическую организацию GameObjects, таким образом, составная модель или полная связка источников освещения может быть определена одним GameObject. (По факту, большая часть моделей появляется в Unity как иерархия GameObjects, потому, что это отражает структуру, которая была создана в пакете моделирования.) GameObject, заданный внутри другого GameObject является потомственным GameObject.

Компоненты (Components):
Компоненты являются строительными блоками GameObjects. Без них GameObject не мог бы сделать ничего интересного.
Компонент может представлять видимые объекты, такие, как меши, материалы, данные о ландшафте или систему частиц. Другие типы компонентов более абстрактны, например Камеры или Источники Освещения, которые не имеют представления физической модели вовсе; вместо этого вы увидите иконку и определенные каркасные обозначения, отображающие их ключевые особенности.Компонент всегда привязан к GameObject, он не может жить самостоятельно. Множество Компонентов может быть привязано к одному GameObject. GameObjects может поддерживать множество Компонентов определенных типов — GameObject может содержать любое количество скриптов, к примеру. Но другие, как те, например, что определяют системы частиц, эксклюзивны и могут появляться лишь единожды в одном GameObject. Например, если вы хотите определить множество систем частиц, вам, как правило, придется использовать иерархию GameObjects, каждый из которых содержит свой собственный набор Компонентов системы частиц.

Ресурсы (Assets):
Все ваши импортированные Ресурсы появляются в панели Project и могут являться практически чем угодно, от материала или текстуры до аудио файлов, готовых к использованию и шаблонных GameObject (известных, как “Prefab”).
Ресурсы могут быть простыми или сложными; от единичного аудио файла или файла изображения PNG, вплоть до сложной иерархии потомственных GameObjects и Компонентов, определяющих всего один элемент вашей игры.
Например, Шаблон (Prefab) игрового персонажа может быть задан как единичный Ресурс, содержащий модель и ассоциированные с ней анимации. Он также может содержать Компонент скрипта, аудио клипы и любые другие Компоненты, которые необходимы для его функционирования, вам лишь остается просто перетянуть его в панель Scene и получить полностью работающий аватар.

Пользовательские Иконки и Гизмо:
Вы можете сделать так, чтобы Unity отображал пользовательские иконки и другую визуальную информацию для ваших Ресурсов (Assets), если захотите. Мы рассмотрим пример этого в следующем разделе.
Ресурсы вашего проекта отображены на панели Project. Когда вы перетягиваете один из них в Сцену, он появляется на панели Иерархии, которая определяет содержимое Сцены. (Игровая Сцена подобна театральной. Ей может быть уровень, меню, многопользовательский интерфейс – все, что вы захотите.) Панель Project присутствует во всех Сценах вашего Проекта.

Шаблоны (Prefabs):
Шаблон (Prefab) – это Ресурс (Asset), который был определен, как эталонный. Для Unity это все равно, что шаблонный документ для текстового редактора. Когда вы размещаете Шаблон в вашей Сцене, на панели Hierarchy Unity размещает лишь ссылку на Шаблон, но не полную копию. Это называется клонированием. Каждая ссылка, которую вы создали, является клоном Шаблона.
Если вы щелкните на Шаблон на панели Project и отрегулируете его настройки, вы обнаружите, что все эти изменения немедленно отразились на всех клонах этого Шаблона в вашей Сцене. Это делает Шаблоны идеальными для многократного использования элементов, таких, как пули, враги и т.п. Если вы обнаружили, что ваш враг ведет себя неправильно, вам необходимо лишь отрегулировать скрипт или настройки в оригинальном Шаблоне, вместо индивидуального редактирования каждого врага в Сцене.
Тем не менее, если вы хотите изменить пару настроек определенного клона Шаблона, вы также можете это сделать: эти изменения отразятся только на отдельном клоне.
Шаблоны выделяются голубым цветом на обеих панелях: и в Project, и в Hierarchy.

ПРИМЕЧАНИЕ
Клон Шаблона не может обладать дополнительными Компонентами, добавленными после его создания, так как это разорвет связь с оригинальным Шаблоном. Unity предупредит вас, если вы попытаетесь это сделать. Тем не менее, Unity позволяет вам дополнить оригинальный Шаблон теми изменениями, после которых произошел разрыв связи.