Stingray ネットワークでは、「スウィズル」を使用して、XYZ の各コンポーネントが RGB コンポーネントのいずれかの値を取ることを可能にします。
既定では、X は R、Y は G、Z は B のように、RGB 値は XYZ に対応しています。ただし、xxx または rrr の float3 の「スウィズル」文字列を指定できます。このようにすると、赤のチャネルが、float3 の 3 つの浮動小数点数の値すべてに使用されるようになります。rgg または xyy を指定することもできます。この場合、赤のチャネルが最初の浮動小数点数の値に使用され、緑が 2 番目と 3 番目の値に使用されます。
基本カラーや不透明度などの、[標準ベース](Standard Base)ノードへの別のチャネル入力をカスタマイズすることで、異なるシェーダ効果を作成できます。
コンポーネント スウィズルの値を設定する:
- StingRay シェーダの ShaderFX エディタで、[標準ベース](Standard Base)ノード上の調整するアトリビュート([基本カラー](Base Color)など)をクリックします。
注: ShaderFX ノードとは異なり、Stingray ノードに対して表示されるプロパティは、クリックするノード アトリビュートによって変わる可能性があります。また、そのアトリビュートに入力を提供しているのがどのノードかによっても、プロパティが変わることがあります。
- [プロパティ](Properties)パネルで、このアトリビュートに入力するチャネルを指定する、コンポーネント スウィズル文字列を入力します。
[コンポーネント スウィズル](Component Swizzle)フィールドが空の場合、既定値(つまり、xyz には rgb)が使用されます。
左: 既定値: rgb = xyz
右: コンポーネント スウィズル = rrr
例: 頂点カラーの緑チャネルを[アンビエント オクルージョン](Ambient Occlusion)に接続
この手順は、前の手順の続きです。
この例では、恐竜の腹と尾の部分が緑にペイントされています。
- [入力](Input)[マテリアル変数](Material Variable)ノードを選択して、グラフに追加します。タイプを Vector3 に、名前を Color に名前を変更し、[標準ベース](Standard Base)ノードの[基本カラー](Base Color)入力にワイヤリングします。
カラー マップは、モデルに基本カラーを提供します。
- マテリアル エディタで、Color に暗い値を割り当てます。
- [頂点カラー](Vertex Color)ノードの RGBA 出力を、[標準ベース](Standard Base)ノードの[アンビエント オクルージョン](Ambient Occlusion)入力に接続します。
float3 出力が浮動小数点に自動的に変換され、R チャネルが既定で使用されます。
- [標準ベース](Standard Base)ノードの[アンビエント オクルージョン](Ambient Occlusion)アトリビュートをクリックします。[プロパティ](Properties)パネルの[コンポーネント スウィズル](Component Swizzle)アトリビュートに g と入力します。
アンビエント オクルージョンの値が、緑の頂点を持つモデルに表示されるようになります。
アンビエント オクルージョンの頂点カラー コントロールのグラフ
注: これで、[頂点カラー](Vertex Color)ノードの r チャネルと b チャネルを使用して、他の入力を制御できるようになりました(メタルの r や粗さの b など)。