読者です 読者をやめる 読者になる 読者になる

ピ・プ

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

I started writing English since 2017/03/15

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);