Шейдер Rotors (Пропеллеры)
Описание
Шейдер rotors применяется для создания саб-мешей пропеллеров транспортных средств — дирижаблей, вертолётов и самолётов.
Предполагается, что вы знакомы с созданием ассетов пропов и зданий с использованием шейдера rotors, а также с базовыми принципами создания транспортных средств.
Пример
LZ-120 Bodensee от GiometryE с кастомными пропеллерами.
Текстуры
Текстуры работают так же, как и для любых пропов с шейдером rotors.
Меш (Mesh)
Меш моделируется и развёртывается (UV mapping) стандартным способом.
Формат
Используйте формат с поддержкой вертекс-цвета, например FBX (2015 или старше) или DAE.
Vertex Paint (цвет вершин)
Цвета вершин управляют различными параметрами пропеллеров rotors:
- Красный канал (Red) — контролирует видимость роторов.
- Для дирижаблей 0 означает, что роторы будут полностью видимы во время вращения, а 255 — полностью видимы в остановленном состоянии.
- Значения между 0 и 255 позволяют иметь частичную видимость всегда.
- Зелёный канал (Green) — определяет, какой из параметров «колёс» (типа шины), заданных в скрипте, будет использовать ротор:
- 0 — параметр шины 0
- 8 — параметр шины 1
- 16 — параметр шины 2
- и так далее.
- Синий канал (Blue) — задаёт ось вращения ротора:
- 0 — вращение вокруг оси Y, как у вертолётного ротора.
- 255 — вращение вокруг оси X (как колесо транспорта) или Z (как пропеллер самолёта).
Для вращения вокруг оси Z синий канал должен быть 255, а переменная FlipXZ в скрипте — true. Это значит, что финальный ассет потребует модификацию Rotors FlipXZ.
LOD
LOD-модели не анимируются и не требуют раскраски вершин.
Импорт
- Проп (Prop)
При импорте мешей транспортных средств или саб-мешей игра пересчитывает цвета вершин, поэтому сначала нужно импортировать саб-меш rotors как отдельный проп.
Чтобы упростить процесс, сохраняйте файл с простым именем, совпадающим с именем ассета. После сохранения перезагрузите игру.
- Саб-меш (Sub-mesh)
После перезагрузки игры импортируйте или загрузите транспортное средство и импортируйте саб-меш с роторами.
Скрипты
Для корректной работы необходимо выполнить два скрипта:
1. **Copy Vertex Paint** — копирует цвета вершин из пропа в саб-меш транспортного средства.
- *Sub-mesh ID* — ID саб-меша, куда копируются цвета.
- *Prop Name* — имя ранее импортированного пропа в формате «filename.Asset Name_Data».
2. **Rotors** — применяет шейдер rotors и задаёт параметры «колёс».
- *Sub-mesh ID* — ID саб-меша, к которому применяется шейдер.
- *FlipXZ* — устанавливается в true, если требуется, как описано в разделе синего канала.
- *Tires* — количество различных роторов (колёс).
- *Tire Parameter Vectors* — векторы, задающие координаты точек вращения роторов.
Помните, что в игре ось Y отвечает за высоту, поэтому оси Y и Z меняются местами относительно стандартных 3D-программ. Скорее всего, потребуется инвертировать знаки координат X и Z в зависимости от используемого софта.