int isbound(string variable_name)
VEX内のパラメータをジオメトリアトリビュートで上書きすることができます(アトリビュートがレンダリングされるサーフェス上に存在する場合)。 ジオメトリがデフォルトのアトリビュートを上書きすれば、この関数は1を返し、そうでなければ0を返します。
Note
この関数は、すべてのコンテキストで定義されていますが、Displacement、Surface、SOPのコンテキストでのみ役に立ちます。 現在のところ、それ以外のコンテキストでは、ジオメトリアトリビュートをVEX変数にバインドすることができません。
SOP関数での例:
sop mycolor(vector uv=0; string map="") { if (isbound("uv") && map != "") { // ユーザは、このテクスチャ座標を持っているので、テクスチャマップに基づいてVelocityを作成します。 v = colormap(map, uv); } else { // テクスチャ座標がないので、乱数を使います。 v = random(id); } }
Note
isbound
は、アトリビュートが存在しているかどうかを伝えません。これは、アトリビュートがバインドされているかどうかを伝えます。
Wrangleに@a
を追加してa
をバインドした場合、isbound
はCVEXで期待通りに動作します。@a
を使用しなかった場合、CVEX関数にはアトリビュートのバインド先となるパラメータがないので、バインドされません。
utility |