Polyline ポリラインの高さを滑らかにする 環境:Houdini 20.0.751ターンが1つだけのシンプルなカーブポリラインを3次ベジェ曲線を使って高さだけ整えます。元のポリラインカーブ。ポイントのアトリビュートにフォワードベクトルのNが設定されていることが前提です。ノードネットワ... 2025.01.08 Polyline
Mesh Sweep形状のUV クロス側のポリライン断面形状にuvが0~1までの範囲に収めるようにする。各ポイントに0~1にスケールした距離を記録する。//// UVのパラメトリック座標を計算する// Run Over: Primitives//float curveLe... 2024.12.27 Mesh
ツール ViewerStateで動的なハンドルを使う ViewerStateでハンドルを利用する時のサンプルコードを書いてみました。構成HDAを作成し、UIにはMultiparm Block(list)を「points」という名前で追加し、ここにFloat Vector3を「pt_#」という名... 2024.12.23 ツール
ツール UIのパラメータが変更された時のコールバック Viewer StateのHDAでUIのパラメータの値が変更された時に呼び出される関数をつくる。コードではaddEventCallback()を使い、UIパラメータのshowCollisionというトグルをオンオフするたびにonParmCh... 2024.12.18 ツール
数学 ベジェ曲線の仕組み ベジェ曲線の特徴・ベジェ曲線は制御点によって定義される・曲線は必ず制御点の内側に描画される制御点の線形補完を繰り返すことで滑らかな曲線を生成します。1次のベジェ曲線P = (1-t)P0 + tP11次のベジェ曲線は一本の直線です。tはパラ... 2024.12.13 数学
数学 角度を0~360°に正規化する オイラー角でよく使うけど忘れがちな計算のまとめ。随時追加していきます。0~180°の角度を0~360°に正規化するXZ平面にてベクトル同士の成す角度を内積とアークコサインで計算すると、0~180°に収まるが、これを0~360°にしたい場合、... 2024.12.09 数学
Python カメラの注視点をあわせる 環境:Houdini 20.0.751ツール作業では必須のカメラ注視点を特定の座標に移動させる動作をPythonで再現してみます。以下のコードはカメラの注視点を(1.0, 0.5, -1.5)に移動させる例です。カメラと注視点の座標関係はそ... 2024.12.08 Python
Mesh メッシュの四角形化 環境:Houdini 20.0.751平面的なメッシュの三角プリミティブを四角形にする。三角形プリミティブの一番長い辺が隣り合っているペアを探し、プリミティブをひとつに作り直している。//// 三角形ポリゴンの長いエッジから隣り合うプリミテ... 2024.12.03 Mesh
Mesh ポリライン間をメッシュで埋める 2本のポリラインの間を縫合するようにメッシュを生成します。ポリライン同士が同じ方向に並んでおり、交差していないことが前提となります。処理の流れ2本のポリラインを用意して、上下のポイントを左から順につないでいきます。下のラインを基準に処理を行... 2024.11.27 Mesh
Mesh 三角形プリミティブの対角線の向きを変える 三角形ポリゴンのペアを探し、対角線の向きを変える。極端に伸びている三角形を減らし、均一化することができる。For-Loop SOPで何回も繰り返すと、さらに整う。処理の流れWrangleをつなぎ、一番長い辺が隣り合う三角形のペアをつくり、イ... 2024.11.26 Mesh