すべての ScriptableRenderPass 実装で、モーションベクトルテクスチャを入力としてリクエストできます。これを行うには、カスタムレンダラー機能の AddRenderPasses コールバックの ScriptableRenderPass.ConfigureInput メソッドに ScriptableRenderPassInput.Motion フラグを追加します。フレーム内の他の効果がモーションベクトルを使用していない場合、この入力フラグを設定すると、URP レンダラーはモーションベクトルレンダーパスをフレームに挿入します。
シェーダーパスでモーションベクトルテクスチャをサンプリングするには、HLSLPROGRAM セクションでシェーダーリソースを宣言します。
TEXTURE2D_X(_MotionVectorTexture);
SAMPLER(sampler_MotionVectorTexture);
サンプリングを実行するには、以下のマクロを使用します。
SAMPLE_TEXTURE2D_X(_MotionVectorTexture, sampler_MotionVectorTexture, uv);
_X 接尾辞により、XR プラットフォームをターゲットにするときにテクスチャが正しく宣言され、サンプリングされます。