レンダーパスを使用すること¶
Kanzi アプリケーションで 3D コンテンツのレンダリングを定義するには、レンダーパスを使用します。
たとえば、レンダーパスで定義できるのは、
どの Camera がそのレンダーパスとその子孫がレンダリングに使用するか。レンダーパスのためのカメラ設定 を参照してください。
レンダーパスがレンダリングするノード。レンダリングのためのノードの収集 を参照してください。
コンテンツを照らすために使用するライト。レンダリングでのライトの使用 を参照してください。
コンテンツをレンダリングするために使用するマテリアル。レンダリングのためのマテリアル設定。
合成ターゲットのフォーマット。コンポジションターゲットへのコンテンツのレンダリング を参照してください。
ポストプロセッシングエフェクト。ポストプロセッシングエフェクトの作成。
特定のレンダリング結果を達成するために、レンダーパスの階層を作成し、それらを組み合わせてレンダーパスのプレハブを形成します。Viewport 2D ノードでは、Render Pass Prefab プロパティが、そのノードの3Dコンテンツをレンダリングするために Kanzi が使用するレンダーパスを設定します。レンダーパスの作成と使用 を参照してください。
Kanzi Studio プロジェクトでレンダーパスを再利用する方法は次のとおりです。
各 Viewport 2D ノードで使用するレンダーパスをカスタマイズします。レンダーパスのインスタンスをカスタマイズする を参照してください。
別のレンダーパスツリーでレンダーパスを再利用します。レンダーパスの再利用 (Reusing render passes) を参照してください。
他の Kanzi Studio プロジェクトで作成したレンダーパスをインポートします。レンダーパスをマージして再利用する を参照してください。
これらのチュートリアルを完了して、レンダーパスの使用方法を学びましょう。
ステンシルを3Dコンテンツに適用し、ステンシルで定義された領域のみをレンダリングします。チュートリアル: 3Dコンテンツにステンシルを適用する を参照してください。
3Dコンテンツの反射を作成します。チュートリアル: リフレクションを作成する を参照してください。
レンダリングの作業負荷を複数のフレームに分散します。チュートリアル: プログレッシブレンダリング を参照してください。
3Dコンテンツにブルームエフェクトを適用します。チュートリアル: ブルームエフェクトを作成する を参照してください。
レンダーパスの作成と使用¶
レンダーパスを作成して使用するには:
Library > Rendering > Render Pass Prefabs Alt を押しながら右クリック で、ルートレンダーパスとして使用したいレンダーパスを選択します。レンダーパス (Render Passes) を参照してください。
Library > Rendering > Render Pass Prefabs では、各トップレベルのレンダーパスがレンダーパスプレハブのルートです。
レンダーパスプレハブ内で、特定のレンダリング結果を達成するためにレンダーパスの階層を作成できます。
たとえば、Group レンダーパスを作成します。
Group レンダーパスを使用するとレンダーパスをまとめることができるため、Viewport 2D ノードで単一のレンダーパスプレハブを参照できます。
Node Tree で、レンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択し、Properties で作成したレンダーパスに Render Pass Prefab プロパティを設定します。
特定のレンダーパスを使用するように Viewport 2D ノードを設定すると、Kanzi はそのレンダーパスで定義されたレンダーパスツリーを Viewport 2D ノードにインスタンス化します。Kanzi は、作成したレンダーパスを使用して Viewport 2D ノードのコンテンツをレンダリングします。
作成したレンダーパス内で、3Dコンテンツをレンダリングするために必要なレンダーパスの階層を作成します。
例:
最も一般的なレンダリング結果のために、Kanzi Studio レンダーパスプリセットを使用してください。Kanzi Studio レンダーパスプリセットを使用する を参照してください。
ナイトビジョンモードまたはインフィニティミラーを作成します。レンダリングのためのマテリアル設定 を参照してください。
3Dコンテンツにポストプロセッシングを適用します。ポストプロセッシングエフェクトの作成 を参照してください。
3Dコンテンツにステンシルを適用して、Kanzi がコンテンツの選択された領域のみをレンダリングするようにします。3Dコンテンツにステンシルを適用する を参照してください。
コンテンツのエイリアシングを減らします。マルチサンプリングの使用 を参照してください。
レンダーパスのインスタンスをカスタマイズする¶
レンダーパスは、それぞれ独自のプロパティを持つレンダーパスの階層を含むことができます。レンダーパスを編集すると、それらのレンダーパスを使用するすべての Viewport 2D ノードでコンテンツのレンダリング方法が変更されます。デフォルトのレンダーパスの値をオーバーライドすることで、レンダーパスの個々のインスタンスに個別の値を持たせることができます。たとえば、合成ターゲットを画面にブリットするレンダーパスの階層を作成する場合、レンダーパスの異なるインスタンスで異なるマテリアルを使用してコンテンツをブリットすることができます。
レンダーパスのインスタンスをカスタマイズするには:
Library > Rendering > Render Pass Prefabs でカスタマイズしたいレンダーパスを選択します。
たとえば、コンポジションターゲットをスクリーンにブリットするために使用するマテリアルをカスタマイズするには、コンテンツをコンポジションターゲットにレンダリングし、その結果をスクリーンにブリットする Compose and Blit Pass レンダーパスプレハブで、Blit レンダーパスを選択します。コンポジションターゲットへのコンテンツのレンダリング を参照してください。
Properties で、カスタマイズしたいプロパティの隣にある
をクリックします。Kanzi Studio は、そのプロパティからカスタムプロパティを作成し、それをレンダーパスプレハブのルートに追加し、レンダーパスプレハブのルート内のプロパティに
##Templateバインディングを作成します。プレハブルートのバインディング を参照してください。たとえば、コンポジションターゲットをスクリーンにブリットするために使用するマテリアルをカスタマイズするには、Material プロパティの横にある
をクリックします。Kanzi Studio は Compose and Blit Pass レンダーパスプレハブに Material プロパティを追加し、Blit レンダーパスに、その Compose and Blit Pass の Material プロパティへの ##Templateバインディングを作成します。
Node Tree または Prefabs で Viewport 2D ノードを選択し、Properties でカスタマイズしたレンダーパスプレハブに Render Pass Prefab プロパティを設定します。
Viewport 2D ノードまたはプレハブをレンダーパスプレハブを使用するように設定すると、Kanzi Studio はその Viewport 2D ノードにレンダーパスプレハブのプロパティを頻繁に使用されるプロパティとして表示します。
Properties で、カスタマイズしたプロパティの隣にある
をクリックし、プロパティの値を設定します。Kanzi Studio は、Viewport 2D ノードに対して、Viewport 2D ノードの
Viewport2D::RenderPassPropertyプロパティを通じて利用可能なレンダーパスプレハブインスタンスにそのプロパティの値をプッシュするソースバインディングを追加します。複数の Viewport 2D ノードを同じレンダーパスプレハブを使用するように設定でき、各 Viewport 2D ノードでレンダーパスプレハブプロパティを追加および設定して異なる値を持たせることができます。
ヒント
ノードからプロパティとその To Source バインディングを削除したい場合は、そのプロパティを右クリックして Remove Property And Binding を選択します。
レンダーパスの再利用 (Reusing render passes)¶
レンダーパスを別のレンダーパスツリーで再利用できます。レンダーパスプレハブの各インスタンスで、そのレンダーパスプレハブ内のレンダーパスのプロパティ値を設定できます。例えば、複数のレンダーパスプレハブのインスタンスを再利用して、レンダーパスチェーンを作成し、ポストプロセッシング効果を実現します。チュートリアル: ブルームエフェクトを作成する を参照してください。
レンダーパスを再利用するには:
Library > Rendering > Render Pass Prefabs Alt を押しながら右クリック で、レンダーパスプレハブをインスタンス化したいレンダーパスを選択し、Render Pass View を選択します。
Properties に Render Pass Prefab プロパティを追加し、インスタンス化したいレンダーパスプレハブに設定します。
Kanzi Studio は、Render Pass View で Render Pass View がインスタンス化するレンダーパスプレハブのすべてのプロパティを表示します。レンダーパスのインスタンスをカスタマイズする を参照してください。
ヒント
レンダーパスプレハブをインスタンス化するには、それをレンダーパスまたは別のレンダーパスプレハブにドラッグします。
レンダーパスをマージして再利用する¶
他の Kanzi Studio プロジェクトからレンダーパスを再利用するには、使用したいプロジェクトにレンダーパスをマージします。
レンダーパスをマージして再利用するには:
別のプロジェクトからレンダーパスを使用したいプロジェクトで、File > Import > Merge Project を選択し、マージしたいレンダーパスを含む Kanzi Studio プロジェクトを選択して、Open をクリックします。
Project Merge ダイアログで:
ダイアログの左下で Select referenced items を有効にします。
Kanzi Studio を設定して、マージしたいレンダーパスプレハブが参照するすべてのアイテムを自動的に選択します。
Rendering > Render Pass Prefabs で、使用したいレンダーパスの階層を含むレンダーパスプレハブを選択します。
Merge をクリックします。
Node Tree で、マージしたレンダーパスを使用してレンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択し、Properties で Render Pass Prefab プロパティをプロジェクトにマージしたレンダーパスプレハブに設定します。