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

RayTracingMeshInstanceConfig.motionVectorMode

Declaration

public MotionVectorGenerationMode motionVectorMode;

Описание

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

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

Для Mesh экземпляры лучевой трассировки, 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.