ピ・プ

ピアノとプログラムが好きです。Houdiniの勉強内容をまとめたブログです

16Houdini xyzdistとprimuvについて

xyzdistとprimuvについて調べました。

 

xyzdistはジオメトリと指定した座標から一番近いprimitive番号・面までの距離・UVが取得できます。

primuvは指定したジオメトリとアトリビュート名とprimitive番号とuvからアトリビュート名で指定された値を取得できます。

 

xyzdistとprimuvを使うと、指定した座標から最近点のprimitive情報が取得できます。

 

以下がリファレンスです。

http://www.sidefx.com/docs/houdini15.0/vex/functions/xyzdist

http://www.sidefx.com/docs/houdini15.0/vex/functions/primuv

 

 

0番目のPointが任意の点で1番目の点が最近点です。

f:id:karisuton:20170107085532p:plain

 

wrangleのコードはこのようになっています。

int NearPrim=-1;
vector NearPrimUV;
float dist=xyzdist(@OpInput2, @P,NearPrim,NearPrimUV);
vector near_pos = primuv(@OpInput2, "P", NearPrim, NearPrimUV);
addpoint(geoself(),near_pos);
printf("%d %g\n",NearPrim,NearPrimUV);

 

14Houdini AttribWrangleを使ってみた

attribwrangleを使うと点・線・面の追加・削除・編集が自由自在にできます。

 

以下のサイトを参考にした。

Houdiniレシピ:Wrangle Memo 01 | No More Retake

Houdiniレシピ:Wrangle Memo 02 | No More Retake

パラメーターには何が入るのか?Edit String&Expression - Qiita

VEX contexts

 

続きを読む