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.