Пример вектора движения в шейдере в URP
Любая реализация ScriptableRenderPass может запрашивать текстуру вектора движения в качестве входа. Для этого добавьте флаг ScriptableRenderPassInput.Motion в метод ScriptableRenderPass.ConfigureInput в обратный вызов AddRenderPasses вашей пользовательской функции Renderer Feature. Если никакой другой эффект в кадре не использует векторы движения, установка этого флага на входе заставляет рендер URP вводить в кадр проход рендеринга вектора движения.
Чтобы семплировать текстуру вектора движения в вашем проходе шейдера, объявьте ресурс шейдера для нее в разделе HLSLPROGRAM:
TEXTURE2D_X(_MotionVectorTexture);
SAMPLER(sampler_MotionVectorTexture);
Для выполнения выборки используйте следующий макрос:
SAMPLE_TEXTURE2D_X(_MotionVectorTexture, sampler_MotionVectorTexture, uv);
Последняя строка _X гарантирует, что текстура будет правильно объявлена и семплирована при использовании платформы XR.