necco Advent Calendar 2025 16日目の記事です。
BlenderのGeometry Nodesという機能を使った抽象的なグラフィックの作り方を、作例をベースにご紹介します。
Blenderの操作に慣れてきてモデリング以外のことにも挑戦してみたいと思っている方におすすめです!


Geometry Nodesとは
Blenderの Geometry Nodes(ジオメトリノード) は、3Dモデルの形状や構造を、数式や処理を組み合わせながら ノードベースで生成・操作できる機能です。
オブジェクトを直接配置したり、編集モードで1つずつモデリングするのではなく、視覚的にプログラミングするような感覚で形を作っていくのが特徴です。
Geometry Nodesモディファイアを追加し、Geometry Node Editorでノードを繋げていくことで使用できます。
Geometry Nodesでできること
Geometry Nodesでは、次のようなことができます。
- ルールに沿った形状や配置の制御
- オブジェクトの複製・ランダム配置
- パーティクルのような表現の作成

おすすめの環境設定
ノードの検索もしやすく、海外のチュートリアルも豊富なのでUIは英語に設定することがおすすめです。
この記事でのBlenderの画面も英語UIになっています。
Geometry Nodesの使い方
まずは操作になれるためシンプルなオブジェクトの複製を行います。

Geometry Nodesモディファイアの追加
Geometry Node Editorに切り替えます。

オブジェクトを一つ選択し、「New」をクリック。Geometry Nodesのモディファイアを追加します。

モディファイアを追加後、Geometry Node Editorには「Group Input」から「Group Output」に繋いだノードが表示されます。

ポイントとオブジェクトの追加
続いてオブジェクトと配置するポイントと複製するオブジェクトを設定します。
「Group Input」を削除し、Shift+Aで表示される追加のメニューから「Instance on Points」を追加、Instancesを「Group Output」のGeometryに繋げます。


Instance on Pointsとは
「Instance on Points」とは、Pointsに繋げた点にInstanceに繋げたオブジェクトを複製するノードです。

ポイントとインスタンスの設定
まずはポイントに5×5のグリッドを繋げます。
Shift+AでGridと検索しMesh > Primitivesの「Grid」を追加します。
追加された「Grid」ノードのMeshを「Instance on Points」のPointsに繋げ、Vertices(頂点数)を5に変更します。


次に複製するオブジェクトを追加します。
Shift+Aで「Cube」を選択し、「Cube」のMeshを「Instance on Points」のInstanceに繋げます。

サイズが大きいのでCubeのサイズを0.1mに変更しました。
Verticesの数を変えると複製されるオブジェクトの数も簡単に変えることができます。

複数のオブジェクトを使った応用編
シンプルなオブジェクトの複製を応用し、「複数のオブジェクトをランダムな大きさで配置」した作例を作っていきます。

立方体の頂点に複数の異なるオブジェクトを配置
Gridを削除し、「Instance on Points」のPointに頂点数が4×4×4のCubeを繋ぎます。

InstanceにはCubeのみ繋いでいるので複製されるオブジェクトはすべて同じものになっています。
複数のオブジェクトを繋ぐ方法は様々ですが、今回はCollectionを繋ぎ、Collectionに含まれるオブジェクトを複製していきます。
Collectionを新規追加し、名称を「Objects」に変更します。
このCollectionに複製したいオブジェクトを追加していきます。

マテリアルや形状の違う5つのCubeを作成しました。
マテリアルを確認しやすいよう、レンダーエンジンをCyclesに変更し、ライトも追加しています。
ライトやカメラを追加する際、ObjectsのCollectionには入らないようにしましょう。

アウトライナーのCollectionをGeometry Node Editorにドラッグ&ドロップすることで、Collection内のオブジェクトをまとめて読み込めるノード「Collection Info」が追加されます。
「Collection Info」を「Instance on Points」のInstanceに繋げました。

このままではCubeのPointsに複製されないので下記項目にチェックを入れます。
ObjectsのCollectionはチェックを外し非表示にしました。
- Collection Info
- Separate Children(Collectionに含まれるオブジェクトを別々のオブジェクトとして扱うか)
- Reset Children(Collectionに含まれるオブジェクトの位置情報をリセット)
- Instance on Points
- Pick Instance(1つのポイントに1つのオブジェクトをランダムで配置)

ObjectsのCollection内のオブジェクトのサイズが大きいので、「Instance on Points」のScaleを変更します。

Random Valueでオブジェクトをランダムな大きさにする
Shift+Aで「Random Value」を追加し、Valueと「Instance on Points」のScaleを繋ぎます。
Min(最小値)とMax(最大値)をオブジェクト同士が重ならないように変更します。


さらにランダムな配置に
「Instance on Points」のInstance Indexに「Random Value」を繋げることで、さらにランダムな配置にすることができます。
Instance Indexに繋ぐ「Random Value」はFloatをIntegerに変更し、MaxにはCollectionに含まれるオブジェクト数-1の値を入力します。
Seed値を変えることでランダム感を変えることできるので、好きな配置のものを選びます。

ライティングからレンダリングまで
ライトは色の違うピンクと紫の2つのライトをそれぞれ別方向から当てました。

ボケが強く出るようカメラは被写界深度にチェックを入れ、Emptyを追加し焦点オブジェクトに設定しています。


おまけ
Blender5.0のコンポジターで簡単に色収差を追加できるようになったので使ってみました!
たのしい〜


最後に
「Instance on Points」のPointsやInstanceに繋げるオブジェクトを変えるだけで表現も簡単に変えることができます。
今回ご紹介した作例は、Geometry Nodesの機能のほんの一部を使ったものです。
他にもさまざまな表現が可能なので、ぜひいろいろ試してみてください✨️



