ステップ1 - プロジェクト内のノードを準備する

反射を作成する前に、反射を作成したいノードを準備する必要があります。このステップでは、Instantiator ノードを使用して、反射を作成したいノードのビジュアルコピーを作成し、反射面を作成します。プロジェクト内のノードをオリジンまたは反射としてマークするためにタグを使用します。チュートリアルの次のステップでは、これらのタグを使用して2つのタグフィルタでノードを収集し、それぞれを異なるレンダーパスに渡してレンダリングとカリングを行います。

チュートリアルを入手する

チュートリアルを入手するには、Kanzi Studio の Quick Start ウィンドウで Examples をクリックします。Reflections チュートリアルの横にある ダウンロード をクリックします。

Kanzi Studio はチュートリアルを <KanziWorkspace>/Tutorials ディレクトリにダウンロードします。以下が含まれています。

  • <KanziWorkspace>/Tutorials/Reflections/Start ディレクトリにあるチュートリアルの開始地点のプロジェクト。

  • <KanziWorkspace>/Tutorials/Reflections/Completed ディレクトリにある完成したチュートリアル。

プロジェクト内のノードを準備する

プロジェクト内のノードを準備するには:

  1. Kanzi Studio の Quick Start ウィンドウで Examples をクリックします。Reflections チュートリアルの横にある Open をクリックし、Start project を選択します。

    このプロジェクトでは、Empty Node 3D ノード Content に Trajectory List Box 3D ノードが含まれており、その中に 3D モデルを含む複数の Empty Node 3D ノードとライトがあります。このチュートリアルでは、これらのノードの反射を作成します。

    ../../_images/start6.png
  2. Node Tree で Content ノードを選択し、Trajectory List Box 3D とライトをグループ化し、Properties で Tags プロパティを Origin に設定します。

    ここで、リフレクションを作成したいノードにタグを付けます。

    複数のノードがあり、すべてのノードに対してリフレクションを作成したい場合は、それらを同じノードの下にグループ化し、親ノードにタグを付けることができます。例えば、Content ノードにタグを付けることで、そのすべての子孫ノードにタグを付けることができます。

    ../../_images/select-nodes1.png ../../_images/tagging-origin.png
  3. 反射を作成したいノードから Instantiator ノードを作成します。

    1. Node Tree Alt を押しながら右クリック で Content ノードを選択し、Instantiate Into an Instantiator を選択して、Reflection に名前を変更します。

      Instantiator ノードを使用して、反射を作成したい Content ノード内のノードのビジュアルコピーを作成します。

      ../../_images/instantiate-into-an-instantiator1.png ../../_images/reflection-node-in-project.png
    2. Node Tree で Reflection ノードを選択し、Properties で追加して設定します。

      • Tags から Reflection へ

        このチュートリアルの次のステップで、Reflection タグを使用して、反射を表す Instantiator ノード Reflection のみをレンダリングするように選択します。

      • Render Transformation プロパティフィールド:

        • Scale Uniform を無効にする

        • Scale Y を -1 に

          Scale Y プロパティフィールドを設定することで、Reflection ノードをy軸で反転させ、Content ノード内のノードのミラー反射を作成します。

        • Translation Y を -0.6 に

          Translation Y プロパティフィールドを使用して、起点とその反射との間の距離を制御します。

      ../../_images/reflection-node-in-project.png ../../_images/empty-node-transformation.png ../../_images/reflection-scale-set.png
  4. 反射面を作成します。

    1. Scene ノードの Node Tree 内に Plane ノードを作成し、それに Reflection Plane という名前を付け、Properties で以下を追加して設定します:

      • Tags から Origin へ

      • Mesh Material から VertexPhongMaterial へ

      • Blend Intensity を0.7に

        Blend Intensity で反射レベルを調整します。値が低いほど反射が強くなります。

      • Blend Mode から Alpha: Premultiplied へ

      • Reflection Plane に使用したい色に Ambient Color を設定します。

      ../../_images/reflection-plane.png ../../_images/reflection-plane-material-properties.png
    2. Reflection Plane を原点ノードと反射ノードの間で回転、スケール、配置します。

      Preview で Node tool image0 を使用するか、Properties で Render Transformation プロパティを追加して設定することで、これを行うことができます。例えば、Properties で Render Transformation プロパティを追加し、次のプロパティフィールドを設定します。

      • Scale Uniform を無効にする

      • Scale X を 1.4 に

      • Rotation X を -90 に

      • Translation Y を -0.3 に

      ../../_images/reflection-plane-transform-3d.png ../../_images/end-of-step-11.png

関連項目

Kanzi Studio でタグを使用する方法について詳しく知るには、タグの使用 を参照してください。