fiord Advent Calendar 2025 8 日目の内容となります。
一応他にも書きたい記事があるので、これだけでアドベントカレンダーを埋め尽くさないようにしたい所存。
TODO: 目次の追加
高層ビル群を作る
今回は下記の記事に挑戦します。予め大まかな内容は読み込んでいるのですが、知らないノードが出てきて面白そうな反面、若干の飛躍を感じたので、そこを埋められれば。
グリッドの作成
まずは、Plane を作成してそこから Geometry Nodes を新規に作成。
Group Input を削除し、代わりに Mesh → Primitives → Grid を作成します。
Size X/Y を 10 位にしておきましょう。
Point → Distribute Point on Faces を Grid と Group Output の間に入れます。文字通り、面に沢山の点が配置されました。
更に追加でノードを追加していきます。
- Instances → Instance on Points: Distribute Points on Faces で生成した点群の上にインスタンスを生成するためと思われる
- Geometry → join Geometry: Grid を床として配置するためのもの
この時点では、特に床が表示されているのみで、変化は無さそうです。Instance on Points で載せるインスタンスが決まるといい感じに動くかもです。
ということで、載せるビルのような建物を 3 つほど生成します。Cube を元に、上面に対して E → Z で方向に伸ばして S で縮めたりして作っています。
結構群衆になって細かいところは分かりにくくなると思いますし、あくまでジオメトリノードの勉強が主目的のため、結構適当でよいかと思います。
また、右上部でコレクションを分けておきます。
そうしたら、作ったコレクションを Instance on Points に載せていきましょう。
- Input → Scene → CollectionInfo を生成し、ビルを含むコレクションを指定
- Geometry → Operations → Transform Geometry を生成し、取り敢えずそのまま Collection Info と Instance on Points の Instance と繋ぐ
- すごく気持ち悪い量のビルが生成されるため、Distribution on Faces の Density の値を適度に減らす
- Transform Geometry の Scale.Z(及び Translation.Z)を弄り、ビル群の高さを調整
更に ランダムにスケールさせて、ビルの大きさをバラバラにしつつ調整をします。
その後、さらに作業を進めているようですが、 画像を凝視する限りでは同じような構造(Distribute on Faces → Instance on Points で、何かをランダムにたくさん表示させている)であるように見受けられます。
レンダリング結果のスクリーンショットとしては、マテリアルの追加と、レンダリング結果のコンポジットにより霧の表現を行っているように見受けられます。
そのため、多分今回の内容としては以上なのかな...?
まとめ
ビル群の作り方(前回をちょっと発展させただけ)でした。
次はもう少しいいチュートリアルを探してみます。
追記
ここまでノードの追加時に「Input → Scene → CollectionInfo」という表記をしましたが、個人的には作業をしていてキーボード入力を使って名前を入れる方が速いなと感じました。
そのため、記事としてはこちらの表記が良いか...?と思いつつも、一番最後の「CollectionInfo」のみを記述ウする方式へ変更していきます。






