レンダーパスを使用すること

Kanzi アプリケーションで 3D コンテンツのレンダリングを定義するには、レンダーパスを使用します。

たとえば、レンダーパスで定義できるのは、

特定のレンダリング結果を達成するために、レンダーパスの階層を作成し、それらを組み合わせてレンダーパスのプレハブを形成します。Viewport 2D ノードでは、Render Pass Prefab プロパティが、そのノードの3Dコンテンツをレンダリングするために Kanzi が使用するレンダーパスを設定します。レンダーパスの作成と使用 を参照してください。

Kanzi Studio プロジェクトでレンダーパスを再利用する方法は次のとおりです。

これらのチュートリアルを完了して、レンダーパスの使用方法を学びましょう。

レンダーパスの作成と使用

レンダーパスを作成して使用するには:

  1. Library > Rendering > Render Pass Prefabs Alt を押しながら右クリック で、ルートレンダーパスとして使用したいレンダーパスを選択します。レンダーパス (Render Passes) を参照してください。

    Library > Rendering > Render Pass Prefabs では、各トップレベルのレンダーパスがレンダーパスプレハブのルートです。

    レンダーパスプレハブ内で、特定のレンダリング結果を達成するためにレンダーパスの階層を作成できます。

    たとえば、Group レンダーパスを作成します。

    Group レンダーパスを使用するとレンダーパスをまとめることができるため、Viewport 2D ノードで単一のレンダーパスプレハブを参照できます。

    ../../_images/create-group-render-pass.png
  2. Node Tree で、レンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択し、Properties で作成したレンダーパスに Render Pass Prefab プロパティを設定します。

    特定のレンダーパスを使用するように Viewport 2D ノードを設定すると、Kanzi はそのレンダーパスで定義されたレンダーパスツリーを Viewport 2D ノードにインスタンス化します。Kanzi は、作成したレンダーパスを使用して Viewport 2D ノードのコンテンツをレンダリングします。

    ../../_images/viewport-2d-in-the-project.png ../../_images/render-pass-prefab-set-to-group-render-pass.png
  3. 作成したレンダーパス内で、3Dコンテンツをレンダリングするために必要なレンダーパスの階層を作成します。

    例:

レンダーパスのインスタンスをカスタマイズする

レンダーパスは、それぞれ独自のプロパティを持つレンダーパスの階層を含むことができます。レンダーパスを編集すると、それらのレンダーパスを使用するすべての Viewport 2D ノードでコンテンツのレンダリング方法が変更されます。デフォルトのレンダーパスの値をオーバーライドすることで、レンダーパスの個々のインスタンスに個別の値を持たせることができます。たとえば、合成ターゲットを画面にブリットするレンダーパスの階層を作成する場合、レンダーパスの異なるインスタンスで異なるマテリアルを使用してコンテンツをブリットすることができます。

レンダーパスのインスタンスをカスタマイズするには:

  1. Library > Rendering > Render Pass Prefabs でカスタマイズしたいレンダーパスを選択します。

    たとえば、コンポジションターゲットをスクリーンにブリットするために使用するマテリアルをカスタマイズするには、コンテンツをコンポジションターゲットにレンダリングし、その結果をスクリーンにブリットする Compose and Blit Pass レンダーパスプレハブで、Blit レンダーパスを選択します。コンポジションターゲットへのコンテンツのレンダリング を参照してください。

    ../../_images/blit-render-pass-in-render-target-tree.png
  2. Properties で、カスタマイズしたいプロパティの隣にある 編集を有効にする をクリックします。

    Kanzi Studio は、そのプロパティからカスタムプロパティを作成し、それをレンダーパスプレハブのルートに追加し、レンダーパスプレハブのルート内のプロパティに ##Template バインディングを作成します。プレハブルートのバインディング を参照してください。

    たとえば、コンポジションターゲットをスクリーンにブリットするために使用するマテリアルをカスタマイズするには、Material プロパティの横にある 編集を有効にする をクリックします。Kanzi Studio は Compose and Blit Pass レンダーパスプレハブに Material プロパティを追加し、Blit レンダーパスに、その Compose and Blit Pass の Material プロパティへの ##Template バインディングを作成します。

    ../../_images/publish-material-property.png ../../_images/template-binding-to-blit-material.png
  3. Node Tree または Prefabs で Viewport 2D ノードを選択し、Properties でカスタマイズしたレンダーパスプレハブに Render Pass Prefab プロパティを設定します。

    Viewport 2D ノードまたはプレハブをレンダーパスプレハブを使用するように設定すると、Kanzi Studio はその Viewport 2D ノードにレンダーパスプレハブのプロパティを頻繁に使用されるプロパティとして表示します。

    ../../_images/viewport-2d-in-the-project.png ../../_images/render-pass-prefab-set-to-compose-and-blit-pass.png
  4. Properties で、カスタマイズしたプロパティの隣にある プロパティを追加 をクリックし、プロパティの値を設定します。

    Kanzi Studio は、Viewport 2D ノードに対して、Viewport 2D ノードの Viewport2D::RenderPassProperty プロパティを通じて利用可能なレンダーパスプレハブインスタンスにそのプロパティの値をプッシュするソースバインディングを追加します。

    複数の Viewport 2D ノードを同じレンダーパスプレハブを使用するように設定でき、各 Viewport 2D ノードでレンダーパスプレハブプロパティを追加および設定して異なる値を持たせることができます。

    ../../_images/group-render-pass-material-frequently-used.png ../../_images/tosource-binding-to-material.png

    ヒント

    ノードからプロパティとその To Source バインディングを削除したい場合は、そのプロパティを右クリックして Remove Property And Binding を選択します。

レンダーパスの再利用 (Reusing render passes)

レンダーパスを別のレンダーパスツリーで再利用できます。レンダーパスプレハブの各インスタンスで、そのレンダーパスプレハブ内のレンダーパスのプロパティ値を設定できます。例えば、複数のレンダーパスプレハブのインスタンスを再利用して、レンダーパスチェーンを作成し、ポストプロセッシング効果を実現します。チュートリアル: ブルームエフェクトを作成する を参照してください。

レンダーパスを再利用するには:

  1. Library > Rendering > Render Pass Prefabs Alt を押しながら右クリック で、レンダーパスプレハブをインスタンス化したいレンダーパスを選択し、Render Pass View を選択します。

    ../../_images/create-render-pass-view.png
  2. Properties に Render Pass Prefab プロパティを追加し、インスタンス化したいレンダーパスプレハブに設定します。

    Kanzi Studio は、Render Pass View で Render Pass View がインスタンス化するレンダーパスプレハブのすべてのプロパティを表示します。レンダーパスのインスタンスをカスタマイズする を参照してください。

    ../../_images/render-pass-view-add-render-pass-prefab-property.png ../../_images/render-pass-view-properties.png

ヒント

レンダーパスプレハブをインスタンス化するには、それをレンダーパスまたは別のレンダーパスプレハブにドラッグします。

レンダーパスをマージして再利用する

他の Kanzi Studio プロジェクトからレンダーパスを再利用するには、使用したいプロジェクトにレンダーパスをマージします。

レンダーパスをマージして再利用するには:

  1. 別のプロジェクトからレンダーパスを使用したいプロジェクトで、File > Import > Merge Project を選択し、マージしたいレンダーパスを含む Kanzi Studio プロジェクトを選択して、Open をクリックします。

    ../../_images/merge-project-menu-option.png
  2. Project Merge ダイアログで:

    1. ダイアログの左下で Select referenced items を有効にします。

      Kanzi Studio を設定して、マージしたいレンダーパスプレハブが参照するすべてのアイテムを自動的に選択します。

    2. Rendering > Render Pass Prefabs で、使用したいレンダーパスの階層を含むレンダーパスプレハブを選択します。

    Merge をクリックします。

    ../../_images/merge-gaussian-blur.png
  3. Node Tree で、マージしたレンダーパスを使用してレンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択し、Properties で Render Pass Prefab プロパティをプロジェクトにマージしたレンダーパスプレハブに設定します。

    ../../_images/viewport-2d-to-use-gaussian-blur.png

関連項目

レンダリング

チュートリアル: ブルームエフェクトを作成する

チュートリアル: 3Dコンテンツにステンシルを適用する

チュートリアル: リフレクションを作成する

チュートリアル: プログレッシブレンダリング

Kanzi Studio レンダーパスプリセットを使用する

レンダリングのためのマテリアル設定

ポストプロセッシングエフェクトの作成

3Dコンテンツにステンシルを適用する

マルチサンプリングの使用

コンポジションターゲットへのコンテンツのレンダリング

バインディング (Bindings)

プロジェクトのマージ