docs.unity3d.com
    目次を表示する/隠す

    Custom Pass Volume ワークフロー

    Custom Pass Volume のワークフローは、HDRP Volumes フレームワークに類似しています。ただし、その 2 つの間には次の異なる点があります。

    • Custom Pass Volume はブレンドできませんが、Custom Pass Volume コンポーネント の Fade Radius を使って、フェードすることは可能です。
    • Unity は Custom Pass データをプロジェクト内のアセットではなく、GameObject 上に保存します。
    • 同じ投入ポイントを持つシーンに、1 つ以上の Custom Pass がある場合、Unity は Priority の順位に従ってVolume を実行します。

    シーンのすべてのカメラに影響を与える Custom Pass Volume を作成するには、Custom Pass Volume コンポーネントの Mode を Global に設定します。Volume の境界内にあるカメラのみに影響を与える Custom Pass Volume を作成するには、Custom Pass Volume コンポーネントの Mode を Local に設定します。

    Priority フィールドを使うと、シーンの複数の Custom Pass Volume の実行順位を決定できます。2 つの Custom Pass Volume に同じ優先順位がある場合は、Unity 次の方法でそれらを実行します。

    • 両方の Custom Pass Volume が Global のときは、実行順序は定義されません。
    • 両方の Custom Pass Volume が Local のときは、Unity は最小のコライダーを持つボリュームから先に実行します (フェード半径は無視します)。両方の Volume が同じコライダーを持つ場合は、順序は定義されません。
    • 1 つの Custom Pass Volume が Local でもう 1 つが Global のときは、Unity は Local Volume をまず実行してから、Global Volume を実行します。

    Custom Pass Volume の Mode が Local に設定されている場合、Custom Pass Volume コンポーネント の Fade Radius を使って、通常のレンダリングから Custom Pass への移行をスムーズにすることができます。フェード半径値はメートルで計測され、割り当てられたオブジェクトを変換する際に拡大縮小しません。

    下の画像は、フェード半径の外側境界線をワイヤーフレームボックスとして視覚化しています。この画像のカスタムパスボリュームには、ボリュームを視覚化する Box Collider コンポーネントが含まれています。

    フェード半径がワイヤーフレームとして視覚化された、Box Collider を使って視覚化した Custom Pass Volume

    C# を使ってフェード半径を変更する

    コードでフェード半径を変更するには、シェーダーのビルトイン _FadeValue 変数および C# スクリプトの CustomPass.fadeValue を使います。これらの変数は、コライダーバウンディング Volume から Camera までの距離を示す、0 から 1 のスケールで操作します。詳細は、C# で独自の Custom Pass をスクリプトする を参照してください。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)