BindChannels コマンドにより、頂点データがグラフィックハードウェアにどのようにマッピングされるかを指定できます。
Note: BindCannel は頂点シェーダー入力によってバインドが制御されている場合のように、頂点シェーダーと Fragment シェーダーのプログラミング が使用されているときはまったく効果がありません。最近では、固定間数頂点処理の代わりにプログラマブルシェーダーを使用するのが賢明です。
デフォルトでは、Unity がバインディングを計算しますが、カスタムのバインディングを使用したい場合もあるでしょう。
例えば、1 つ目のテクスチャステージで使用されるよう設定された 1 つ目の UV と 2 つ目のテクスチャステージで使用されるように設定された 2 つ目の UV をマッピングするか、頂点色を考慮するようハードウェアに指示できます。
BindChannels { Bind "source", target }
ハードウェアの ターゲット に頂点データの ソース マップを指定します。
ソース は、次のうちのいずれかになります:
ターゲット は、次のうちのいずれかになります。
Unity には、ターゲットと、それにマッピングされるソースに関して厳しい制約があります。ソースと目標は、Vertex、Normal、Tangent および Color に対して一致する必要があります。メッシュからのテクスチャ ( Texcoord および Texcoord1 ) はテクスチャ座標のターゲット (すべてのテクスチャステージに対しては Texcoord、指定したステージに対して、TexcoordN ) にマッピングできます。
BindChannels に対して、通常、次の 2 つの使用事例があります。
// 最初の UV の組を最初のテクスチャのステージへ、
// 2 番目の UV の組を2 番目のテクスチャのステージへマップ
BindChannels {
Bind "Vertex", vertex
Bind "texcoord", texcoord0
Bind "texcoord1", texcoord1
}
// 最初の UV の組をすべてのテクスチャのステージにマップ
// かつ頂点カラーを使用
BindChannels {
Bind "Vertex", vertex
Bind "texcoord", texcoord
Bind "Color", color
}