Встроенная поддержка шейдера для вектора движения в URP
В этом разделе описывается, какие типы движения поддерживают различные типы шейдеров для вычисления вектора движения.
URP поддерживает векторы движения только для непрозрачных материалов, включая материалы с альфа-обрезкой. URP не поддерживает векторы движения для прозрачных материалов.
URP ShaderLab шейдеры
Шейдеры URP, Lit, Unlit, Simple Lit, Complex Litи Baked Lit поддерживают векторы движения по объектам для следующих типов движения:
- Жесткое движение трансформации.
- Скелетная анимация.
- Анимация смешивания форм.
- Анимационная анимация.
Чтобы включить векторы движения аламбы для конкретного материала, включите Векторы движения флажок в Продвинутый уровень раздел материальный инспектора.
Примечание:: Используйте материалы с Векторы движения флажок включен только на кэшах анимации вершин алебика, отображаемых с PlayableDirectors компонент. При использовании таких материалов с регулярными вызовами и MeshRenderers, материалы не могут считывать правильный поток атрибутов вектора движения, что приводит к неправильным векторам движения.
URP Включенные и выключенные мишени Shader Graph
Целевые объекты URP Shader Graph Lit и Unlit поддерживают все возможности вектора движения, описанные в разделе URP ShaderLab шейдеров. Кроме того, они имеют настройку Дополнительные векторы движения со следующими параметрами:
Time-Based: векторы движения для анимации вершины Shader Graph генерируются автоматически путем запуска подграфа положения вершины дважды с текущими и предыдущими значениями кадра для узла Время. Этот режим работает правильно только для анимаций вершин, которые вычисляются процедурно на основе узла Время и используют только пользовательские параметры (константы, атрибуты, буферы, текстуры), которые не меняются между кадрами.
Таможня: при выборе этой опции добавляется дополнительная Вектор движения Вывод вершины. Вывод позволяет указать пользовательский вектор движения объекта: 3D локальное смещение пространства объекта для каждой вершины от того места, где она находилась в предыдущем кадре. Если вы знаете, как вычислить положение вершины в предыдущем кадре, вы можете создать собственные векторы движения для анимации вершин. Unity применяет настраиваемые векторы движения аддитивно для преобразования движения, анимации скелета и анимации ламбата перед проецированием вектора движения на окончательный 2D экран космического вектора.
Нет: значение по умолчанию. Используйте эту опцию, когда шейдер либо не модифицирует выход вершины, либо не анимирует деформацию вершины.
Опции Time-Based и Таможня позволяют проход MotionVectors по материалам. Векторный проход движения объекта отображается для них каждый кадр, даже когда преобразование объекта неподвижно между кадрами, если свойство MotionVectorGenerationMode не установлено на Camera.