これはMardini2024のDay2 Topo build Nodeの動画を視聴してまとめたものです。
Day1 Spiral Node | Day2 Topo build Node | Day3 Scatter And Align
要約
Topobuildノードを使用すると、既存のジオメトリを参照しながら、新しいトポロジーを構築できます。
- Topobuildノードは、ジオメトリレベルのSOPノードで、リトポロジーやカスタムジオメトリの作成に使用する
- 2つのバージョンがある: 「Toobuild」は参照ジオメトリを必要とし、「Poly Draw」は自由に描画できる
- 「Toobuild」では、参照ジオメトリ上でポイントとエッジを配置し、トポロジーを構築する
- スムーズモードとブラシモードを使用して、トポロジーを調整できる
- 「Poly Draw」では、ビューポート内で自由にジオメトリを描画できる
- ClipノードとMirrorノード、Subdivideノードと組み合わせて、スムーズな表面で対称的なジオメトリを作成できる
- スキンモードを使用して、クロスセクションからジオメトリを作成できる
- 既存のメッシュの問題を修正するためにも使用できる
TIPS
各モードの詳細は、ヘルプを参照ください
https://www.sidefx.com/ja/docs/houdini/nodes/sop/topobuild.html
各モードの切り替えは、Shift + 1〜6
Build
- Shift + backspace
- Gキーを押しながらドラッグさせるとエッジ配置時に、エッジを回転できる
- Shift+X 選択したエッジやポイントを集約して一つのポイントにする
- Shift+クリックでエッジループを選択し、Shift+Cで円形に変換できる
- Shift+E、選択したエッジやポリゴンを等間隔にする
- Shift+S、選択したエッジを直線にする
- Shift+K、2つのエッジを選択した状態で、Shift+Kを押すことでポリゴンをブリッジさせる
- F あまり大きな場所はPolyFillできないが、小さい領域ならエッジを選択した状態からFillできる
他のモードでも同様
- I Iを押している間は、第2インプットの参照状態が外れてポイント・エッジ・ポリゴンの移動ができる
- H 選択したポリゴンを非表示状態にできる(消えたわけではない)
- Shift+H 非表示にしたポリゴンを表示する
Edge Slide
エッジをスライドできる
Split
エッジ分割できる
- Shift+クリックでエッジループの挿入
- 中スクロールでエッジの分割数の増減
Brush
ブラシでポイントを移動させることができる
- Shift+中スクロールもしくはドラッグでブラシサイズ変更
Smooth
第2インプットの参照がある状態でSmoothAllボタンを押すと、全体がスムースされて便利
Skin
スキンを作成する
- クリック→ドラッグすることで、クロスセクションを描画可能、
- Ctrl+クリック+ドラッグ でクロスセクションのスキニング Spanの数を増やして分割数を決めます
サンプルファイル
サンプル内には、トミーのモデル(TopoBuild参照用)、スライスされたモデルのRETOPOLOGY、ペイント部のメッシュ構造を再構成させるSPHERE_RECONSTRUCTION、抽象的なオブジェクトの押出であるABSTRACT_EXTRUSION、トミーのリトポ作業用のTOMMY_GEO_retopoが含まれています。
RETOPOLOGY
第2インプットにトミーモデルを参照し、ClipノードとMirrorノードでX軸対称にし、Subdivideノードと組み合わせて、スムーズな表面に。スムーズになった分オリジナルモデルよりも鼻が低くなったので、2度目のTopobuildでSmoothAllを行い、元のモデルに近い形状へ戻しています。
第2インプットにトミーモデルを参照し、
スキンモードでクロスセクションを作成、trl+クリック+ドラッグ でクロスセクションのスキニングを行います。
SPHERE_RECONSTRUCTION
- Sphreを作成
- ポリゴンを選択し、Delete。(blastノード
- Topobuildで新しいトポロジーでFillを行う。
- Subdivideでポリゴンをならす
- 球体ではなく、なんか歪んだ球体らしきものになってしまうので、真球のSphereを第2インプットで参照しSmoothAllを行う
- polypathでメッシュからPathに
- PolyPathのCdを白色に。Blastしたポリゴンを黒色にColorで頂点カラーを付与。AttributeTransferでトポロジが違う場所を特定する
- Wrangelを追加。黒色の場合すこし大きくさせる処理をいれる
@pscale = fit01(length(v@Cd),0.1,1);
- Sweepノードを追加 SurfaceType:RoundTubeでポリワイヤーを表現
- Wrangle(Ramp情報付与)で色味つけ
v@Cd = vector(chramp("clr",length(v@Cd)));
- 最後にSubdivideして完成
ABSTRACT_EXTRUSION
- Topobuildでメッシュを作成
- Wrangleを追加、Extrudeする量をランダムで指定する(Multパラメータ付与
@extrude = fit01(rand(@primnum),0.1,1)*chf("mult");
- For-Each Primitivesでループ作成
- ループ内でPolyExtrudeとPolyBevelでメッシュごとに押し出し面取り
- ExtrudeのDistanceにはWrangleで指定した prim(0,0,"extrude",0) を設定
- Insertは0.042
- Colorノードの追加、ColorTypeは「Ramp From Attribute」を指定することで、@extrudeの値に応じたグラデーションカラーを指定できる
まとめ
以上の手順で、Topobuildノードを使ってリトポロジーやカスタムジオメトリの作成ができます。参照ジオメトリを使用したり、自由に描画したりと、様々な方法でトポロジーを構築できます。