ステップ2 - フレーム全体にレンダリングを分散する¶
このステップでは、レンダーパスと Progressive Rendering Viewport 2D ノードを作成し、Car Scene ノードのコンテンツのレンダリングを複数のフレームに分散させます。
レンダリングをレンダーパス間で分散する¶
このセクションでは、Car Scene ノードのコンテンツのレンダリングを分配するレンダーパスを作成します。
レンダリングをレンダーパス間で分散するには:
Library > Rendering で、Render Pass Prefabs を Alt を押しながら右クリック し、Group レンダーパスを選択して、Progressive Rendering という名前を付けます。
Group レンダーパスを使用するとレンダーパスをまとめることができるため、Viewport 2D ノードで単一のレンダーパスプレハブを参照できます。
Node Tree で、RootNode > Grid Layout 2D > Toggle Car Animation > Viewport 2D ノードを選択します。Properties で、Render Pass Prefab プロパティを Progressive Rendering に設定します。
Kanzi は現在、Viewport 2D ノードを Progressive Rendering レンダーパスを使用してレンダリングします。レンダーパスはまだ何も描画していないため、Preview は車を表示しません。
Library の Progressive Rendering レンダーパスプレハブで、Clear レンダーパスを作成します。
このレンダーパスは、深度バッファをクリアします。
インテリア、タイヤ、ウィンドウモデルを表示するノードをレンダリングします。
Library の Progressive Rendering レンダーパスプレハブで、Gather Lights レンダーパスを作成し、Gather Lights Pass 1 という名前を付けます。
このレンダーパスは、Progressive Rendering レンダーパスプレハブを使用する Viewport 2D ノード内の Light ノードを収集します。
Library の Gather Lights Pass 1 で Draw Objects レンダーパスを作成して Draw Objects Pass 1 という名前を付けます。Properties で Object Source プロパティを追加し、それを Filter Pass 1 に設定します。
Object Source プロパティを使用して、Draw Objects Pass 1 レンダーパスを設定し、Filter Pass 1 タグフィルタによって収集された Pass 1 Models ノードをレンダリングします。
Draw Objects Pass 1 レンダーパスは、親の Gather Lights レンダーパスが収集した Light ノードを使用して Pass 1 Models ノードをレンダリングします。
車のモデルの外部パーツを表示するノードをレンダリングします。
Library で、Gather Lights Pass 1 レンダーパスを選択し、Ctrl D を押してレンダーパスを複製し、Gather Lights Pass 2 に名前を変更します。
Gather Lights Pass 2 レンダーパスで、Draw Objects Pass 1 レンダーパスを選択し、Properties セットで:
Name から Draw Objects Pass 2 へ
Object Source から Filter Pass 2 へ
Draw Objects Pass 2 レンダーパスを設定して、Filter Pass 2 タグフィルタによって収集された Pass 2 Models ノードをレンダリングします。
車の影を表示するノードをレンダリングするには、前の手順を繰り返しますが、レンダーパスの名前を Gather Lights Pass 3 と Draw Objects Pass 3 に変更し、Object Source プロパティを Filter Pass 3 に設定します。
フレーム間でレンダリングを分配する¶
このセクションでは、Progressive Rendering Viewport 2D ノードを作成して、Car Scene ノード内のコンテンツのレンダリングを複数のフレームに分散させます。
レンダリングをフレームに分散するには、
Node Tree で、Alt を押しながら右クリック の Toggle Car Animation ノードを選択し、Progressive Rendering Viewport 2D を選択します。
Progressive Rendering Viewport 2D ノードは、レンダリングの作業負荷を複数のフレームに分散します。これにより、単一のフレームでコンテンツをレンダリングするために必要な作業量と時間が削減されます。Kanzi は、Progressive Rendering Viewport 2D ノードによってレンダリングされないすべてのコンテンツを毎フレーム更新します。
Node Tree で、Viewport 2D ノードから Car Scene ノードを Progressive Rendering Viewport 2D ノードにドラッグします。Viewport 2D ノードを選択し、Delete を押します。
Node Tree で、Progressive Rendering Viewport 2D ノードを選択し、Properties で、Render Pass Prefab プロパティを Progressive Rendering に設定します。
Kanzi を設定して、Progressive Rendering レンダーパスプレハブを使用して Progressive Rendering Viewport 2D ノードをレンダリングします。
Kanzi は、Progressive Rendering Viewport 2D ノードによってレンダリングされるすべてのコンテンツをnフレームごとに更新します。ここで、nは Progressive Rendering Viewport 2D ノードが使用するレンダーパスプレハブの子レンダーパスの数です。
Progressive Rendering レンダーパスプレハブには 1 つの Clear レンダーパスと 3 つの Gather Lights レンダーパスが含まれているため、Kanzi は 4 フレームごとに Progressive Rendering Viewport 2D ノードのコンテンツを更新します。
Library > Rendering > Render Pass Prefabs > Progressive Rendering で Clear レンダーパスを選択します。Properties で Clear Color 0 プロパティを追加し、以下を設定します。
Lightness (L) を 0 に
Alpha (A) を 0 に
この方法で、透明な黒色でカラーバッファをクリアします。
Preview で変更を反映させるには、Preview で Restart をクリックします。
Kanzi は、Progressive Rendering Viewport 2D ノードを使用して、4フレームで Car Model ノードのコンテンツを更新します。
カラーバッファをクリアします。
ライトを収集し、Pass 1 Models ノードをレンダリングします。
ライトを収集し、Pass 2 Models ノードをレンダリングします。
ライトを収集し、Car Shadow ノードをレンダリングします。
Kanzi は、Viewport 2D ノード Gauges のコンテンツを毎フレーム更新します。
関連項目¶
プログレッシブレンダリングについて詳しく知るには、レンダリングを複数のフレームに分散する をご覧ください。
Kanzi のレンダーパスについて詳しく知るには、レンダリング を参照してください。
Kanzi アプリケーションでフィルタを使用する方法の詳細については、フィルタ を参照してください。
オブジェクトソースについて詳しく知るには、オブジェクトソース (Object Sources) を使用する を参照してください。