Сэмпл Vertex Animation (анимация вершин)
Этот сэмпл графа материала демонстрирует, как использовать текстуру анимации вершин в UNIGINE.
Анимация вершин может быть преобразована в текстуру с помощью какого-либо из современных графических редакторов (пример содержит текстуры, обработанные в Blender), а затем экспортирована в виде набора из нескольких файлов: файла геометрии (.fbx) и файлов текстур: текстур для модели и текстур, хранящих анимацию (текстура .exr со смещениями положения и текстура .tga с нормалями). Затем эти файлы импортируются в UNIGINE для создания графика материала.
Текстуры с анимацией импортируются со следующими настройками:
Текстура Position offsets | Текстура Normals |
---|---|
|
|
Данные Albedo и Roughness для материала Vertex Animation отбираются через ноду Sample Texture из предоставленных текстур albedo и shading в соответствии с указанными UV-координатами (нода Vertex UV 0). Данные Roughness также умножаются на коэффициент шероховатости после сэмплирования.
Данные Normal пространства объекта для материала получены путем смешивания нормалей пространства касательных, отобранных через ноду Sample Texture из предоставленных текстур normal и animation normal, и последующего преобразования выходных нормалей пространства касательных в нормали объектного пространства (нода Rotate Space).
При этом, когда выполняется выборка обычной текстуры анимации, исходный UV изменяется следующим образом: координата U предоставляется узлом Vertex UV 1, координата V - это время, умноженное на скорость анимации. После выборки выполняется интерполяция вершин (нода Vertex Interpolation).
данные Vertex Position для материала отбираются через ноду Sample Texture из предоставленной текстуры position offsets в соответствии с UV, который изменен следующим образом: координата U предоставляется узлом Vertex UV 1, координата V - это время, умноженное на скорость анимации. После выборки данные умножаются на vertex offset intensity, а затем добавляются к Vertex Position.