テクスチャを繋ぐとき、なぜRに繋ぐのか

このようなノードを組む場合、RGBチャンネルに繋いだ場合はエラーを吐いてしまいますが、RやG、Bに繋ぐと動作するのはなぜなのでしょうか。


演算系のノードは基本的に同じ形の変数同士でないと行えません。

上の画像でエラーが出ている場所の場合を見てみると
[R G B]は3つの数値を含んだデータをAに入れているのに対し
[X Y]は2つの数値を含んだデータをBに入れています。
これだと計算ができないためエラーが出ます

それに対してRにつなぐとなぜエラーが出ないかというと
Rは1つしかデータを含んでいないように見えますが、
データが1つの時は実質的に[R R]であり、[R R R]でもあり、[R R R R]でもあると認識されます。
よってMultiplyでは[R R] * [X Y]になるのでエラーが出ず正常に進むわけです。

もしRGBとXYの値で計算をしたいという場合であれば
[RGB]*[XYZ]の形になるようにもう1個Appendを増やしてやるのが良いと思われます。(Zは1とか影響のない数値でいいので)

1 Like