Unity 6.3
0 онлайн 101 гостей 3 в системе
Вход
Камера Шаг 68 из 82

Пример вектора движения в шейдере в 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.