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の機能のほんの一部を使ったものです。
他にもさまざまな表現が可能なので、ぜひいろいろ試してみてください✨️


📮 お仕事のご依頼やご相談、お待ちしております。

お仕事のご依頼やご相談は、お問い合わせ からお願いいたします。

🤝 一緒に働きませんか?

下記の職種を募集中です。より良いデザイン、言葉、エンジニアリングをチームで追求していける方をお待ちしております。詳細は 採用情報 をご覧ください。

  • アシスタントデザイナー
  • フロントエンドエンジニア
  • アシスタントフロントエンドエンジニア

🗒 会社案内資料もご活用ください。

会社のサービスや制作・活動実績、会社概要、ご契約など各種情報をまとめた資料をご用意しています。会社案内資料 からダウンロード可能ですので、ぜひご活用ください。

2025年12月3日更新

株式会社necco ダウンロード資料へのバナー画像