初心者のためのジオメトリノード その6

blender

カーブ2

適当に引いたカーブが道路になる~みたいな、すこしジェネレーター的な物はジオメトリノードの醍醐味の一つだと思うので、シンプルなものとして挑戦してみましょう。

カーブを道路に

カーブをメッシュ化する際に断面カーブとしてラインを接続すれば、シンプルな道路になります。
カーブは進行方向に対して-0.1~+0.1で配置(つまり道路の幅は0.2ということ)
したがってここの部分にグループ入力などで入力させる仕組みを入れれば、道路幅を簡単に変えられるようになります。

道路に中央ラインを設置

先程の道路に中央ラインを追加しています。
プリミティブのcubeを薄い板状に変形させ、元のカーブにカーブリサンプルで分割数(=ポイントの位置)を設定。そこにポイントにインスタンスを生成で配置させています。

ただそれだけだとプリミティブcubeで設定した形のままでカーブ上に並ぶため、カーブの流れに沿ってcubeを回転させてやる必要があります。
下部の
カーブタンジェント → 回転をベクトルに整列 → (ポイントにインスタンス生成)

この部分でそれを実現しています。カーブの向きに合わせて回転を揃えるという機能は今後もあちこちで使うと思うので、覚えておきましょう。

道路を立体的にし、ポールを均等に配置

少し複雑になってしまいました。
グループ入力ノードを目安に、
上1/3で道路の生成、中1/3で中央ラインの生成、下1/3でポールの生成をやっています。

道路の生成では今まで単なるカーブラインで板上の道路を生成してたのを、画面中央左にあるような鍵状のラインを作りそれを左右にミラー状態で配置し立体的な道路を生成しています。
ただミラーの際、ジオメトリトランスフォームでスケールを-1倍しているのでそのままでは面(ノーマル)が反転してしまいます。ゆえにカーブ反転ノードを使いノーマルを揃えています。

ポールの生成はシンプルに円柱を変形させているだけです。 実際には別オブジェクトにしてインスタンスとして配置してやったほうがそれっぽくなるでしょうね。
カーブ進行方向に両側2つのポールを設定しその幅を値で手動で調整。 ポールの間隔はその上のカーブリサンプル(数:17)にてポイント数を設定しています。ここの数字を増減させればポールの間隔を変えられます


適当にカーブを描いて、各種間隔を調整したらすぐにこんなものになります。


コメント