Diffusion Profile Override
HD レンダーパイプライン (High Definition Render Pipeline、HDRP) では、ビュー内で同時に最大 15 のカスタム Diffusion Profile を使うことができます。シーンで 15 以上のカスタム Diffusion Profile を使うには、Volume 内にある Diffusion Profile Override を使います。そうすることで、特定のエリア (または Volume がグローバルの場合はシーンで) で使う Diffusion Profile を特定することができます。
Diffusion Profile Override の使用
Diffusion Profile を Volume に追加するには、
- シーンまたはヒエラルキーで Volume コンポーネントを選択し、Inspector で表示します。
- Inspector で Add Override へ行き、Diffusion Profile Override をクリックします。
API
ランタイム中このオーバーライドにアクセスし制御するためには、Volume スクリプティング API を使用します。Volume システムの仕組みにより、プロパティーは標準 Unity コンポーネントとは異なる方法で編集されます。また、各プロパティーに overrideState があるなど、他にも注意する点があります。これは Volume システムが、設定したプロパティー値と Volume Profile に保存されているデフォルト値のうち、どちらを使うかを指示します。API を正しい利用法についての詳細は、 Volume スクリプティング API を参照してください。
プロパティー
Volume コンポーネントのオーバーライドのプロパティーを編集するには、プロパティーの左にあるチェックボックスを有効にします。これにより HDRP も Volume コンポーネントに対して、デフォルト値ではなく特定されたプロパティー値を使うことになります。チェックボックスを無効にすると、HDRP は設定されたプロパティーを無視し、Volume のデフォルト値を代わりに使います。
プロパティー | 説明 |
---|---|
Diffusion Profile List | Diffusion Profile を各フィールドに割り当てて、Volume 内にあるマテリアルが使う Diffusion Profile のリストを作成します。プラスアイコンをクリックすると、別のフィールドを追加します。リストから Diffusion Profile を削除するには、リストで選択してからマイナスアイコンをクリックします。 |
Fill Profile List With Scene Materials | このボタンをクリックすると Diffusion Profile List にあるすべての Diffusion Profile を削除し、ローカルの Volume の範囲内にあるマテリアルが使う、Diffusion Profile のリストを再度追加します。これは ShaderGraph シェーダーを使うマテリアルには使えませんので、注意してください。 このプロパティーは、Volume コンポーネント内の Mode ドロップダウンから Local を選択したときのみ表示されます。ゲームオブジェクトにコライダーを追加して、Volume の範囲を設定します。 |
詳細
マテリアルが利用可能な Diffusion Profile List にのっていない Diffusion Profile を参照する場合、マテリアルは緑のティントがかかったデフォルトの Diffusion Profile を使います。
Diffusion Profile Override のある Volume がローカルである場合、Fill Profiles With Scene Materials ボタンが表示されます。このボタンをクリックすると、Volume 範囲内のマテリアルから Diffusion Profile を読み込んで、Diffusion Profile List に追加します。これは ShaderGraph シェーダーを使うマテリアルには使えませんので、注意してください
複数の Volume が同時にカメラに影響を与える場合、HDRP は同じ Volume オーバーライドプロパティーに対する複数の値を補間して、重なった値に対応します。ただし、Diffusion Profile Listに最終値を補間することはできません。HDRP は代わりに Priority が最も高い Volume から Diffusion Profile List を選択します。
マテリアルがどの Diffusion Profile を使うかを見つける際には、多少のパフォーマンスオーバーヘッドがあります。つまり、使う拡散プロファイルが少なければそれだけ、処理速度は上がります。使用する Diffusion Profile 数を制限するのではなく、Diffusion Profile Override で検索プロセスを最適化します。シーンが複数あり、それぞれ 1 つの Diffusion Profile のみを使う場合、各シーンからの Diffusion Profile を HDRP グラフィック設定に配置するのではなく、このオーバーライドを各シーンのグローバル Volume に使って、シーンごとに Diffusion Profile を選択することができます。