Unity3d вики
Advertisement

Использование компонентов.[]

Компоненты - основные элементы поведения объектов в игре. Они - функциональная часть любого Объекта. Если вы еще не поняли взаимоотношений Компонентов и Объектов - прочитайте страницу Объекты игры.

Объект игры - контейнер для различных компонентов. По умолчанию все объекты автоматически получают компонент Transform. Это потому, что Трансформ определяет где расположен Объект, как он повернут и масштабирован. Без этого компонента не имеет местоположения в мире. Попробуйте теперь для примера создать пустой Объект. Щелкните в меню GameObject->Create Empty (Объект->создать пустой). Выберите новый объект и посмотрите в Инспектор.

TheGameObject-ComponentRelationship-0

Каждый пустой объект имеет компонент Transform

Помните, что Вы всегда в Инспекторе можете увидеть какие компоненты прикреплены к выбранному Объекту. Когда компонент добавляется или удаляется Инспектор всегда показывает Вам изменения. В Инспекторе Вы всегда можете изменить свойства компонента (включая скрипты).


Добавление компонентов[]

Вы можете добавить Компоненты к выбранному Объекту игры через меню компонентов. Мы попробуем сделать это сейчас добавив Ригидбоди к только что созданному Объекту. Выберите объект и перейдите в меню Component->Physics->Rigidbody. После этого Вы увидите свойства компонента Ригидбоди в Инспекторе. Если Вы нажмете Play Вы можете удивиться. Попробуйте и увидите как Ригидбоди изменило поведение объекта, добавив к нему новую функциональность (смотрите на y-компоненту позиции объекта - она уменьшается. Это потому что физический движок теперь заставляет объект падать под действием гравитации).

UsingComponents40-1

Пустой объект с прикрепленным компонентом Rigidbody

Другая возможность добавить компонент - активировать Браузер компонентов, который открывается кнопкой Добавить компонент (Add Component) в Инспекторе.








UsingComponents40-2

Браузер позволяет перемещаться удобно по категориям, а также имеет окно поиска, которое можно использовать для поиска компонентов по имени.

Вы можете прикрепить любое число или комбинацию компонентов к одному Объекту игры. Некоторые компоненты работают в комбинации с другими. Например Ригидбоди работает с Коллайдером. Ригидбоди управляет трансформациями через физический движок NVIDIA PhysX, а коллайдер позволяет Ригидбоди взаимодействовать с другими коллайдерами.

Если Вы хотите узнать больше о использовании отдельных компонентов, Вы можете прочитать о них в Справочнике компонентов. Вы можете также перейти к описанию компонента прямо из Юнити, нажав знак ? у заголовка компонента в Инспекторе.


Редактирование компонентов[]

Один из самых крутых плюсов применения компонентов - гибкость. Когда Вы прикрепляете компонент к Объекту, появляется возможность настройки различных свойств компонента в редакторе перед сборкой игры, или из скрипта во время запуска игры. Есть два главных типа свойств - Значения и Ссылки.

Посмотрите на рисунок ниже. Это пустой Объект с компонентом Источник Аудио (Audio Source). Все значения компонента в Инспекторе установлены по умолчанию.

UsingComponents40-3

Этот компонент содержит одно свойство Ссылки и семь свойств - Значений. Ссылка - Аудио Клип (Audio Clip). Когда данный аудио источник включается, он пытается проиграть аудио файл на который ссылается свойство Audio Clip. Если ссылка не установлена - будет ошибка отсутствия аудио. Вы должны указать ссылку на файл в Инспекторе. Это можно сделать просто перетащи аудио файл из Окна Проекта на свойство, или можно использовать Object Selector.

















Теперь свойство Audio Clip ссылается на файл звукового эффекта

Компоненты могут включать ссылки на любой другой тип компонента, на Объект игры или на ассет. Вы можете почитать дополнительно о назначении ссылок на странице Назначение ссылок.

Остальные свойства Аудио клипа - Значения. Они могут быть настроены напрямую в Инспекторе. Эти свойства у Аудиоклипа - переключатели, числовые значения, выпадающие поля. Однако такие свойства могут быть также текстовыми строками, цветом, кривыми или другими типами. Вы можете почитать дополнительно о редактировании свойств значений на странице Редактирование свойств значений.

Копирование и вставка установок компонентов[]

Контекстное меню для компонента имеет строки для копирования и вставки его значений.

UsingComponents40-5

Скопированные значения могут быть вставлены в существующие компоненты. Альтернативно - Вы можете использовать меню Вставить компонент как новый (Paste Component As New) для создания нового компонента с теми же значениями.



Тестирование свойств[]

Когда Вы в режиме игры, Вы можете свободно изменять свойства любого объекта в Инспекторе. Например Вы можете захотеть поэкспериментировать с различными свойствами прыжка. Если Вы создадите свойство высоты прыжка (Jump Height) в Вашем скрипте, Вы можете войти в режим игры, изменить значение и нажать кнопку прыжка, чтобы увидеть что изменилось. Затем без выхода из режима игры Вы можете изменять его снова, чтобы подобрать нужное. Когда Вы выйдете из режима игры Ваше свойство вернется к установленному до входа в игру. Это свойство дает Вам потрясающую мощь для экспериментирования и настройки Вашей игры без с малыми затратами времени. Испытайте это с любым свойством - Вы будете впечатлены.

Изменение порядка компонентов[]

Порядок, в котором располагаются компоненты в Инспекторе в большинстве случаев не имеет значения. Однако для некоторых компонентов, таких как Эффекты порядок важен. Контекстное меню Сдвинуть вверх и сдвинуть вниз позволяет Вам изменить порядок, если необходимо.

UsingComponents40-6






Удаление компонентов[]

Если Вы хотите удалить компонент щелкните правой мышкой на заголовке компонента в инспекторе и выберите Удалить компонент (Remove Component). Или Вы можете щелкнуть по иконке рядом с ? в заголовке компонента. Все свойства и установки будут потеряны и это действие отмене не подлежит, так что будьте совершенно уверены в своих действиях, когда удаляете компонент.

Advertisement