皆さんオハスコリカ🎄黒城ナディアです。
前回の投稿から大変時間が空いてしまい、大変申し訳ございませんでした。
本記事はBlender Advent Calendar 2023 3日目の記事です。
今回はBlenderのGeometry Nodeで懸垂線を作ります。
対象Blenderバージョン:3.3以上
懸垂線(カテナリー)とは?
懸垂線(カテナリー)はざっくり説明すると紐の両端を持ち宙に垂らした時にできるカーブのことです。ロープや電線はこの形状をしています。
Blenderには懸垂線を作るアドオン(Add Curve: Extra Objects)がありますが、Extra Curvesのメニューから懸垂線を作るのは何かと面倒です…(作ったカーブを修正しづらいとか)
そこで今回はBlenderのGeometry Node機能を使って、メッシュの辺を結ぶ懸垂線を生成するGeometry Nodeを作りました!下のリンクからBlenderファイルをダウンロードできます。
今回のGeometry Nodeを使ってできる懸垂線の作例です。メッシュの各辺を結ぶ垂れ下がるカーブを作ることができます。厳密には懸垂線ではないですが、ロープ等の形状としては十分な見た目を表現できます。
Geometry Node全体像
以上、Geometry Nodeを使った懸垂線の作り方でした。
今回のノードをベースにしてさらにノードを追加することで、カーブにひねりを加える、ロープ形状を別のカーブで指定するなど、さらに表現を工夫できるので試してみてください。
参考
- カーブ沿いにオブジェクトを配置:https://blender.stackexchange.com/questions/233890/geometry-nodes-is-it-possible-to-connect-point-instances-with-curves-blender
- 2点間をつなぐカーブを作る:https://blender.stackexchange.com/questions/265520/id-like-to-use-points-position-to-make-curve
- 2点間をつなぐ:https://blender.stackexchange.com/questions/267537/how-to-hang-curves-between-two-points-using-geometry-nodes
- https://blender.stackexchange.com/questions/283008/how-to-get-individual-curve-point-positions-in-geometry-nodes
前回の投稿内容
以前投稿を予定していた内容はもう少し複雑なノードの組み方だったんですが、[Mesh to Curve]ノードを使えば難しいノードを組まずともやりたいことができることに気づいてしまいました…
一応①の方法は懸垂線の深さを変えても形がいびつにならない利点はありますので、別のアプローチということで取っておきます。
●方法①
●方法②(Blender 4.0以上)
画像が見づらく大変恐縮ですが、「Create Catenary」の部分を[Mesh to Points]→[Points to Curves]→[Set Spline Type]:Bezier のノードに置き換えています。
コメント