レンダリングでのライトの使用

Gather Lights Render Pass を使用して、シーン内の3Dノードを照らすためのライトノードをノードのリストから収集します。

../../_images/gather-lights-render-pass1.svg

ライトを収集しています

Gather Lights Render Pass は、シーン内の3Dノードを照らすためのライトノードを収集します。

デフォルトで、Gather Lights Render Pass はシーン内のすべてのライトノード、または最も近い先祖の Node List Render Pass によって提供されるライトノードを収集します。

例えば、このレンダーパスプレハブでは、Gather Lights Render Pass が親の Node List Render Pass によって提供されるライトノードを収集します。

../../_images/node-list-gather-lights-draw-objects.png

Node List Render Pass を同じ Render Pass Prefab で使用して、Gather Lights Render Pass にライトノードを提供できます。フィルタを使用してノードをレンダーパスに渡す方法については、フィルタ を参照してください。

ライトを収集するために使用したい Node List Render Pass を設定するには、

  1. Library > Rendering > Render Pass Prefabs で、ライトノードを収集するために使用したい Gather Lights Render Pass を選択します。

    ../../_images/gather-lights-render-pass-in-library.png
  2. Properties で + Add Binding をクリックし、Binding Editor で設定します。

    • Property から Node List へ

    • Node List Render Pass の Output Node List プロパティに Expression します。

      例えば、Gather Lights Render Pass の兄弟である Node List Render Pass によって提供されるライトノードを収集するには、Expression を次のように設定します。

      {@../Node List Render Pass/NodeListRenderPass.OutputNodeList}
      

    Save をクリックします。

    ../../_images/gather-lights-render-pass-node-list-binding.png
  3. 収集したライトノードを使用して3Dコンテンツをレンダリングします。ライティング3D (Lighting 3D) ノード を参照してください。

ライティング3D (Lighting 3D) ノード

Draw Objects Render Pass と Draw Objects With Material Render Pass レンダーパスを使用して3Dノードを描画します。Kanzi はデフォルトで、Draw Objects Render Pass または Draw Objects With Material Render Pass によって描画された3Dノードを、最も近い先祖の Gather Lights Render Pass によって提供されるライトノードを使用して照らします。

例えば、このレンダーパスプレハブ Kanzi は、Draw Objects Render Pass が描画する3Dノードを照らし、親 Gather Lights Render Pass によって収集されたライトノードを使用します。

../../_images/gather-lights-draw-objects.png

Gather Lights Render Pass には、Gather Lights Render Pass によって収集された特定のタイプのライトのセットを含む出力プロパティがあります。Draw Objects Render Pass または Draw Objects With Material Render Pass を手動で設定して、同じレンダーパスプレハブ内の任意の Gather Lights Render Pass によって提供されるライトを使用することができます。

../../_images/gather-lights-render-pass-properties.png

3Dノードを照らすために使用したい出力ライトを持つ Gather Lights Render Pass を設定するには、

  1. Library > Rendering > Render Pass Prefabs で、3Dコンテンツを描画するために使用する Draw Objects Render Pass または Draw Objects With Material Render Pass を選択します。

    ../../_images/draw-objects-render-pass-sibling.png
  2. Properties で + Add Binding をクリックし、Binding Editor で設定します。

    • 使用したいライトのタイプに Property します。

      • Directional Lights の Directional Light ノード用

      • Point Lights の Point Light ノード用

      • Spot Lights の Spot Light ノード用

    • 使用したい Gather Lights Render Pass の出力ライトプロパティに Expression を設定します。

      • Output Directional Lights の Directional Light ノード用

      • Point Light ノードのための Output Point Lights

      • Output Spot Lights の Spot Light ノード用

    例えば、バインディングを追加するレンダーパスの兄弟である Gather Lights Render Pass の Directional Light ノードを使用するには、次のように設定します。

    • Property から Directional Lights へ

    • Expression へ

      {@../Gather Lights Render Pass/GatherLightsRenderPass.OutputDirectionalLights}
      

      Save をクリックします。

    ../../_images/directional-lights-binding-editor.png
  3. 前の手順を繰り返して、使用したい他のタイプのライトノードにバインディングを追加します。

    ../../_images/draw-objects-render-pass-light-bindings.png
  4. レンダーパスを使用する:

    1. Node Tree で、レンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択します。

    2. Properties で、Render Pass Prefab プロパティを、ライトノードを収集するために使用する Gather Lights Render Pass と 3D コンテンツを描画する Draw Objects Render Pass または Draw Objects With Material Render Pass を含むレンダーパスプレハブに設定します。

関連項目

レンダリング

フィルタ

ライトノードを使用する

レンダリングのためのノードの収集