Knowledge / Blenderジオメトリノード / 第6章:範囲を制御するデザインパターン 4 min read

第6章:範囲を制御するデザインパターン

目次

第5章では、 どれくらい影響させるか、という 量の作り方を見てきました。

しかし、Geometry Nodesでは 量だけでは不十分です。

もう一つ、必ず必要になる問いがあります。

どこに影響させるのか

この章では、 影響を与える「範囲」を作るための デザインパターンを扱います。

1. 「範囲を制御する」とはどういうことか

範囲を制御する、というのは 座標を直接指定することではありません。

Geometry Nodesにおける範囲制御とは、

  • 影響する
  • 影響しない

を分けるための マスクを作ることです。

このマスクは、

  • 0 なら影響しない
  • 1 なら影響する

という量として表現されることがほとんどです。

つまり第6章でも、 最終的に扱っているのは ですが、 その量の 由来が「位置関係」 になります。

2. 距離は「範囲」を作る最も基本的な情報

範囲制御で最もよく使われるのが 距離です。

距離は、

  • どこに近いか
  • どこから離れているか

を、数値として扱える情報です。

Geometry Nodesでは、

  • Position
  • Geometry Proximity

といったノードを使って、 距離を取得します。

重要なのは、 距離そのものではなく、

距離からマスクを作る

という考え方です。

3. Geometry Proximity:他の存在を基準にする

Geometry Proximityは、

  • 自分から
  • 別のGeometryまでの
  • 最短距離

を返すノードです。

このノードを使うと、

  • 別オブジェクトに近い部分
  • 触れそうな場所
  • 影響を受ける範囲

を、数値として取得できます。

そのままでは扱いづらいので、 第5章で学んだように、

  • Map Range
  • Power
  • Color Ramp

などを使って、 影響マスクに変換します。

4. 距離マスクという基本パターン

範囲制御の基本形は、 次のような流れになります。

  1. 距離を取得する
  2. 距離を0〜1に変換する
  3. 必要に応じてカーブを調整する

この結果得られるのが、

  • 近いほど 1
  • 遠いほど 0

という 距離マスク です。

このマスクは、

  • 変形量
  • スケール
  • 密度
  • 表示・非表示

など、あらゆる用途に使い回せます。

5. Raycast:方向を持った範囲制御

距離は便利ですが、 方向の概念を持ちません。

そこで登場するのが Raycast です。

Raycastは、

  • ある方向に
  • 線を飛ばして
  • 何に当たったか

を調べるノードです。

これを使うと、

  • 上から見て接地しているか
  • 前方に障害物があるか
  • 下方向に床があるか

といった、 向きのある範囲制御ができます。

6. ヒット情報からマスクを作る

Raycastは、

  • 当たったかどうか
  • 当たった位置
  • 距離

といった情報を返します。

特によく使われるのが、

  • Hit
  • Distance

です。

  • Hit を使えば
    • 当たっている範囲だけ 1
  • Distance を使えば
    • 近さに応じたマスク

が作れます。

ここでもやっていることは、

位置関係を、量に変換している

という点で、 距離フォールオフと同じです。

7. 範囲制御は「量を作る工程」である

ここまでをまとめると、

  • Geometry Proximity
  • Raycast

は、

  • 直接何かを変形するノード ではなく
  • 範囲を示す量を作るノード

だと言えます。

そしてその量は、

  • 第5章で学んだ方法で整え
  • 次の章以降で使われる

という位置づけになります。

8. 典型的な組み合わせ

範囲制御のデザインパターンは、 次のような組み合わせで使われることがほとんどです。

  • Geometry Proximity
  • Map Range
  • Power / Color Ramp
  • 変形 or 配置ノード

この構成を見たら、

「範囲マスクを作っている」

と読めるようになるのが、この章のゴールです。

flowchart LR
    A[位置関係の取得
Geometry Proximity / Raycast] --> B[範囲を決める
Map Range] B --> C[形を整える
Power / Color Ramp] C --> D[範囲マスク 0〜1] D --> E[変形に使用
Set Position / Scale] D --> F[選別に使用
Selection / Delete Geometry] D --> G[配置に使用
密度 / Instance]

9. 次の章への接続

次の章では、

  • 作ったマスクを
  • どれに適用するか

を決めるデザインパターンを扱います。


次章予告

👉 第7章:対象を選ぶデザインパターン すべてに処理をかけないための考え方を解説します。