2022-06-20

【Geometry Nodes】オブジェクトの辺だけに厚みを付ける方法【Blender】

モディファイアのワイヤーフレームのような効果をジオメトリノード内で行う方法。

Article Image
使用ソフトウェアバージョン備考
Blender3.2

辺だけ抽出してポリゴン化

ジオメトリノードにて、次のようなキューブを

キューブ

ワイヤーフレーム化して、さらに辺に厚みを持たせる。

ワイヤー化されたキューブ

これを解説する。

ワイヤーフレームモディファイアでよくない?

ワイヤーフレームモディファイアでも出来る(むしろそっちのほうが扱いやすい)

今回はあくまで「ジオメトリノード内」で行えることが重要。

この前後に処理を繋いでいけるので、更に発展した作品へ繋げられる。

ノードの組み方

上の作例は次のノードが全て。

ノード全て

Mesh to Curve

日本語:メッシュからカーブへ

Mesh to Curve

その名の通りメッシュとなっているポリゴンのエッジを全てカーブで再現するノード。

このノードを使った直後

このノードだけだとこのようになる。

Selectionで目的のエッジだけ変換することも可能。

Selectionの使い方は次で解説している。

【Geometry Nodes】Selection(選択)って何【Blender】 | 謎の技術研究部

Curve to Mesh

日本語:カーブからメッシュへ

Curve to Mesh

Profile Curve(断面カーブ)に別のカーブを入力してやり、その形状を用いて元のカーブに厚みを付けるもの。

どういうこと?

まずProfile CurveにはCurve Circle(カーブ円)が入っている。

円を描画

このProfile Curveに入ってきた円をCurveに沿って押し出すイメージ

カーブを押し出すイメージ

この例ではCurveは単なる直線なので、最終的にパイプのようなメッシュとなる。

実行結果

当然だがこれをStarにすれば星型になる。

直線のカーブをStarでメッシュ化した例

キューブのワイヤーフレーム全てにこれが適用されればメッシュ化が完成する仕組み。

Profile Curveは円のように閉じたカーブである必要はない。

Arcのような開いたカーブを入れても一部ポリゴンに穴が空いた状態でメッシュ化される。

【Geometry Nodes】Arcノード【Blender】 | 謎の技術研究部

Fill Caps

日本語:端をフィル

Curve to Meshでは円柱の両端は穴が空いた状態になる。

イメージとしては蓋が空いた(+底が抜けた)プリングルスの箱のような形状。

FillCapsスイッチ

Fill Capsオンにしてやれば穴を閉じることができる。

picture 13

Arcのような開いた形状を入れた場合こちらはオンオフは全く効果なくなるようなので注意

完成?角が変?

以上で解説は終わりなのだが、この手法にはデメリットがある。

角に穴

このように角が変(穴)になってしまうパターンがある。Fill Capでは埋まらない。

これは角の処理が入っていないからである。

ワイヤーフレームモディファイアの場合は角がしっかり処理されるので、特別ジオメトリノードが必要でなければモディファイアの方を使ったほうが良いと思われる。

一応の解決策

私が知る限りでは次が「一応」解決策。

SphereをMIXするノード例

このようにInstance on Pointsを別途配置して角にスフィアを当てはめてやると

面白い形状

角に玉が埋め込まれるので閉じているように見える+面白い形状になる。

見た目をできるだけ同じに

このケースであれば球の半径をCurve Circleの半径と同じにしてやると「一応」自然になる。

球と円の半径が一致

どちらにせよあくまで球が埋め込まれているだけなので作例によっては違和感がでるかもしれないので注意。

ワイヤーフレームで確認

以上

このようにメッシュのフレームをうまく利用することによって頂点やカーブをコントロールする手法はよく見かける。

おそらくこれはプロシージャル手法では常套手段なので、ここから発展させて複雑な物作る上では覚えておきたい一例ではないだろうか。

やはり角処理などに問題は残るが、それを踏まえてうまく利用してもらえれば幸いだ。



謎の技術研究部 (謎技研)