GameObject — базовый класс, который содержит все сущности в сценах в игровом движке Unity. Игровой движок Unity позволяет разрабатывать 2D и 3D приложения, моделировать объекты, их поведение. Все предметы и методы работы с графикой на классы в Unity (шаблон для создания предметов, их функций). Самое важное понятие в редакторе Unity — класс GameObject. 

Что такое GameObject?

GameObjects — это базовые объекты в движке Unity, которые представляют персонажей, окружение и декорации игровых сцен. Они служат контейнерами для компонентов приложения — в них можно хранить объекты других видов. Разработчик добавляет в GameObject компоненты и превращает невидимый объект в персонажа, свет, звук или что-то еще. В зависимости от того, какой объект создается, добавляют различные комбинации компонентов. Чтобы лучше понимать механизм его работы, о типе нужно думать, как о пустой кастрюле, а о компонентах — как о различных ингредиентах, входящих в рецепт блюда (в данном случае — игрового процесса). Например, объект Light создается путем присоединения функции Light к GameObject.

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

Объекты типа GameObject:

  • игровой персонаж;
  • статическая модель;
  • освещение;

Чтобы создать новый компонент игры, щелкните правой кнопкой мыши в окне Hierarchy, затем Create Empty

У Unity множество различных типов встроенных компонентов. Разработчик также позволяет самостоятельно создавать собственные компоненты с помощью инструмента Unity Scripting API.

GameObject всегда имеет прикрепленный компонент Transform (для управления положением и ориентацией предмета. Другие компоненты, которые придают объекту его функциональность, могут быть добавлены из меню редактора Components. Также есть много полезных, предварительно сконструированных объектов (примитивные формы, камеры, источники освещения). Они доступны в меню GameObject и разделе 3D Object.

Взаимосвязь с компонентами

GameObject — единственное, что действительно существует в разрабатываемой сцене. Но сами по себе такие объекты мало что делают. Им нужна помощь «Компонентов», чтобы определить форму, поведение и предназначение.

Компоненты — это такие вещи, как камеры, жесткие тела, примитивы. Последние реализованы следующими объектами:

  • куб;
  • сфера;
  • плитка;
  • плоскость;
  • капсула;
  • цилиндр.

Любой сценарий игры, который пишет создатель проекта, — также компонент. Для работы его требуется прикрепить к GameObject. Понимание взаимосвязи между GameObject и компонентами — ключ к пониманию того, как работает программа Unity.

Ниже приведен пример, как взаимосвязь GameObject и Components работает с использованием наиболее распространенного компонента — Transform. Увидеть его можно на окне Inspector созданного GameObject:

  1. Откройте любую сцену в любом проекте в редакторе Unity. 
  2. Создайте новый GameObject (меню GameObject — Create Empty).
  3. Найдите новый объект и убедитесь, что он предварительно выбран, а в окне Inspector отображается его компонент преобразования (Transform).

Новый пустой GameObject содержит имя (GameObject), тег (Untagged) и слой (Default). Он также обладает стандартным компонентом преобразования. Невозможно создать GameObject в редакторе без Transform. Этот компонент определяет положение, поворот и масштаб предмета в игровом мире.

Меню