Это старая версия документа!
Шейдер Flag (Флаг)
Описание
Шейдер flag используется для создания пропов с объектами, которые движутся на ветру — например, флагов или тканей.
В одном пропе можно использовать несколько текстур флагов, которые меняются в зависимости от положения пропа, так же, как это реализовано у стандартных флагов.
Предполагается, что вы знакомы с обычным процессом создания ассетов пропов.
Примеры
Различные примеры пропов с применением шейдера flag.
Текстуры
Текстуры работают так же, как у обычных пропов.
Меш (Mesh)
Меш моделируется стандартным способом.
Формат
Используйте форматы с поддержкой вертекс-цвета, такие как FBX (2015 или старше) или DAE.
Несколько текстур флагов
Если у вас несколько текстур флагов на одной текстуре, то UV-развёртка должна быть выполнена на нижний правый флаг.
Vertex Paint (цвет вершин)
Цвета вершин определяют, какие части пропа реагируют на движение ветра и, при использовании нескольких текстур, каким образом меняется UV-развёртка.
- Если вы не планируете использовать несколько текстур в одном пропе, как у стандартных флагов, то можно использовать полный диапазон от белого до чёрного для задания интенсивности движения каждого вертекса:
- Белый — отсутствие движения
- Чёрный — максимальное движение
- Если используете несколько текстур в одном пропе, нельзя применять оттенки серого — это нарушит UV-развёртку при смене текстур. В таком случае вся раскраска должна быть полностью чёрной, и управлять силой ветра нельзя.
Иллюстрация
Vertex paint примеров пропов. Только флаг слева использует несколько текстур внутри одного пропа.
LOD
LOD-модели также движутся на ветру и должны обрабатываться аналогично основным моделям. Текстура LOD должна совпадать с основной, но может иметь более низкое разрешение.
Скрипт
Скрипт доступен [здесь](#) *(замени ссылкой)*.
Сетка флагов (Flag Grid)
Для использования нескольких текстур в одном пропе с переключением по позиции, как у стандартных флагов, текстуры должны быть расположены в регулярной сетке. Если вы не используете несколько текстур — параметры сетки можно оставить по умолчанию.
Иллюстрация
Сетка флагов для примера пропа: 5 колонок, 1 ряд; верхний левый угол (0,0), нижний правый (1024, 364).
- Колонки и ряды — количество столбцов и строк в сетке текстур. - Верхний левый и нижний правый углы — координаты в пикселях этих углов сетки относительно верхнего левого угла текстуры (0,0).
Параметры движения
- Сила (Strength)
Пересчитывает vertex paint для уменьшения силы ветрового движения. Если используется несколько текстур в одном пропе, управление силой отключено, чтобы не сломать UV-развёртку.
- Ось (Axis)
Определяет ориентацию оси вращения ветрового движения по координатам X, Y, Z.
Ось задаётся вектором — например, одинаковые значения X и Y повернут ось на 45°. Важно: в игре ось Y — высота, поэтому оси Y и Z меняются местами относительно стандартных 3D-программ.
- Точка поворота (Pivot)
Определяет точку смещения оси, вокруг которой происходит движение, позволяя перемещать эту ось в пространстве.