分野別の詳説:参照したマニュアルの主要な仕組み・操作・設定を翻訳・要約・再構成した日本語解説です。全項目の逐語訳ではありません。確認順や例は編集上の補足です。手順から先に読み、必要なときに後半の仕組みの解説へ進めます。

この章の目標:面へ小さいCubeを配置。
準備:面を持つPlane・Geometry Nodes。

Geometryを入力 → 面へ点を分布 → Cubeをインスタンス → Joinして出力。成功:Densityで数、Sizeで部品寸法が変わる。注意:元PlaneをJoinし忘れて消える
手順と確認点の模式図。図を押すと拡大できます。
面へ小さいCubeを配置:本文に対応する出力ソケットから入力ソケットへの配線図
ソケット名を対応させる配線図。実際の操作画面ではありません。
Planeへ小さいCubeを分布させた結果
Blender 5.2.2で実際に計算・保存した結果。検証範囲は記事末尾に記載しています。

実践:面に小さな部品を散らす

ここではPlaneの上へ小さいCubeを配置します。寸法・密度は編集上の例で、画面操作を通して確認した作例ではありません。元のPlaneに面が存在すること、標準キーマップであることを前提にします。

  1. Planeを選び、Geometry Node EditorでNewを押してモディファイアーとノードグループを作ります。最初のGroup InputからGroup Outputへの接続を確認します。
  2. Addの検索からDistribute Points on Facesを追加し、Group InputのGeometryをMeshへつなぎます。Random方式でDensityを小さい値から設定します。単位は面積当たりの点数なので、面の大きさも結果へ関係します。
  3. Cubeノードを追加し、SizeのXYZを小さく設定します。たとえば各成分を0.1にする例が考えられます。元のシーンへCubeオブジェクトを追加する操作とは別です。
  4. Instance on Pointsを追加し、分布ノードのPointsをPointsへ、CubeのMeshをInstanceへつなぎます。そのInstancesをGroup OutputのGeometryへつなぎます。
  5. 向きも面に合わせるなら、分布ノードのRotationをInstance on PointsのRotationへつなぎます。平面では差が小さくても、曲面では法線方向が異なります。
  6. Random ValueをFloatにして最小・最大を設定し、Scaleへ渡すと倍率へばらつきを作れます。Seedを変えると別の配置・値になります。
  7. 元の面も表示するなら、Join GeometryへGroup InputのGeometryとInstancesを両方入れ、結果をGroup Outputへ渡します。インスタンスの出力だけでは元の面を含まない構成です。
  8. ViewerまたはSpreadsheetで点数とインスタンス数を調べます。必要な処理がない限り、この段階でRealize Instancesを入れる必要はありません。

成功の目安は、Densityで数、CubeのSizeで部品の元形状、Scaleで各配置の倍率、Seedで乱数が別々に変わることです。何も見えないなら、面を持つ入力、出力への接続、Selection、寸法、表示範囲を順に調べます。

生成・配置・変形の主要ノード

ノード入力と出力の役割主要な設定・制限
Distribute Points on Faces面を持つMeshからPoints・Normal・Rotationを出すRandomのDensity、Poisson DiskのDistance Min・Density Max、Seed。辺だけのメッシュでは分布できない
Instance on PointsPointsと参照するInstanceから配置結果を作るSelection、Rotation、Scale。Pick Instancesでは一覧から一つを選ぶ
Object Info / Collection Infoシーンの物体や集合を参照する元の変換と相対空間、インスタンスとして扱う設定を確認する
Join Geometry複数のジオメトリを一つの流れへまとめる重なる頂点を自動で溶接するわけではない
Realize Instances参照の配置を実ジオメトリへ変える対象のSelectionやDepth、増加する要素数・メモリを考える
Set PositionGeometryの位置を変えるSelection、Position、Offset。同じノード内のPositionとOffsetは同時評価される
Transform Geometry全体の移動・回転・倍率を変える要素ごとのフィールドで変えるSet Positionとは対象の考え方が違う
Extrude Mesh選択要素から形を延ばす頂点・辺・面の方式、個別の扱い、Offset。新たな面等の選択出力を後段に使える
Delete GeometrySelectionに当たる要素を削除するDomainとModeが、頂点ごと・面ごと・Instance全体などの意味を決める
Merge by Distance近い頂点等を結合する距離を大きくしすぎると部品の隙間も失う
Resample Curve長さや個数に基づいて制御点を作り直す点ごとの処理を均等にしたい場合に使う。元の制御点とは変わる
Curve to MeshカーブとProfile Curveから表面を作る断面、方向、半径、端のふさぎ方を確認する

Pick Instancesは、Instance入力にある参照一覧からIndex等で選ぶ機能です。コレクション全体を毎回一セットずつ配置する構成と、部品を一個ずつ選ぶ構成を混同しません。必要な形が一つの参照としてまとめられているのかも確認します。

属性・サンプリング・選択の主要ノード

ノード値の意味使うときの前提
Position / Normal評価先の位置・法線ノードを置いた時点で固定の値を保存するわけではない
Index / ID要素の順序・識別情報Indexは接続変更でずれる。IDが常に自動で存在するとは限らない
Named Attribute名前で保存された属性を読む名前・型・ドメインと存在を確認する
Store Named Attributeフィールドの結果を名前付きで保存するGeometry、Name、Value、型・Domain。組み込み属性の型等は自由変更できない
Capture Attributeその時点の値を匿名属性として保持する出力されたGeometryの流れに保持する。上流や別系統の形からは読めない
Sample Index元Geometryの指定Indexの値を読むValueを元側で評価し、型とDomainを合わせる。無効Indexの扱いはClampへ関係する
Sample Nearest Surface別の面の近い位置から値を得る近さによる対応であり、同じ頂点番号を保証するものではない
Compare / Boolean Math条件の真偽を作るSelectionがどのDomainで評価されるかを接続先から読む
Map Range / Math数値の範囲・演算を変える範囲外をClampするか、元の値を残すかを決める
Vector Math / Combine XYZ方向やXYZ成分を扱う距離・位置・方向の意味を区別する

例としてPositionのZ成分をCompareでしきい値と比較し、その結果をSet PositionのSelectionへ渡すと、条件に合う位置だけを変えられます。同じSelectionをDelete Geometryへ渡す場合でも、DomainをFaceへ変更すれば面単位の評価になります。条件式だけを見ず、評価先も読みます。

実践:変形前の高さを保持する

  1. 最初のGeometryをCapture Attributeへ入れ、PointドメインでPositionのZなどを記録します。
  2. Capture Attributeから出たGeometryをSet Positionへつなぎ、変形を加えます。
  3. 後の処理で元の高さを使いたいときは、Positionを再び読むのでなく、Captureした出力を接続します。
  4. 同じ名前付き情報を材質など別の場所から使いたい場合は、Store Named Attributeで明示した名前へ保存する構成を選びます。

属性を生成したGeometryを迂回して別のGeometryを出力すると、保持したつもりの情報が結果へ来ない場合があります。属性の線と、実際に情報を運ぶGeometryの線を合わせて追います。

実践:反復と時間の蓄積を分ける

Repeat ZoneではIterationsを決め、前の反復から次へ渡すGeometryや数値をゾーンの入出力へ登録します。Iterationは0から始まる現在の反復番号です。ゾーン内部の結果を外へ使うには、Repeat Outputを経由します。

Simulation Zoneでは、最初にInputへ渡した状態から、各時刻の次の状態を計算します。たとえば位置へ速度とDelta Timeの積を足す構成では、速度が秒当たりの移動量、Delta Timeが時間刻みになります。毎フレーム固定距離を足す構成とは、FPSを変えた場合の意味が違います。

状態として残すGeometryや速度などをシミュレーションの項目へ含めます。匿名属性も、必要な状態へ明示して保持しないと伝わらない条件があります。ゾーン外から内部へ渡す値は各ステップで再評価されるため、初期値と毎回の入力を区別します。Simulation ZoneはToolコンテキストでは利用できません。

キャッシュの開始時点、再生順、変更後の再計算、ベイクの保存先を確認します。Repeatは一回の評価内の反復、Simulationは時間をまたぐ状態です。どちらも「繰り返し」という理由だけで置き換えられる機能ではありません。

仕組みと用語を調べる

ノードで形状処理を組み立てる

Geometry Nodesは、オブジェクトのジオメトリをノードの処理で変更する仕組みです。Geometry NodesモディファイアーにNode Groupを指定し、Geometry Node Editorで内容を編集します。Group Inputへ入るのは、そのモディファイアーより前の形です。Group Outputから出た結果は、スタックの次の処理へ渡ります。

最初の確認では、Group InputのGeometryをGroup Outputへ直結します。元の形が見えれば、処理を一つずつ間へ追加します。この確認順は編集上の補足です。出力へつながっていない枝に形を作っても、最終結果へは現れません。オブジェクトの種類と、ノードが扱うジオメトリの種類も確認します。

値とフィールドは異なる

一つの数値を渡す接続と、各要素について計算するフィールドを区別します。フィールドは、頂点や面などの入力を受けて結果を計算する手順です。Positionは単独で固定された座標一覧を保持する箱ではなく、接続先が評価するときのジオメトリから位置を読みます。

たとえばPositionを加工してSet Positionへ渡す構成を二段つなぐと、後の段では前の段で変わった位置を読む場合があります。同じフィールドへつないだことだけを理由に、同じ値が使われるとは考えません。変形前の値を保持したいときは、Capture Attributeなどで、その時点の値をジオメトリへ記録する方法があります。

属性は型とドメインを持つ

属性は、ジオメトリの各要素へ記録した情報です。Float、Integer、Boolean、Vector、Color、RotationやMatrixなどの型があり、型によって演算の意味が変わります。位置と方向は同じベクトル型でも意味が違い、色を数値へ変換する場合にも変換規則があります。

ドメインは情報をどの要素に持たせるかです。Pointはメッシュの頂点やカーブの制御点、Edgeは辺、Faceは面、Face Cornerは面の角、Splineはカーブ単位、Instanceはインスタンス単位です。UVが切れ目を持てるのは、同じ頂点に接する面の角へ異なる座標を持たせられるためです。

Named Attributeは名前で参照し、Store Named Attributeで保存できます。匿名属性はノードの接続を通じて参照します。別に作った無関係な形へ接続するだけでは転送できず、Sample IndexやSample Nearest Surfaceなどで対応を定める必要があります。Indexは接続変更で変わり得る要素番号であり、永続的な識別子と同じではありません。

点の生成とインスタンス

面へ物体を散らす処理は、配置する点を作る段階と、点へ形を配置する段階に分けます。Distribute Points on Facesが位置や向きを用意し、Instance on Pointsが参照する形を置きます。密度、Selection、回転、Scaleを別々に制御すると、どの段階で結果が変わったかを追えます。

インスタンスは元のジオメトリを参照し、位置などを個別に持ちます。同じ形を毎回複製するよりデータを共有できます。Realize Instancesは参照を実体へ変える処理で、メモリ使用量が増える場合があります。実体化せずに処理できるノードもあるので、常に最初へ置く必要はありません。個々の結果を別の形へ変える処理で必要かを判断します。

メッシュ・カーブ・点・ボリューム

Mesh Primitiveで基本形を生成し、Extrude Mesh、Subdivision Surface、Merge by Distance、Mesh Booleanなどで構造を加工できます。Set Positionは座標を変えますが、面の接続を新しく作る処理とは違います。材料の割り当てはSet Materialなどで行い、材質自体の光学的な設定はShader Editorで編集します。

カーブではResample Curveで点の配分を整え、Trim Curveで区間を切り、Curve to Meshで断面に沿う形を作れます。点群、ボリューム、Grease Pencilにも専用のノード群があります。名前が似ていても入力できるデータは異なり、必要に応じて変換します。法線、UV、トポロジーの読み取りは、それぞれ対応するノード群から探します。

数学・選択・再利用

Mathは数値、Vector Mathはベクトル、回転や行列のノードは向きと変換を扱います。CompareやBoolean Mathで条件を作り、Selectionへ渡すと対象を絞れます。Random Valueの乱数はSeedやIDの扱いが重要です。形の数が変わったときにも配置を安定させたいなら、どの識別情報を乱数へ使うかを確認します。

グループでは外へ公開する入力と出力を定めます。Bundleは異なる型を含む複数の値を一つの接続へまとめ、Closureは後から評価する処理を受け渡す仕組みです。どちらも単なるメッシュの結合とは異なります。ノードベースのツールは編集操作として使い、モディファイアーとして継続評価する構成とは用途を分けます。

時間・反復・シミュレーション

Repeat Zoneは処理を繰り返し、For Each Geometry Elementのゾーンは要素ごとの処理に使います。Simulation Zoneは前の状態から次の状態を計算する仕組みです。時間に依存する状態を持つため、あるフレームの結果を、そのフレームだけの入力から必ず再計算できるとは限りません。

参照EPUB版のSimulation NodesにはXPBD Solver、Cloth Dynamics、Hair Dynamics、Colliderなども収録されています。従来のPhysics設定と、これらを使うノード構成は別の入口です。どの方式の説明かを確かめてから、衝突、時間、力を設定します。

Bake NodeやSimulation Zoneのベイクでは中間ジオメトリを保存できます。ベイク前に.blendを保存し、キャッシュの場所と期間を決めます。メモリ上で見えている状態が、そのままディスクへ保存済みとは限りません。異なるBlender版間でのベイク互換性も保証されていません。

結果を調べる

Spreadsheetで要素数・属性名・型・ドメインを確認し、Viewerで途中結果を調べます。何も出ないときは、出力への接続、Selection、ジオメトリの種類、座標空間、インスタンスの扱いの順に切り分けます。性能を改善するには、細分化や実体化を必要な箇所へ限定し、重い計算を何度評価しているかを見ます。

検証した範囲

最終確認:2026年10月23日。Blender 5.2.2 LTS(macOS / Apple silicon)を背景実行し、次の内容を確認しました。

  • Plane→面上の点分布→Cubeのインスタンス→元PlaneとのJoinを評価・レンダー。

背景実行ではPython APIを使用しています。マウス・キー入力、画面遷移、インストール、各入力機器での操作を通して確認したものではありません。上記にない応用・設定の組み合わせは実行未検証です。

出典と利用条件

この記事で参照したマニュアルの項目:

原著:Blender Documentation Team、Blender 5.2 Manual。底本はBlender 5.2 LTS ManualのEPUB版です。ファイル内の発行日時メタデータは2026年10月19日で、記事の検証日とは別です。原典のライセンス表示に従い、裏庭(Uraniwa)が翻訳・要約・再構成・説明の補足を行いました。この記事の本文・補足・独自の図解と作例画像はCC BY-SA 4.0で公開します。Blender公式による記事・推奨を示すものではありません。原典で適用対象外とされるロゴ・商標・アイコン・ソースコード・Pythonスクリプトなどには、この許諾は適用しません。