グループを関数に変換してシェーダ コードを検証する

新規グループを作成する

  1. グループ ビューに入るには、グループ ノードの をクリックします。
  2. Add ノードと Color ノードを作成するには、それぞれ、Hw Shader Nodes > Math > Add および Hw Shader Nodes > Value > Color を選択します。
  3. 次のようにノードを接続します。
    • ColorRGB アトリビュートを AddValue アトリビュートに接続します。
    • MultiplyResult アトリビュートを AddValue アトリビュートに接続します。
    • AddResult アトリビュートをグループ ノードの Diffuse Color アトリビュートに接続します。
  4. 新しく作成された Color ノードを選択します。アトリビュート エディタ(Attribute Editor)で、名前 OffsetColor と順序番号 3 を入力します。

    OffsetColor がグループ ノード アトリビュート エディタ(Attribute Editor)に表示されます。

グループを関数に変換する

  1. MultiplyAdd を選択し、Group > Create Group を選択します。
  2. 新しく作成されたグループで をクリックします。グループ ビューでグループ ノードを選択し、アトリビュート エディタ(Attribute Editor)名前(Name)フィールドに MyColorFunction と入力します。
  3. アトリビュート エディタ(Attribute Editor)で、これらのノードの出力がシェーダ コードの関数としてカプセル化されるようにグループは関数(Group is a function)を有効にします。
  4. グループ ノードのポートに一意の名前を付けます。現在、すべてのポートが Value という名前であるため、シェーダは無効になり、ビューポート 2.0 で赤色で表示されます。

    アトリビュート エディタ(Attribute Editor)で、次の情報を入力します。

    • Active socket: 0、Active socket label: ColorA
    • Active socket: 1、Active socket label: Multiplier
    • Active socket: 2、Active socket label: ColorB
    注: グループを関数に変換する場合、グループ ノードのすべてのポートに一意の名前がある必要があります。そうでない場合、シェーダは無効になります。
  5. グループ ビューを終了し、Tools > Compute Graph を選択します。

シェーダ ファイルを保存してシェーダ コードを調べる

  1. Material ノードを選択し、アトリビュート エディタ(Attribute Editor)でシェーダ ファイルのファイル名を入力し、 を押して HwShader/ディスクに保存(HwShader/Save to Disk)をクリックします。

    シェーダ ファイルの保存先のパスは、ShaderFX エディタ ウィンドウでツールチップとして表示されます。

  2. シェーダ ファイルを調べ、MyColorFunction を検索します。

    MyColorFunction はシェーダ ファイル内の関数として定義されています。SHADERDATA 構造体は、入力として表示されます。これは既定の設定です。

  3. よりクリーンなコードのためにこの設定を無効にするには、MyColorFunction グループのグループ ビューに入ってグループ ノードを選択し、アトリビュート エディタ(Attribute Editor)DATA 構造体を関数として追加しない(Don't add DATA struct as function input)を有効にします。

    シェーダ ファイルを再保存し、SHADERDATA 構造体が入力パラメータとして表示されなくなっていることを確認します。