Перейти к основному содержимому

Компоненты

В компонентах хранятся настройки объекта. Здесь — что делает каждый компонент и какие его настройки часто удивляют.

Компоненты здесь названы так, как их показывает инспектор. Если в движке у компонента другое имя, оно указано рядом в виде кода.

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

Трансформация​

Где стоит объект, как он повёрнут и какого он размера.

  • Положение задаётся в метрах.
  • Масштаб — это просто множитель.
  • Поворот везде, где вы его видите, задаётся в градусах.
В скриптах поворот в радианах

Инспектор и порты патчей показывают градусы и сами их пересчитывают. Только в скрипте поворот читается и записывается в радианах. Прямой угол там — это Math.PI / 2.

Направление взгляда​

Поворачивает объект к точке в мире или к точке, смещённой от его собственного положения. Пригодится для табличек, которые смотрят на посетителя, или для света, который следит за целью.

Пока компонент включён, поворотом управляет он

Если задавать или анимировать поворот где-то ещё, ничего не будет происходить. Сначала уберите Направление взгляда.

3D-модель​

Форма объекта (GeometryComponent). Встроенных форм пятнадцать: куб, сфера, цилиндр, капсула, круг, конус, плоскость, треугольник, кольцо, тор, три многогранника, выдавливание и тело вращения. Ещё геометрия может ссылаться на импортированную геометрию.

Две формы особенно полезны:

  • Выдавливание придаёт глубину нарисованному контуру. Подходит для логотипов, вывесок и вырезанных фигур.
  • Тело вращения вращает профиль вокруг оси. Подходит для ваз, бутылок и колонн.

Чтобы скруглить углы куба, задайте Радиус скругления больше нуля.

Материал​

Как выглядит поверхность. В компоненте материала хранится список слотов, поэтому у одного объекта может быть несколько материалов. Типов материалов восемь, и у каждого свой набор текстур.

→ Материалы

Текст​

Размер шрифта задаётся в пикселях. 1000 px — это один метр в мире, так что текст в 72 px высотой около 7 см. На столе его хорошо видно, а через всю комнату уже не прочитать.

Текст появляется чуть позже остального объекта. Так задумано: иначе на один кадр мелькнул бы текст не того размера.

Видео и аудио​

Оба компонента проигрывают медиафайлы, но настройки по умолчанию у них разные:

  • Видео начинается без звука, и звук у него не объёмный. Браузеры не запускают видео со звуком сами.
  • Аудио начинается со звуком, и звук объёмный: чем ближе посетитель, тем громче.

Один и тот же файл могут проигрывать несколько объектов, каждый сам по себе. Два телевизора могут показывать один ролик и не мешать друг другу.

Не используйте компонент аудио для звуковых эффектов

Он играет только один звук за раз, поэтому новый запуск обрывает предыдущий. Шаги звучат прерывисто, а несколько выстрелов сливаются в один. Запускайте эффекты из скрипта: каждый вызов играет свой отдельный звук. → ctx.audio

3D-текст​

3D-текст — это не обычный текст. Это настоящая геометрия с глубиной: на неё падает свет, она отбрасывает тени, и ей можно дать материал, как любому другому объекту.

  • 3D-текст подходит для вывесок и заголовков, которые стоят в мире.
  • Обычный текст — для всего, что нужно прочитать издалека.

Скелеты и кости​

Импортированный персонаж приходит со скелетом и костями. Править их напрямую приходится редко. Благодаря им модель гнётся, когда играет её анимация. Отдельную кость можно анимировать и на таймлайне.

Копии и частицы​

Два компонента для множества одинаковых вещей:

  • Копии повторяют геометрию одного объекта тысячи раз и при этом не тормозят. Подходят для травы, толпы и поля астероидов. → Префабы
  • Частицы (ParticleEmitterComponent) создают огонь, дым, искры и дождь — и тоже не тормозят. → Частицы

Путь​

Кривая, проведённая через точки. Из неё можно сделать геометрию: трубу, верёвку или дорогу. А можно использовать её как маршрут, по которому что-то движется. → Пути

Камера и дополнительные виды​

Камера решает, что видит посетитель. Доп. вид камеры рисует вторую картинку с камеры — для мини-карты или монитора видеонаблюдения. → Камеры

Граф шейдера​

Материал, который вы собираете из нод, — для вида, которого не добиться стандартными типами материалов. На объект его ставят через слот материала, как любой сохранённый материал. Компонент графа шейдера (ShaderGraphComponent) хранит полноэкранный эффект, и инспектор показывает его как Постобработка. → Графы материалов

Префаб​

Отмечает объект как копию сохранённой группы объектов, которую можно использовать повторно. → Префабы

Тени и морф-таргеты​

Тень задаёт, отбрасывает ли объект тени и падают ли тени на него. Настройка действует и на всё, что лежит внутри объекта.

Морф-таргеты — это формы, которые приходят вместе с моделью: выражения лица, сворачивающийся флаг, персонаж, переносящий вес с ноги на ногу. У каждой формы есть вес от 0 до 1. Все их можно анимировать на таймлайне.

Компоненты физики​

Твёрдое тело задаёт, как движок двигает объект:

  • Динамическое — падает, сталкивается, его можно толкнуть.
  • Статическое — никогда не двигается, но останавливает всё остальное.
  • Кинематическое — двигается, только когда его двигаете вы, и расталкивает всё на своём пути.
  • Нет — никакой физики ни у этого объекта, ни у всего, что внутри него, даже той твёрдой формы, которую объект получил бы сам по себе.

Ещё у него есть настройка для мультиплеера — кому принадлежит тело:

  • shared — один объект на всю комнату. Все видят ящик в одном и том же месте.
  • local — у каждого участника своя копия, которую он считает сам.

Персонаж игрока должен быть local. Если сделать его общим, то, когда идёт один человек, двигаются аватары всех участников.

Коллайдер — это форма, которую использует физика: куб, сфера, цилиндр, капсула, плоскость или auto, чтобы форма бралась из геометрии.

Начальная скорость — это толчок, который объект получает один раз, когда появляется. Потом толкать его она перестаёт.

Состояние физики можно только читать. Движок записывает туда, как быстро движется объект и остановился ли он, чтобы скрипт мог это прочитать.

→ Как всё это работает вместе, рассказано на странице Физика.

Теги​

Короткие метки, которые плагин или скрипт ставит на созданные им объекты, чтобы потом их найти. В редакторе теги не видны. Если вы создаёте сцены из кода, отмечайте тегами свои объекты.


Дальше: Материалы — как выглядят поверхности.