Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход

Встроенная поддержка шейдера для вектора движения в 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.