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

RayTracingGeometryInstanceConfig.motionVectorMode

Declaration

public MotionVectorGenerationMode motionVectorMode;

Описание

Режим движения вектора.

Unity настраивает следующие встроенные униформы шейдера для вычисления векторов движения в коде HLSL: unity_MotionVectorsParams, unity_MatrixPreviousM и unity_MatrixPreviousMI.

Для экземпляров трассирования лучей unity_MotionVectorsParams является векторной униформой. Ее компонентные значения следующие:

  • компоненты x и z равны 0
  • компонент y равен 0, если вектор движения имеет режим MotionVectorGenerationMode.ForceNoMotion. В противном случае он равен 1.
  • компонент w равен 0, если вектор движения имеет режим MotionVectorGenerationMode.Camera. В противном случае он равен 1.

unity_MatrixPreviousM и unity_MatrixPreviousMI являются матрицами экземпляров и их обратными, соответственно, используемыми в предыдущем кадре. Обратите внимание, что Unity обновляет эти матрицы только тогда, когда в Scene есть Camera, который использует флаг DepthTextureMode.MotionVectors в Camera.depthTextureMode.

Для доступа к матрице экземпляров трассирования лучей в ближайшем попадании, любом попадании и пересечениях используйте функции ObjectToWorld или WorldToObject HLSL.

Дополнительные ресурсы: MotionVectorGenerationMode.