Содержание

Шейдер Rotors (Пропеллеры)

Описание

Шейдер rotors применяется для создания саб-мешей пропеллеров транспортных средств — дирижаблей, вертолётов и самолётов.
Предполагается, что вы знакомы с созданием ассетов пропов и зданий с использованием шейдера rotors, а также с базовыми принципами создания транспортных средств.

Пример

LZ-120 Bodensee от GiometryE с кастомными пропеллерами.

Текстуры

Текстуры работают так же, как и для любых пропов с шейдером rotors.

Меш (Mesh)

Меш моделируется и развёртывается (UV mapping) стандартным способом.

Формат

Используйте формат с поддержкой вертекс-цвета, например FBX (2015 или старше) или DAE.

Vertex Paint (цвет вершин)

Цвета вершин управляют различными параметрами пропеллеров rotors:
Для вращения вокруг оси Z синий канал должен быть 255, а переменная FlipXZ в скрипте — true. Это значит, что финальный ассет потребует модификацию Rotors FlipXZ.

LOD

LOD-модели не анимируются и не требуют раскраски вершин.

Импорт

При импорте мешей транспортных средств или саб-мешей игра пересчитывает цвета вершин, поэтому сначала нужно импортировать саб-меш rotors как отдельный проп.

  Чтобы упростить процесс, сохраняйте файл с простым именем, совпадающим с именем ассета. После сохранения перезагрузите игру.

После перезагрузки игры импортируйте или загрузите транспортное средство и импортируйте саб-меш с роторами.

Скрипты

Для корректной работы необходимо выполнить два скрипта:
1. **Copy Vertex Paint** — копирует цвета вершин из пропа в саб-меш транспортного средства.
  1. *Sub-mesh ID* — ID саб-меша, куда копируются цвета.
  2. *Prop Name* — имя ранее импортированного пропа в формате «filename.Asset Name_Data».
2. **Rotors** — применяет шейдер rotors и задаёт параметры «колёс».
  1. *Sub-mesh ID* — ID саб-меша, к которому применяется шейдер.
  2. *FlipXZ* — устанавливается в true, если требуется, как описано в разделе синего канала.
  3. *Tires* — количество различных роторов (колёс).
  4. *Tire Parameter Vectors* — векторы, задающие координаты точек вращения роторов.
Помните, что в игре ось Y отвечает за высоту, поэтому оси Y и Z меняются местами относительно стандартных 3D-программ. Скорее всего, потребуется инвертировать знаки координат X и Z в зависимости от используемого софта.