×
Menu

Animating the UV of textures in 3ds Max (NiUVController)

Оптимальный способ создания лавы, барьеров магии и иных «текущих» поверхностей.
А также слоеных пирогов и пр.
См. внизу страницы.
 
МАХ версий: 3, 4, или 5. Модули экспорта: ФФЕ или ТЕСэкспортер.
Нифтулз  в пролете.
Для постоянной анимации, требуется установки флага «анимации» в max properties.
Но всегда можно допилить в нифскопе.
Смещение текстуры действует на ВСЕ слоты текстур сразу, если все они размещены по нулевому каналу UV.
 
1.     редактор материалов, слот текстуры. Выбрать согласно целям.
2.     Раздел «coordinates». U V offset Tiling.
     U offset — движение по горизонтали.
     U Tiling. - растягивание по горизонтали.
     V offset — движение по вертикали.
     V Tiling. - растягивание по вертикали.
3.     Нажать Auto Key внизу экрана и поставить ползунок времени, к примеру, в 100-ый фрейм.
4.     Отрегулировать U V offset  - например 1.
5.     Остановить запись и смотреть смещение текстуры в окне рендера, если нужно, дополнительно отредактировать U V offsetы.
6.     Закрыть редактор. ПКМ по объекту — Curve Editor. Редактор кривых.
7.     В нем найти слот текстуры. Там - значения U-offset и V-offset.
Отрегулировать кривую до состояния ровной косой линии, без прогиба. Либо вызвать свойства ключа и поправить переходы.
8.      И напоследок, Parametrs Curves Out-of-Range, это значок вверху окна редактора. Выбрать LOOP. Постоянная анимация.
Фактические это и устанавливает флаг 8, видимый в нифскопе.
Имеет смысл заходить сюда, всегда при создании любой зацикленной анимации.
9.     Все. Закрыть, экспортировать.
Флаг Controllers в ТЕСэкспортере - можно НЕ снимать.
 
Примечание.
Самое важно было отредактировать кривые, если этого не сделать, анимация будет «замедляться» перед завершением.
За это отвечал тот «прогиб» линии в редакторе кривых.
Регулируя изгиб линии, можно получать разнообразные эффекта анимаций.
 
Редактировать  U-offsetы лучше по отдельности, если выделены все значение, будет наложение контрольных точек друг на друга.
 
Если  Parametrs Curves не активен, значит выделено что-то лишнее, т.е. не имеющее анимации.
 
Чем больше фреймов и ниже значение offsetов, тем медленнее анимация.
 
Примечание.
     Плавность переходов создается автоматически.
     Перед резким изменением значения, следует поставить ключ фиксирующий предыдущие значения
 
Примечание.
Можно наложить несколько UV контроллеров на одну поверхность.
Для каждой текстуры свой.
Однако, они не должны работать в одно и тоже время!
Если использовать одно время для всех, в игре, работать нормально это не будет!
Но если для одной текстуры указать одно время, для другой другое, а также у всех текстуры разные каналы развертки.
Можно получить рабочую модель в игре!
НО!
В сцене сможет работать только одна такая модель.
Если добавить копию, анимация перестанет работать.
Точнее, сохраниться только на нулевом канале развертки у базовой текстуры.
 
Примечание.
Есть мнение, что нельзя использовать только один канал.
Следует задействовать как минимум два, возможно разных типов.
Т.е. каналов Offset и Tiling.
Если был задействован только один канал, модель в игре может получит проблемы.
Будет работать только одна копия.
При этом, смещение значения одного из каналов может быть "символическим" (например) 0.001, но оно должно быть.

Можно либо кривую поправить, либо вызвать свойства ключа и поменять переходы в нем. Так быстрее и точнее.
...
А также слоеных пирогов и пр.
Т.е. если изменить координаты UV на VW, или WU можно получить принципиально иной результат.
 
UV - VW - WU