確認環境 : MaterialX 1.39.1
color3やvector3を要素ごとにfloatに分解したり、逆に複数のfloatを入力として使用してcolor3やvector3に結合したりできます。
分解 (Separate)
color3やvector3からそれぞれの要素を分解し、float値で取得します。
"separate3_color3"ノードを使うと、color3のRGB要素を分解できます。
"separate3_vector3"ノードを使うと、vector3のXYZ要素を分解できます。
これ以外に、vector2, color4, vector4も同様のSeparateが使えます。
結合 (Combine)
複数のfloat要素をcolor3やvector3に結合します。
"combine3_color3"ノードを使うと、floatを使ってcolor3のRGB要素に値を入れます。
"combine3_vector3"ノードを使うと、floatを使ってvector3のXYZ要素に値を入れます。
これ以外に、vector2, color4, vector4も同様のCombineが使えます(これ以外もある)。
floatからcolor3, vector3にコンバート
単一のfloat値を入力し、color3のRGB要素、vector3のXYZ要素に同じ値を指定するノードとして"convert_float_color3"、convert_float_vector3"があります。
"convert_float_color3"ノードを使うと、floatを使ってcolor3のRGBの各要素に同じ値を入れます。
inに0.5と指定した場合、"convert_float_color3"ノードのoutはRGB(0.5, 0.5, 0.5)となります。
"convert_float_vector3"ノードを使うと、floatを使ってvector3のXYZの各要素に同じ値を入れます。
これ以外に、vector2, color4, vector4も同様のconvert_float_xxxが使えます(これ以外もある)。