【備忘録】Houdini VEXメモ(随時追加)

1.変数宣言

// 整数型
int aaa = 1;
// アトリビュートも作成/追加したい場合
i@aaa = 1;

// 数値型(浮動小数)
float aaa = 1.5;
// アトリビュートも作成/追加したい場合
f@aaa = 1.5;

// ベクター型
vector aaa = set(1,1,1);
// アトリビュートも作成/追加したい場合
v@aaa = set(1,1,1);

// 文字列型
string aaa = "abcd";
// アトリビュートも作成/追加したい場合
s@aaa = "abcd";

2.デフォルトの変数取得

// ポイントの位置(ベクター型)
@P
@P.x
@P.y
@P.z

// 法線(ベクター型)
@N
@N.x
@N.y
@N.z


// ポイントの番号
@ptnum

// ポイントの総数
@numpt


// プリミティブの番号
@primnum

// プリミティブの総数
@numprim


// ディテイルの番号
@detailnum

// ディテイルの総数
@numdetail

3.パラメーター作成

// 整数型 
int bbb= chi(“bbb”);

// 数値型(浮動小数)
float aaa= chf(“aaa”);

// ベクター型
vector ccc= chv("ccc");

// 文字列型
string ddd= chs("ddd");

4.関数

コンソールにプリント - printf

printf("Hello");

置き換え - replace

string text = aaa;
string text_new = replace(text, "a", "b");
// aaa → bbb

アトリビュート取得 - detail/prim/point

// attrwrangleノードのinput1から attr_name という名前のアトリビュートの値をコンポーネントごとに取得
float attr_a = prim(0, "attr_name", @primnum);
float attr_b = point(0, "attr_name", @pointnum);

// attrwrangleノードのinput1から attr_name という名前の1つ目のアトリビュートを取得
float attr_c = detail(0, "attr_name", 0);

// attrwrangleノードのinput2から attr_name という名前の1つ目のアトリビュートを取得
float attr_d = detail(1, "attr_name", 0);


いいなと思ったら応援しよう!