Компоненты
В компонентах хранятся настройки объекта. Здесь — что делает каждый компонент и какие его настройки часто удивляют.
Компоненты здесь названы так, как их показывает инспектор. Если в движке у компонента другое имя, оно указано рядом в виде кода.
Тип и значение по умолчанию для каждого поля смотрите в справочнике компонентов.
Трансформация
Где стоит объект, как он повёрнут и какого он размера.
- Положение задаётся в метрах.
- Масштаб — это просто множитель.
- Поворот везде, где вы его видите, задаётся в градусах.
Инспектор и порты патчей показывают градусы и сами их пересчитывают. Только в скрипте поворот
читается и записывается в радианах. Прямой угол там — это Math.PI / 2.
Направление взгляда
Поворачивает объект к точке в мире или к точке, смещённой от его собственного положения. Пригодится для табличек, которые смотрят на посетителя, или для света, который следит за целью.
Если задавать или анимировать поворот где-то ещё, ничего не будет происходить. Сначала уберите Направление взгляда.
3D-модель
Форма объекта (GeometryComponent). Встроенных форм пятнадцать: куб, сфера, цилиндр, капсула,
круг, конус, плоскость, треугольник, кольцо, тор, три многогранника, выдавливание и тело
вращения. Ещё геометрия может ссылаться на импортированную геометрию.
Две формы особенно полезны:
- Выдавливание придаёт глубину нарисованному контуру. Подходит для логотипов, вывесок и вырезанных фигур.
- Тело вращения вращает профиль вокруг оси. Подходит для ваз, бутылок и колонн.
Чтобы скруглить углы куба, задайте Радиус скругления больше нуля.
Материал
Как выглядит поверхность. В компоненте материала хранится список слотов, поэтому у одного объекта может быть несколько материалов. Типов материалов восемь, и у каждого свой набор текстур.
Текст
Размер шрифта задаётся в пикселях. 1000 px — это один метр в мире, так что текст в 72 px высотой около 7 см. На столе его хорошо видно, а через всю комнату уже не прочитать.
Текст появляется чуть позже остального объекта. Так задумано: иначе на один кадр мелькнул бы текст не того размера.
Видео и аудио
Оба компонента проигрывают медиафайлы, но настройки по умолчанию у них разные:
- Видео начинается без звука, и звук у него не объёмный. Браузеры не запускают видео со звуком сами.
- Аудио начинается со звуком, и звук объёмный: чем ближе посетитель, тем громче.
Один и тот же файл могут проигрывать несколько объектов, каждый сам по себе. Два телевизора могут показывать один ролик и не мешать друг другу.
Он играет только один звук за раз, поэтому новый запуск обрывает предыдущий. Шаги звучат прерывисто, а несколько выстрелов сливаются в один. Запускайте эффекты из скрипта: каждый вызов играет свой отдельный звук. → ctx.audio
3D-текст
3D-текст — это не обычный текст. Это настоящая геометрия с глубиной: на неё падает свет, она отбрасывает тени, и ей можно дать материал, как любому другому объекту.
- 3D-текст подходит для вывесок и заголовков, которые стоят в мире.
- Обычный текст — для всего, что нужно прочитать издалека.
Скелеты и кости
Импортированный персонаж приходит со скелетом и костями. Править их напрямую приходится редко. Благодаря им модель гнётся, когда играет её анимация. Отдельную кость можно анимировать и на таймлайне.
Копии и частицы
Два компонента для множества одинаковых вещей:
- Копии повторяют геометрию одного объекта тысячи раз и при этом не тормозят. Подходят для травы, толпы и поля астероидов. → Префабы
- Частицы (
ParticleEmitterComponent) создают огонь, дым, искры и дождь — и тоже не тормозят. → Частицы
Путь
Кривая, проведённая через точки. Из неё можно сделать геометрию: трубу, верёвку или дорогу. А можно использовать её как маршрут, по которому что-то движется. → Пути
Камера и дополнительные виды
Камера решает, что видит посетитель. Доп. вид камеры рисует вторую картинку с камеры — для мини-карты или монитора видеонаблюдения. → Камеры
Граф шейдера
Материал, который вы собираете из нод, — для вида, которого не добиться стандартными типами
материалов. На объект его ставят через слот материала, как любой сохранённый материал. Компонент
графа шейдера (ShaderGraphComponent) хранит полноэкранный эффект, и инспектор показывает его
как Постобработка. → Графы материалов
Префаб
Отмечает объект как копию сохранённой группы объектов, которую можно использовать повторно. → Префабы
Тени и морф-таргеты
Тень задаёт, отбрасывает ли объект тени и падают ли тени на него. Настройка действует и на всё, что лежит внутри объекта.
Морф-таргеты — это формы, которые приходят вместе с моделью: выражения лица, сворачивающийся флаг, персонаж, переносящий вес с ноги на ногу. У каждой формы есть вес от 0 до 1. Все их можно анимировать на таймлайне.
Компоненты физики
Твёрдое тело задаёт, как движок двигает объект:
- Динамическое — падает, сталкивается, его можно толкнуть.
- Статическое — никогда не двигается, но останавливает всё остальное.
- Кинематическое — двигается, только когда его двигаете вы, и расталкивает всё на своём пути.
- Нет — никакой физики ни у этого объекта, ни у всего, что внутри него, даже той твёрдой формы, которую объект получил бы сам по себе.
Ещё у него есть настройка для мультиплеера — кому принадлежит тело:
- shared — один объект на всю комнату. Все видят ящик в одном и том же месте.
- local — у каждого участника своя копия, которую он считает сам.
Персонаж игрока должен быть local. Если сделать его общим, то, когда идёт один человек, двигаются аватары всех участников.
Коллайдер — это форма, которую использует физика: куб, сфера, цилиндр, капсула, плоскость или
auto, чтобы форма бралась из геометрии.
Начальная скорость — это толчок, который объект получает один раз, когда появляется. Потом толкать его она перестаёт.
Состояние физики можно только читать. Движок записывает туда, как быстро движется объект и остановился ли он, чтобы скрипт мог это прочитать.
→ Как всё это работает вместе, рассказано на странице Физика.
Теги
Короткие метки, которые плагин или скрипт ставит на созданные им объекты, чтобы потом их найти. В редакторе теги не видны. Если вы создаёте сцены из кода, отмечайте тегами свои объекты.
Дальше: Материалы — как выглядят поверхности.