float xyzdist(<geometry>geometry, vector origin)
originから、指定したジオメトリ上の一番近い位置までの距離を調べます。
float xyzdist(<geometry>geometry, vector origin, int &prim, vector &uv)
float xyzdist(<geometry>geometry, vector origin, int &prim, vector &uv, float maxdist)
originから、指定したジオメトリ上の一番近い位置までの距離を調べて、その一番近い位置におけるプリミティブ番号とUV座標を出力引数に書き出します。
float xyzdist(<geometry>geometry, string primgroup, vector origin)
float xyzdist(<geometry>geometry, string primgroup, vector origin, int &prim, vector &uv)
float xyzdist(<geometry>geometry, string primgroup, vector origin, int &prim, vector &uv, float maxdist)
originから、指定したジオメトリ上の指定したプリミティブグループ内の一番近い位置までの距離を調べて、その一番近い位置におけるプリミティブ番号とUV座標を出力引数に書き出します。
Note
スケールが均一でないパックプリミティブ/球プリミティブ/チューブプリミティブ/円プリミティブまでの距離は、トランスフォームされていない空間で一番近いポイントが検索されるので、実際に一番近いポイントが示されるとは限りません。
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
primgroup
プリミティブグループを生成するためのプリミティブグループの名前またはパターン。
SOPグループと同じ構文を使用するので、空っぽの文字列は、すべてのプリミティブに一致します。
@Cd.x>0
などのアトリビュートグループも使用することができますが、
Snippet VOPでは、@
にバックスラッシュを付けてエスケープさせる必要があることに注意してください。
origin
ジオメトリ上の一番近い位置を見つけるための空間内のポジション。
&prim
この関数は、一番近いプリミティブのプリミティブ番号でこの変数を上書きします。プリミティブが見つからなかった場合は-1
です。
&uv
この関数は、一番近いプリミティブ上の一番近いポイントのUV座標でこの変数を上書きします。 primuvを使用することで、この位置におけるアトリビュート値をサンプリングすることができます。
maxdist
検索する最大距離。これを指定することで早期終了が可能になるので、この関数を高速化することができます。
Returns
起点からジオメトリ上の一番近い位置までの距離。
measure |
|
proximity |