なぜ、プログラミング(VEX言語)をHoudini で使うか?
VEXで書くと結構便利だったり、すでにあるノードよりも速かったり
モデリングだけでなく自分だけのアルゴリズムを作れたりする
Wranglerの元において我々は平等である
今回は軽めのモデリングから、下図のようなポリラインを作っていきます
順序は
1.原点(0,0,0)に点を作る。頂点番号は0
2.真上に頂点を作る。頂点番号は1
3.頂点番号0 と 頂点番号1 を繋げる
geoノードを召喚
まずはWrangle君を出してみましょう
*RunoverをDetailに変えましょう
重要
RunoverはDetailでないと作れません
point wrangle でジオメトリを作ることは可能ですが、始めから何も繋いでいない場合
何も作れません。
”無”からは何も産まれないように....
1.さっそく書いてみましょう 原点に頂点をつけよう
addpoint() で頂点を作ることができます。
引用:int addpoint(int geohandle, vector pos);
int geohandle はノードに何も繋がられていないなら0でもいい
vector pos は頂点を作りたい(三次元空間)の位置を指定します
vector p0=set(0,0,0);
//原点を設定
int a=addpoint(0,p0);
//頂点を作る
コラム 頂点が小く見えると感じたら....
(ここは無視してもいいよ)
キーボードの"D"を押して、(Display Option) 表示設定を開き
Gemetory ->Particals->Point Size
で頂点の大きさを変えられます。
2.真上に頂点を作ろう
vector p1=set(0,1,0);
//頂点の場所を設定
int b=addpoint(0,p1);
//頂点を作る
頂点と頂点を繋げる
addprim()で二つ頂点を結びます。
引用:int addprim(int geohandle, string type, int pt0, int pt1);
string typeで作りたい種類を選びます
今回は”polyline"を作るので、"polyline"と打ちましょう。
int pt0,int pt1,int pt2.....というのはどの頂点をつなぐのかを欄なので
a,bを入れましょう
↑引用元 公式サイトより
addprim(0,"polyline",a,b);
//繋げる
完成
ここからはまだ物足りない人たちへ
Normalノード、Resample ノードを繋げ
Resampleノードのcurveuをオンにする
最後にpointwrangle を付け加えと書き、右上の[+](Create Spare Parameter)ボタンを押す
v@P.z+=chramp("ramp",@curveu);
そうすると 勾配のスライダーができます。
これは f@curveuにそってスライダーの値を加えています。
つまり
v@P(頂点のポジション、位置)の
XYZの v@P. zの位置に
chramp();の値を加算(+)をします。
歯車のドロップダウンから様々なプリセットがあるので
どんどんさわっていきましょう
最後にrevolveにつければ壺の完成!