レンダリングでのライトの使用¶
Gather Lights レンダーパスを使用して、シーン内の 3D ノードを照らすためのライトノードをノードのリストから収集します。
ライトを収集しています¶
Gather Lights レンダーパスは、シーン内の 3D ノードを照らすためのライトノードを収集します。
デフォルトでは、Gather Lights レンダーパスは、シーン内のすべてのライトノード、または最も近い祖先の Node List レンダーパスが提供するライトノードのいずれかを収集します。
たとえば、このレンダーパスプレハブでは、Gather Lights レンダーパスは親の Node List レンダーパスが提供するライトノードを収集します。
同じ Render Pass Prefab 内の任意の Node List レンダーパスを使用して、Gather Lights レンダーパスにライトノードを提供できます。フィルターを使用してレンダーパスにノードを渡す方法については、フィルタ を参照してください。
ライトの収集に使用する Node List レンダーパスを設定するには、以下の手順に従います。
Library > Rendering > Render Pass Prefabs で、ライトノードの収集に使用する Gather Lights レンダーパスを選択します。
Properties で + Add Binding をクリックし、Binding Editor で設定します。
Property から Node List へ
Expression を Node List レンダーパスの Output Node List プロパティに設定
たとえば、Gather Lights レンダーパスの兄弟である Node List レンダーパスが提供するライトノードを収集するには、Expression を以下に設定します。
{@../Node List/NodeListRenderPass.OutputNodeList}
Save をクリックします。
収集したライトノードを使用して3Dコンテンツをレンダリングします。ライティング3D (Lighting 3D) ノード を参照してください。
ライティング3D (Lighting 3D) ノード¶
Draw Objects レンダーパスと Draw Objects With Material レンダーパスを使用して 3D ノードを描画します。デフォルトでは、Kanzi は Draw Objects レンダーパスまたは Draw Objects With Material レンダーパスが描画する 3D ノードを、最も近い祖先の Gather Lights レンダーパスが提供するライトノードを使用して照らします。
たとえば、このレンダーパスプレハブでは、Kanzi は Draw Objects レンダーパスが描画する 3D ノードを、親の Gather Lights レンダーパスが収集したライトノードを使用して照らします。
Gather Lights レンダーパスには出力プロパティがあり、それぞれにその Gather Lights レンダーパスが収集した特定のタイプのライトのセットが含まれます。Draw Objects レンダーパスまたは Draw Objects With Material レンダーパスが、同じレンダーパスプレハブ内の任意の Gather Lights レンダーパスが提供するライトを使用するように手動で設定できます。
3D ノードを照らすために出力ライトを使用する Gather Lights レンダーパスを設定するには、以下の手順に従います。
Library > Rendering > Render Pass Prefabs で、3D コンテンツの描画に使用する Draw Objects レンダーパスまたは Draw Objects With Material レンダーパスを選択します。
Properties で + Add Binding をクリックし、Binding Editor で設定します。
使用したいライトのタイプに Property します。
Directional Lights の Directional Light ノード用
Point Lights の Point Light ノード用
Spot Lights の Spot Light ノード用
Expression を、使用する Gather Lights レンダーパスの出力ライトプロパティに設定
Output Directional Lights の Directional Light ノード用
Point Light ノードのための Output Point Lights
Output Spot Lights の Spot Light ノード用
たとえば、バインディングを追加するレンダーパスの兄弟である Gather Lights レンダーパスの Directional Light ノードを使用するには、以下のように設定します。
Property から Directional Lights へ
Expression へ
{@../Gather Lights/GatherLightsRenderPass.OutputDirectionalLights}Save をクリックします。
前の手順を繰り返して、使用したい他のタイプのライトノードにバインディングを追加します。
レンダーパスを使用する:
Node Tree で、レンダリングしたい3Dコンテンツを含む Viewport 2D ノードを選択します。
Properties で、Render Pass Prefab プロパティを、ライトノードの収集に使用する Gather Lights レンダーパスと、3D コンテンツを描画する Draw Objects レンダーパスまたは Draw Objects With Material レンダーパスを含むレンダーパスプレハブに設定します。