【geometry node】ジオメトリノードでフェンスを作る【サンプルファイル配布中】
- 投稿日/更新日
完成イメージ

ジオメトリノードでフェンスを作ってみます。配列でもできなくはないですが、細かな調整がしやすいジオメトリノードで作ることにしました。サンプルのダウンロードはページ一番下にあります。
作り方
フェンスのパーツを作る

フェンスのパーツを作ります。メッシュで作りました。この作り方は難しくないので割愛します。縦のサイズはジオメトリノードで管理しやすいように7cmにしておきました。このパーツを繋げていくので、一番上の頂点と一番下の頂点は同じX軸・Z軸にあるようにしましょう。
ジオメトリノード

適当にメッシュをシーンに置き、ジオメトリノードを作成します。全体図は上記。「縦に配列」「横に配列」「太さの設定」の3グループに分けています。めっちゃ見えにくいので実際はサンプルのBlenderファイルでご覧ください。
縦に配列

フェンスのパーツを縦に並べるには、カーブラインを使用しました。カーブラインには頂点が始まりと終わりの2点しかありませんので、カーブリサンプルで頂点数を増やし、ポイントにインスタンスを作成を用いてその頂点にパーツを配置します。カーブ自体の長さやリサンプルでどれだけの頂点を生成するのかは手打ち入力でも可能ですが、調整がしやすいように縦の数だけを入力すれば数式(乗算・加算)を使用して自動的に決まるようにしています。

このように縦の数・横の数をモディファイアー画面から入力できるようにしています。

モディファイアーに入力項目を作るには、ジオメトリノード画面のグループ入力ノードを選択し、右側に表示されるグループソケットを追加していきます。

このノードだけだとこのように縦に並びます。まあここまでならモディファイアーの配列でもできますよね。
横に配列

今度は横に並べるノード群です。今回はリピートゾーンを利用することにしました。縦に並んだものを横に複製していくイメージですね。シングルポイントを使い、リピートゾーンで増やしていくのが肝です。このリピートゾーンの使い方は難しいのですが、これが基本的な使い方の一例になると思います。

普通に横に複製していくと上図のようになってしまいます。そこで「複製した回数が偶数のものは左右反転する」という処理が必要です(オレンジ部分のノード)。

横に並べる間隔は適当に調整します。
太さの設定

繋げたメッシュをパイプのようにします。まずメッシュのカーブ化を行い、再びカーブのメッシュ化で断面カーブにカーブ円を設定することでパイプになります。この操作は、カーブのオブジェクトデータプロパティで、ジオメトリ>深度を設定することと同じになります。
また、カーブ角丸を途中に挟むことで、カーブの角度がある部分に太さが極端に細くなる現象を防ぐことができます。
完成

これで完成です。
まとめ
地味なオブジェクトなのにいざ作ろうとすると面倒なフェンスも、ジオメトリノードなら簡単に調整可能になります。
今回はジオメトリノードでは必須のテクニックを詰め込んでいるので、いろいろ応用できる作例になっているのではと思います。一つ一つのノードを理解するとこれからのBlender制作に役に立つと思うので、じっくり見てみてください。
ファイルのダウンロード
フェンスのBlenderファイルはこちらからダウンロードできます。念のためにセキュリティスキャン等してくださいね。なお何かあっても責任は一切持ちません。
備忘録として残しておきます。
