Version: Unity 6.0 (6000.0)
言語 : 日本語
URP のモーションベクトルの概要
URP のモーションベクトルレンダーパス

URP のビルトインシェーダーによるモーションベクトルのサポート

このセクションでは、さまざまなシェーダータイプがモーションベクトルの計算でサポートするモーションタイプについて説明します。

モーションベクトルは、アルファクリップされたマテリアルを含めて、不透明なマテリアルに対してのみサポートされます。透明マテリアルに対するモーションベクトルはサポートされません。

URP ShaderLab のシェーダー

URP のシェーダー LitUnlitSimple LitComplex LitBaked Lit は、以下のモーションタイプのオブジェクトごとのモーションベクトルをサポートします。

  • リジッド Transform モーション。
  • スケルタルアニメーション。
  • ブレンドシェイプアニメーション。
  • Alembic アニメーション。

特定のマテリアルに対して Alembic モーションベクトルを有効にするには、マテリアル Inspector の Advanced セクションで Alembic Motion Vectors チェックボックスをオンにします。

ノート: Alembic Motion Vectors チェックボックスが有効になっているマテリアルを使用する場所は、PlayableDirectors コンポーネントでレンダリングされる Alembic 頂点アニメーションキャッシュに限ります。このようなマテリアルは、通常のドローコールや MeshRenderer で使用すると、正しいモーションベクトル属性ストリームを読み取ることができないため、モーションベクトルが不正確になります。

URP Shader Graph Lit と Unlit のターゲット

URP Shader Graph LitUnlit のターゲットは、URP ShaderLab シェーダー セクションに記載されているすべてのモーションベクトル機能をサポートします。さらに、それらの Additional Motion Vectors 設定には、以下のオプションがあります。

  • Time-Based: Time ノードの現在と前のフレーム値を使用して、頂点位置サブグラフを 2 回実行することで、Shader Graph 頂点アニメーションのモーションベクトルが自動的に生成されます。このモードが正しく機能するのは、Time ノードに基づいて連続的に計算され、フレーム間で変化しないユーザー定義パラメーター (定数、属性、バッファ、テクスチャ) のみを使用する頂点アニメーションに限られます。

  • Custom: このオプションを選択すると、余分な モーションベクトル 頂点出力が追加されます。この出力を使用して、カスタムオブジェクトのモーションベクトルを指定できます (前のフレームでの各頂点の位置からの 3D ローカルオブジェクト空間オフセット)。前のフレームでの頂点位置の計算方法がわかっている場合は、頂点アニメーション用のカスタムモーションベクトルを作成できます。Unity は、カスタムモーションベクトルを Transform モーション、スケルタルアニメーション、Alembic アニメーションに追加で適用してから、モーションベクトルを最後の 2D スクリーンスペースベクトルに投影します。

  • None: デフォルト値です。シェーダーが頂点出力を変更しない場合や、頂点デフォーメーションをアニメーション化しない場合には、このオプションを使用します。

Time-Based オプションと Custom オプションで、MotionVectors がマテリアルを渡すことができます。オブジェクトのモーションベクトルパスは、オブジェクトの Transform がフレーム間で静止している場合でも、MotionVectorGenerationMode プロパティが Camera に設定されていない限り、すべてのフレームでレンダリングされます。

URP のモーションベクトルの概要
URP のモーションベクトルレンダーパス
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961