プレハブのインスタンスをカスタマイズする¶
プレハブのインスタンスをカスタマイズする場合、そのプレハブインスタンスのプロパティ値を変更しますが、プレハブの構造は保持します。
Kanzi では、次のタイプのプレハブが利用可能です。
プレハブ (あらかじめ作成されたテンプレート) を使用して、アプリケーションを構造化し、一貫性のあるインターフェイスを作成します。プレハブを利用してアプリケーションの構成要素を作成し、アプリケーションのメンテナンスを容易にすることができます。
ノードプレハブの使用 を参照してください。
レンダーパスプレハブを使用して、Kanzi がプロジェクト内で3Dコンテンツをレンダリングする方法を定義するレンダーパスツリーを作成します。
レンダーパスを使用すること を参照してください。
エフェクトを使用して、2Dノードにポストプロセッシングエフェクトを適用します。
2Dノードのエフェクト を参照してください。
ノードプレハブのインスタンスをカスタマイズする¶
ノードプレハブは、それぞれが独自のプロパティを持つノードのツリーを含むことができます。プロジェクト内でプレハブまたはそのインスタンスのいずれかのノードを編集すると、そのプレハブのすべてのインスタンスでそれらのノードが変更されます。プレハブのプロパティ値をオーバーライドすることで、プレハブの各インスタンスに独自のプロパティ値を持たせることができます。例えば、住所録エントリのプレハブを作成する際には、各住所録エントリに異なる名前、番号、写真を表示したいと考えます。
ノードプレハブのインスタンスをカスタマイズするには:
Prefabs で、プレハブのインスタンスでカスタマイズしたいプレハブ内のノードを選択します。
例えば、プレハブの各インスタンスに異なるテクスチャを使用するには、Image ノードを選択します。
Properties で、カスタマイズしたいプロパティの隣にある
をクリックします。Kanzi Studio は、そのプロパティからカスタムプロパティを作成し、それをそのプレハブのルートノードに追加し、そのプレハブのルートノード内のプロパティに
##Templateバインディングを作成します。プレハブルートのバインディング を参照してください。
例えば、そのプレハブの異なるインスタンスで表示したいテクスチャをカスタマイズするには、Image プロパティの横にある
をクリックします。Kanzi Studio はカスタム Image プロパティを作成し、それをそのノードプレハブのルートノードに追加し、Image ノードにそのノードプレハブのルートノード内のカスタム Image プロパティへの ##Templateバインディングを作成します。
Node Tree で、カスタマイズしたいプレハブインスタンスのルートノードを選択します。
Properties で、カスタマイズしたプロパティの隣にある
をクリックし、プロパティの値を設定します。このプレハブのインスタンスのみが、設定した値を使用します。
レンダーパスプレハブのインスタンスをカスタマイズする¶
レンダーパスは、それぞれ独自のプロパティを持つレンダーパスの階層を含むことができます。レンダーパスを編集すると、それらのレンダーパスを使用するすべての 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 を選択します。
2Dエフェクトプレハブのインスタンスをカスタマイズする¶
Library > Effects でエフェクトのプロパティを編集すると、そのエフェクトを使用するすべてのノードの外観が変更されます。エフェクトのプロパティ値をオーバーライドすることで、各エフェクトインスタンスをカスタマイズできます。例えば:
Shadow Effect 2D エフェクトを作成する際、そのエフェクトの異なるインスタンスで影の柔らかさを変えることができます。
Mask Effect 2D エフェクトを作成する際、そのエフェクトの異なるインスタンスでマスクのサイズを変えることができます。
Blur Effect 2D エフェクトを作成する際、そのエフェクトの異なるインスタンスでぼかしの量を変えることができます。
Outline Effect 2D エフェクトを作成する際、そのエフェクトの異なるインスタンスでアウトラインの色を変えることができます。
エフェクトのインスタンスをカスタマイズするには:
エフェクトを作成し、ノードをそれに使用するように設定します。
例えば、Shadow Effect 2D エフェクトを作成し、Image ノードにそれを使用するように設定します。2Dノードにシャドウ効果を作成する を参照してください。
エフェクト内のプロパティをカスタマイズする:
Library で、作成したエフェクトを選択します。カスタマイズしたいプロパティの隣にある Properties で、
をクリックします。Kanzi Studio はそのプロパティからカスタムプロパティを作成し、それをエフェクトプレハブのルートに追加し、2Dエフェクト内のプロパティに
##Templateバインディングを作成します。例えば、Shadow Blur Radius プロパティの隣にある
をクリックします。Kanzi Studio はカスタム Shadow Blur Radius プロパティを作成し、それをルートエフェクトプレハブに追加し、Shadow Effect 2D エフェクトプレハブ内にカスタム Shadow Blur Radius プロパティへの ##Templateバインディングを作成します。
Node Tree または Prefabs で、作成したエフェクトを使用する2Dノードを選択します。Properties で、カスタマイズしたプロパティの横にある
をクリックし、プロパティの値を設定します。Kanzi Studio は2Dノードに To Source バインディングを追加し、そのプロパティの値をノードの
Node2D.Effectプロパティを通じて利用可能なエフェクトインスタンスにプッシュします。複数の2Dノードに同じエフェクトを設定することができ、各2Dノードでプロパティを追加して異なる値を設定することができます。
例えば、Properties で、Shadow Effect 2D Properties > ShadowEffect2D.BlurRadius プロパティを追加し、Image ノードでのみ影の柔らかさを調整するために使用します。
(オプション) カスタマイズしたい各エフェクトプロパティに対して、前のステップを繰り返します。
ヒント
ノードからプロパティとその To Source バインディングを削除したい場合は、そのプロパティを右クリックして Remove Property And Binding を選択します。