Knowledge / Blenderジオメトリノード / 第5章:量を制御するデザインパターン • 6 min read
第5章:量を制御するデザインパターン
目次
Geometry Nodesで最も頻繁に行われている処理は、 形を直接いじることではありません。
それよりも先に、必ずと言っていいほど行われているのが、
どれくらい影響させるかを決める
という作業です。
この章では、 Geometry Nodesのあらゆる構成の土台になる 「量を制御する」デザインパターンを扱います。
1. なぜ「量」をそのまま使ってはいけないのか
Geometry Nodesで扱う数値には、次のようなものがあります。
- 距離
- 高さ
- インデックス
- ノイズの値
これらは、そのままでは
- 大きすぎる
- 範囲が分からない
- どこが最大なのか判断できない
という問題を抱えています。
たとえば距離は、 0.2なのか、5なのか、20なのかで意味がまったく変わります。
GNで行いたいのは、規則的(比率的)な変換なので、 そこで必要になるのが、
数値を、意味の分かる範囲に変換する
という考え方です。
2. 正規化という基本パターン
量を制御する最も基本的なパターンが、 正規化です。
正規化とは、
- バラバラな数値の範囲を
- 0から1の間に収める
ことを指します。
よく使われるノード
- Map Range
- Color Ramp
この2つは、 量を制御するパターンの中核です。
3. Map Range:数値の意味を揃える
Map Rangeは、
- 入力値の範囲を決め
- 出力値の範囲に写し替える
ノードです。
たとえば、
- 距離が 0〜3 の範囲にあるとき
- それを 0〜1 に変換する
といった使い方をします。
ここで重要なのは、
距離そのものではなく、距離に意味を与えている
という点です。
- 0 → 完全に影響する
- 1 → 影響しない
と決めてしまえば、 その後の処理は一気に読みやすくなります。
4. Color Ramp:量を「調整できる形」にする
Map Rangeが線形な変換なのに対し、 Color Rampは、
- 途中で急に強くする
- なだらかに減衰させる
- 一部だけ強調する
といった調整を、視覚的に行えます。
量を制御するパターンでは、
- 正規化は Map Range
- ニュアンス調整は Color Ramp
という役割分担になることが多いです。
5. フォールオフという考え方
量を制御するとき、 ほとんどの場合で出てくるのが フォールオフです。
フォールオフとは、
- 影響が徐々に弱くなる
- 端に向かって減衰する
という状態を指します。
距離・高さ・ノイズなど、 どんな入力であっても、
- 強い
- 弱い
の境界をなめらかにつなぐために、 このパターンが使われます。
線形フォールオフを「なめらか」にする
Map Rangeなどで作ったフォールオフは、 基本的に 直線的(線形) な変化になります。
これは仕組みとしては正しいのですが、 そのままだと、
- 効き始めが急すぎる
- 中央が弱く感じる
- 端が不自然に残る
といった違和感が出ることがあります。
そこでよく使われるのが、 フォールオフのカーブを加工するパターンです。
Power を使った基本パターン
もっとも基本的なのが、Power ノードを使う方法です。
- 入力:0〜1 のフォールオフ値
- Exponent:カーブの形を決める値
このとき、
- Exponent > 1
→ 中央が締まり、端がなめらかになる - Exponent < 1
→ 広がりが強調され、全体が柔らかくなる
という性質があります。
Power は、 フォールオフの形を変えるためのノブ として使われることが多いノードです。
Invert と組み合わせるパターン
フォールオフを加工するときは、 向きが逆になっている方が都合が良い場合もあります。
その場合は、
- 1 - 値(Math: Subtract)
- Invert Color(Color Ramp)
などで反転してから、 Power を適用します。
この構成にすると、
- 中心が強い
- 外側がなめらかに減衰する
といった、よくあるフォールオフ形状を 簡単に作ることができます。
なぜこのパターンがよく使われるのか
この方法がよく使われる理由は、
- 数式を理解しなくても調整できる
- 0〜1の範囲を壊さない
- 後段のノードにそのまま渡せる
という点にあります。
Geometry Nodesでは、
線形で作り、カーブで仕上げる
という流れが、 フォールオフ調整の定番パターンになっています。
6. ノイズは「ランダム」ではない
ここでノイズの話をします。
ノイズという名前から、 完全にランダムなものだと感じるかもしれませんが、 Geometry Nodesにおけるノイズは、
空間的に連続した値を持つ量
です。
- 近い位置では似た値になる
- 離れると少しずつ変わる
つまりノイズは、
- 配置を決めるもの ではなく
- 量のばらつきを作る入力
です。
7. ノイズも正規化して使う
ノイズの出力は、 そのまま使うには少し扱いにくいことが多いです。
そこで、
- ノイズ
- Map Range
- Color Ramp
を組み合わせて、
- どこが強いか
- どこが弱いか
を整えます。
この構成は、 後の章で何度も登場します。
8. 量は「どこに使うか」で意味が変わる
ここまで見てきたように、 Geometry Nodesではまず
- 距離
- ノイズ
- 高さ
といった入力から、 量(0〜1の値) を作ります。
そしてその量を、 どこに使うかによって、 結果の意味が決まります。
以下は、その流れを簡略化した図です。
flowchart LR A[位置・距離・ノイズなどの入力] --> B[Map Range] B --> C[Color Ramp] C --> D[量 0〜1] D --> E[スケールに使用] D --> F[位置変形に使用] D --> G[密度・配置に使用]
同じ「量」であっても、
- スケールに使えば大きさ
- 位置に使えば変形量
- 密度に使えば配置
になります。
つまり、
量そのものには意味がなく、 どのノードに渡されるかで意味が決まる
ということです。
この考え方が身につくと、
- ノイズ
- 距離
- インデックス
といった一見バラバラなものを、 同じ感覚で扱えるようになります。
9. 次の章への接続
次の章では、
- その量を
- どこに適用するか
を決めるデザインパターンを扱います。
次章予告
👉 第6章:範囲を制御するデザインパターン 距離や近接関係を使って、影響範囲を作ります。