概要
Houdini での制作は基本的にノードベースであり、プログラミングを必要としません。
しかし Houdini がサポートする PythonやWrangle などの言語を使うことで、これらのノードを制御し、さらに柔軟な表現が可能になります。
本記事では、VEX にて扱うことができるハーフエッジについて Wrangle を用いて解説します。
SideFX:https://www.sidefx.com/ja/docs/houdini/vex/halfedges.html
たとえば上のように分割された Grid があるとします。
このとき、6 つのポイントを頂点とするハーフエッジはそれぞれ
0→1:0
1→3:1
3→2:2
2→1:3
2→3:4
3→5:5
5→4:6
4→2:7
となります。
ハーフエッジ番号を確認する関数に pointhedge() があります。
pointhedge(geometry, source point, destination point)
とすると、
となり、ポイント 2, 3 間のハーフエッジが確認できました。
ハーフエッジは方向性を持つため、同じ二つのポイント間でもエッジの向きによって番号が変わります。
他にも、ハーフエッジ番号から source point を取得する関数や、
ハーフエッジ番号から destination pointを取得する関数もあります。
Vertex や Primitive を取得する関数もあるため、エッジから他の要素を得るために利用できます。