ボリューム
HD レンダーパイプライン (High Definition Render Pipeline、HDRP) は Volume (ボリューム) フレームワークを使います。Volume はそれぞれ、グローバルまたはローカルの境界を持ちます。また、最終値を演算するために Camera の位置に応じて HDRP が補間する、シーン設定プロパティー値が含まれます。例えば、ローカルの Volume を使ってフォグの色と密度などの環境設定を変更し、シーンのさまざまなエリアの雰囲気を変えることができます。
Volume コンポーネントは、Camera を含むどのゲームオブジェクトにも追加できますが、各ボリュームに専用のゲームオブジェクトを作成することが望ましいです。Volume コンポーネント自体には、実際のデータが含まれておらず、代わりに補間する値を含む Volume Profile (ボリュームプロファイル) を参照します。Volume Profile にはすべてのプロパティーにデフォルト値が含まれており、デフォルトでそれらを非表示にします。これらのプロパティーを表示する、または変更するには、デフォルト値のオーバーライドを含む構造体、Volume オーバーライド を Volume Profile に追加しなければなりません。
シーンにはたくさんのボリュームを含むことができるため、各ボリュームには、シーン内でその他のボリュームとどう相互作用するかを制御するプロパティーが含まれています。グローバル ボリュームはシーンに Camera がある場所すべてて Camera に影響を与え、ローカル ボリュームは、コライダーの境界内に Camera が入っている場合に、Camera に影響を与えます。
ランタイム時に、HDRP はシーン内のアクティブなゲームオブジェクトに添付した有効化されたボリュームのすべてを見て、最終シーン設定に対する各ボリュームの付与を決定します。HDRP は Camera 位置および上記で説明された Volume プロパティーを使って、この付与を計算します。その後非ゼロ付与のすべてのボリュームを使って、すべての Volume オーバーライドにある各プロパティーに補間最終値を計算します。
ボリュームは、異なる組み合わせの Volume オーバーライドを含むことができます。例えば、Physically Based Sky Volume オーバーライドを持つボリュームがある一方で、Exponential Fog Volume オーバーライドを持つボリュームもあります。
同じプライオリティーを持つボリュームに関しては、HDRP が評価する順序を保証できません。つまり作成順序に応じて、グローバルボリュームがローカルボリュームよりも優先されます。その結果、Camera はローカルボリュームの境界内に入ることができますが、もっぱらシーンのグローバルボリュームの Volume Override プロパティーだけを使います。
プロパティー
プロパティー | 説明 |
---|---|
Mode | ドロップダウンから、ボリュームが Camera に影響を与えられるかを計算するために HDRP が使う方法を選択します。 • Global: ボリュームは境界持たず、シーン内のすべての Camera に影響を与えます。 • Local: ボリュームの境界を特定でき、Volume はその境界内の Camera のみに影響を与えます。Volume のゲームオブジェクトにコライダーを追加して、境界設定に使います。 |
Blend Distance | HDRP がブレンディングを開始する、ボリュームのコライダーからの最も遠い距離です。値が 0 の場合、HDRP はこのボリュームのオーバーライドを即時に適用します。 このプロパティーは、Mode ドロップダウンから Local を選択したときのみ表示されます。 |
Weight | ボリュームがシーンに与える影響量です。HDRP は Camera 位置と Blend Distance を使って計算する値に、この乗数を適用します。 |
Priority | HDRP はこの値を使って、ボリュームがシーンに与える影響量が等しいときに、どのボリュームを使うかを決定します。HDRP はプライオリティーの高いボリュームを最初に使います。 |
Profile | HDRP がこのボリュームを扱うために使うプロパティーを格納する、Volume オーバーライドを含む Volume Profile アセットです。 |
Volume Profile
Profile フィールドは、HDRP がシーンのレンダリングに使うプロパティーを含む Asset である、Volume Profile を格納します。この Volume Profile は編集ができ、または異なる Volume Profile を Profile フィールドに割り当てることができます。さらに New および Clone ボタンを使って、Volume Profile を作成したり、既存のものをクローンすることができます。
ローカルボリュームの設定
ボリュームで Mode ドロップダウンから Local を選択する場合、トリガーコライダーをゲームオブジェクトに添付して境界を定義しなければなりません。ボリュームをクリックして Inspector 内で開いてから、Add Component > Physics > Box Collider を選択します。Volume の境界を定義するには、Box Collider の Size フィールドと Transform の Scale フィールドを調整します。簡単な Box Collider からより複雑な凸状 Mesh Collider まで、どんな種類の 3D コライダーでも使えます。ただしパフォーマンスの理由から、頂点の多い Mesh Collider を走査するとリソース負荷がかかるため、簡単なコライダーを使うべきです。ローカルボリュームにも Blend Distance があります。これは、HDRP が該当ボリュームの設定と Camera に影響を与えるその他の設定をブレンドし始める、コライダーサーフェスから外側の距離を表します。