SOP

FindShortestPath SOP

勾配コストやターンコストを追加して、勾配を考慮した経路を探索する。事前にメッシュをConvertline SOPでポリラインのグラフ構造に変換しておき、Wrangleノードをつないで、勾配コストとターンコストを設定する。勾配コストの計算//...
VEX

ポイントのアトリビュートとグループを転写する

リダクションや曲線化などの処理を行ってポイント配置が変わりアトリビュートが消えた場合などに、元のポリラインからポイントアトリビュートを転写する。ポイントのアトリビュートを転写するアトリビュート全種類を調べてコピーしていく。値はパラメトリック...
Math

パースペクティブ射影変換行列

パースペクティブ射影変換行列はレンダリングやカリング等に使われている。カメラ視点の平面で内外判定することができるので、対象のオブジェクトがカメラに写っているかを判定するのに便利。この座標変換をHoudini上で再現してみる。Houdiniで...
Polyline

ポリラインを任意の長さで分割する

//// 線分を分割するためのフラグを立てる// RunOver:Primitives//float threshold = 100; // 区切る長さ(m)float curveLength = primintrinsic(0, "mea...
Polyline

任意の長さ以下のポリラインを消去する

//// 任意の長さ以下のポリラインを消去する// RunOver: Primitives//float threshold = 100;float curveLength = primintrinsic(0, "measuredperim...
VEX

合計が1になるn個の乱数を返す

オブジェクトを並べる時に、最初と最後の位置は確定しているけど、途中はランダムに揺らぎのある配置にしたいような目的に使う関数。// 合計が1になるn個の乱数を返すfunction float[] randomArray(int num; fl...
VEX

境界外を考慮したRay Intersect

intersect()で判定が取れない場所も平面式を使い、近いプリミティブの平面を延長した平面とみなして衝突点を計算する。//// 境界外を考慮したRay Intersect//// input0: 対象// input1: 実際のコリジョ...
SOP

Font SOP

他のノードのアトリビュートを参照するforach_begin2ノードからポイントのvariantアトリビュートを参照する`point("../foreach_begin2",0,"variant",0)`pointwrangle2ノードのD...
SOP

Switch SOP

Switch SOPの条件に書くエクスプレッション例。他ノードのアトリビュートを参照するpoint("op:../foreach_begin1/",0 ,"connectedPrim", 1)detail("op:../pointwrang...
Polyline

ポリラインをメッシュで区切る

メッシュ内を削除するプリミティブの三角形の内外判定をして、内包されている場合はフラグを立てる。//// 点がプリミティブ内に内包されているか判定する// RunOver: Points// input1: primitive////// 外...
スポンサーリンク