ShaderFX でライトを使用する

既定では、ShaderFX シェーダは 3 つのライトにバインドされます。

ShaderFX エディタで Material ノードを選択します。 Maya のアトリビュート エディタ(Attribute Editor)で、MaxNumberLights アトリビュートを使用してシェーダがバインドされるライトの数を調整することができます。

このシーンには 4 つの異なるカラーのライトがあります。MaxNumberLights を 4 に設定すると、4 つのすべてのライトがシェーダに影響を与えます。

注: シェーダに割り当てられたライトの数が多いとシェーダのパフォーマンスが低下する場合があるため、適切な数のライトを割り当てるようにしてください。

また、ライトのサブセットのみを ShaderFX シェーダにバインドすることで、それらのライトのみがシェーダに影響を与えるようにすることができます。

ライトのサブセットを ShaderFX シェーダにバインドするには

  1. Hw Shader Nodes > Lighting > Light List を選択し、Light List ノードを作成します。
    注: Lights アトリビュートの横にある正方形のアイコン は、複数の入力を受け入れることができることを示します。
  2. Hw Shader Nodes > Lighting > Light を選択し、Light ノードを作成します。バインドするライトの数に対して繰り返します。
  3. Light ノードを選択します。Maya のアトリビュート エディタ(Attribute Editor)で、バインドしたいライトを raitLights ドロップダウンリストから選択してください。
  4. Light ノードのそれぞれに対して手順 3 を繰り返します。
  5. それぞれの Light ノードを Light List ノードのLights アトリビュートに接続してください。
  6. Light List ノードのNumber of Lights アトリビュートをMaterial ノードの Number of Lights アトリビュートに接続します。

この例では、シーンの 4 つのライトのうち 3 つ(赤、黄、青)がシェーダにバインドされます。これを上のイメージと比較すると、緑色のライトはシェーダに影響していないことがわかります。