Inhibition マスクからマスク書き出しまで

本記事では、Gaea に搭載されている Trees ノード について、仕組みと実践的な使い方をまとめて解説します。

Trees ノードはとてもパワフルですが、初めて開くとパラメータの数が多く、戸惑う方も多いと思います。そこでまずは各パラメータの役割を整理し、そのうえで実際の地形を例に、

  • どのように Inhibition マスクを作るか
  • どのようにツリー分布マスクを整えて書き出すか

という、実制作に直結するワークフローまでを一通り見ていきます。


1. 最重要入力「Inhibition」について

Trees ノードの入力は大きく 2 つあります。
Input:高さマップなどの地形入力
Inhibition:樹木を「生やしたくない領域」を指定するマスク入力
このうち Inhibition 入力が非常に重要です。ここにマスクを与えることで、任意の領域から樹木を高精度に排除できます。
例えば、急峻な斜面をもとにした単純なマスクを作って Inhibition に接続すると、その斜面上から樹木がきれいに取り除かれます。Flow マスクを用いれば、
フローライン周辺には樹木を生やしつつ
実際の沢筋や岩屑の流れのための「余白」を残す

といったコントロールも可能です。
内部の Aspect Inhibition だけでは得にくい、細かい「抜き」の調整を行う際に、Inhibition マスクは非常に有効です。

2. Trees ノードの出力:Instances と Area Mask

Gaea 2.2.6 の Trees ノードには、現状 2 種類の出力があります。

Instances
Area Mask(実験的機能)
Instances 出力
通常はこちらを使用します。シミュレーション結果としてのツリーインスタンスからマスクを得るモードで、安定して動作します。

Area Mask 出力(Experimental)
Area Mask は、シミュレーションの「裏側のデータ」に直接アクセスするような実験的機能です。
基本的には動作しますが、
挙動が分かりにくい点がある
出力の安定性・信頼性の面で、Instances に劣る

といった注意点があります。
そのため、確実に使いたい場合は Instances モードを選ぶことを推奨します。Area Mask は、挙動を理解したうえで試す実験的オプションと考えるのがよいでしょう。

3. Instances モードの主なパラメータ

ここからは、通常使用する Instances 出力 に関するパラメータを整理していきます。

Count in Thousands
ツリーシミュレーションの密度を制御します(単位は千本)。
値を上げるほど、マスクとして見たときの解像感が増しますが、その分重くなります。
  • 講師の例では 500,000(= 500k) をよく使用
  • 高解像度(例:16K)では RAM 消費が急増するため、
    • 値を下げる
    • もしくは Is Relative をオフにする
      などで調整します。
Is Relative
解像度に応じて Count をスケールさせるかどうかを制御します。
高解像度へ切り替えても結果を予測しやすくするため、基本的には オン推奨 ですが、メモリに余裕がない場合はオフにする選択肢もあります。
Tree Size
各インスタンスの高さを指定します(幅ではない)。
マスクそのものには直接関係しませんが、Gaea からツリー形状をそのまま使う場合の見え方に影響します。
Trim Under
指定したサイズ未満のツリーを除外することで、ツリー分布の「先細り」部分をカットするパラメータです。
Trees ノードではツリーのサイズが徐々に小さくなっていく傾向があるため、この値で下限を決めるイメージです。
Shape
ツリーインスタンスの描画形状です。
Point:1ピクセルの点

Big / Big Only:より大きなブロック形状

Gaea 内での可視化は Point が見やすいこともありますが、マスクを書き出す用途では Big が推奨です。
Big にすると、後段でコントラスト調整した際にも、ツリーエリアがはっきりとした形になります。
Seed
乱数シードです。Trees はシミュレーションベースなので、Seed を変えることでツリー配置パターンが変わります。

4. Growth 設定

Seek Water
水流に対して、樹木をどのように生やすかを制御します。
水流の近くに寄せる
逆に水流を避ける

といった振る舞いを切り替えられます。
Avoid Trees
Trees ノードを複数段重ねる場合に使用します。
異なる樹種やバイオームごとに別の Trees ノードを使い、それぞれのマスクが互いに貫通しないようにしたい場合に、前段のツリーを避けるように成長させることができます。
Health
シミュレーションの「寿命」「期間」に近い概念で、以下に影響します。
  • インスタンス密度
  • インスタンスサイズ
  • ツリーがどこまで上流/細い谷へ伸びていくか
おおまかな目安として:
  • 谷底付近に生える樹木マスク:低めの Health(例:0.3 前後)
  • 急斜面や細い水脈まで攻めていく危うい立地の樹木:高めの Health
といった使い分けができます。
Patches
ツリーを個々ではなく、ある程度の「塊」として成長させる設定です。
値を上げるほど、集合した林や森のような見え方になります。
Spread
名前から「単にツリーを広げる」ように聞こえますが、実際には 樹木が生育可能な領域をぼかす 作用があります。

細いフローラインに沿って「細い森の筋」が多数できるような、いかにも CG 的な見え方をある程度まとめて、より自然なまとまりを持った森林エリアに変えてくれます。

Spread と Patches を併用することで、「水の流れに忠実すぎるツリー分布」を崩し、自然な塊感のある森を表現しやすくなります。
Random
樹木マスク全体にランダムなノイズを追加します。
ただし、このノイズは Aspect Inhibition や Inhibition マスクを無視してツリーを散らしてしまうため、解説では ほぼ使用していない とのことです。

5. Aspect / Snow / Artistic Control

Aspect Inhibition
地形から自動的にツリーの生育条件を制限する機能です。
  • Slope:傾斜マスク。Falloff(減衰)を 持ちます。
  • Altitude:標高マスク。Falloff を 1 のままにすると、ほぼ全域に樹木が生えてしまうので注意が必要です。
  • Peaks:山頂部のような「もっとも露出した箇所」からツリーを取り除きます(標高だけでなく、露出度に基づいたイメージ)。
  • Strict:抑制をより厳密にするオプションです。Falloff が鋭くなり、外れ値の少ない、やや人工的な境界になります。
Snow Inhibition
雪のフローをもとに、樹木の生育を制限するための設定です。
  • Dead Flow:雪の質量がどれだけ山を下っていくか
  • Consolidate Flows:フロー同士をどれだけまとめて、大きな塊にするか
    • 値が高いほど、大きな雪塊となって遠くまで流れます。
    • 低いと、小さな雪塊が多数、短い距離を流れます。
  • Bias:フローがどの程度下方へ流れていくかの傾向
  • Snow Line:雪のフローが始まる標高
これらを組み合わせることで、雪崩や積雪に応じた「樹木が生えにくい帯」を作ることができます。
Artistic Control
  • Chaos:ツリーの位置をわずかにワープさせ、フローラインに対してまっすぐ並びすぎないようにするためのオフセットです。
  • Blur Edges:ツリー分布のエッジをなめらかにします。Trim 設定と併用すると、エッジ部分の樹木がより多く削られます。
  • Visualize Data:フロー、ツリー成長、雪の流れなどを可視化する補助機能です。
カスタム Inhibitors については数学的な前提が必要となるため、今回の解説では割愛されています。

6. Area Mask モードの挙動

次に、Experimental な Area Mask 出力 についてです。
これは講師自身がテスト用に実装を依頼した機能で、内部データに直接アクセスしてマスクを取り出す仕組みになっています。その性質上、やや独特な挙動をとります。

Health の意味の違い
Instances モードでは、Health は「シミュレーション時間の長さ」のように働き、時間が進むほどツリーインスタンスが増え、結果が積み上がっていきます。

一方、Area Mask モードでは、Health は「ある時点の状態のみ」を表します。
  • 低い Health:水が豊富なメインのフローエリア付近がよく見える
  • Health を上げる:時間経過とともに、メインエリアのツリーは消え、ツリーがより細い谷や高い位置へ移動した状態だけが可視化される
つまり、時間を再生して積み上げるのではなく、「タイムラインをスクラブして、その瞬間だけを見ている」ような挙動になります。そのため、ある Health で見えていたツリーが
Health の値を変えると、マスク上から消えてしまう

という現象が起こります。累積して残らない点が、Instances との大きな違いです。
Spread / Aspect / Inhibition との関係
Area Mask では、以下のような注意点があります。
  • Spread を 0 にすると、見える情報がほとんどなくなることが多く、ある程度値を上げた方がマスクとして有用な結果が得られます。
  • Aspect Inhibition(特に Slope) は期待どおりに動作しません。
  • Altitude は機能しますが、Slope は Area Mask ではうまく働かないため、代わりに 外部で作った Inhibition マスク を使った方が確実です。
実務上のまとめ
Area Mask をまとまったマスクとして使いたい場合は、
Health の値を変えた複数の Trees ノードを用意し、
各時点の Area Mask を合成して 1 枚のマスクにまとめる
といった手順が必要になります。
RAM 消費が少ないという利点はありますが、安定性や扱いやすさの点では、現状は Instances モードの方が優先される、という位置づけです。

7. 地形セットアップの例

次に、実際の地形に Trees ノードを適用するまでの一連の流れを見ていきます。

Gabor プリミティブからの地形生成
例では、まず Gabor(動画内では Gabbor と呼称) という波打つパターンを生成するプリミティブを使用しています。
  1. Gabor を少し Height Remap し、スケールを調整して丘陵状のフィールドを作成
  2. これを Rivers ノード に通して、谷の位置をロックし、後続の侵食処理の下地を整える
  3. その後、強めの侵食やカットを加えるためのノード(ヘッドウォーター的な設定)で大きく削り込み
  4. Crumble ノード を通して、谷筋に沿った深い溝を作る
    • Rivers と似た「谷を狙う」性質を持ちつつ、より深いトレンチを形成する
  5. さらに Warp で細部を加え、Erosion 2 をスケール 100 で適用
    大規模な侵食パターンを形作る
    主に Shape 設定を調整し、鋭さを高める
ここでは「三角形の山体シルエット」が狙いで、その後 Transform 3D で気に入った一部だけを拡大し、Thermal Shaper や Warp、Fractal Terraces などを用いてディテールを積み増しています。

8. Inhibition マスクの構築

地形が整ったら、次は Trees ノードに渡す Inhibition マスク を準備します。ここでは、ツリーを「生やさない領域」を論理的に定義していきます。

Flow / Flow Length / Flow Volume
まず Flow 情報から、重要な流路を抽出します。
  • 通常の Flow を取り出し、Curve で大きな流路を強調
  • Flow Length を高め、Flow Volume を下げることで、
    • 少ない堆積量で
    • 長く伸びる細いフロー
      を作り出す
これにより、「主流」と「細い支流」の両方をマスクとして取り扱えるようになります。
Slope / Height / Snow
次に、Slope や Height 選択を組み合わせます。
  • 急斜面マスク
  • ある程度以上・以下の高さを選択したマスク
  • 必要に応じて Distort を加えて、自然な揺らぎを付与
たとえば例では、Snow 40、Height 0.35 付近を基準に値を調整し、その後マスクを反転して「白い部分が Inhibition」となるよう整えています。
Color Erosion で Rock Flow を作る
ここで重要なのが Color Erosion ノード の活用です。
  1. Flow や Slope などから得られたマスクを Color Erosion に入力
  2. Blend モードを Max に設定し、明るい値を保持
  3. ブレンドを 100% にし、必要に応じてパラメータを微調整
こうすることで、
  • 斜面の形状に応じた、リアルな「岩屑流(scree / debris)」マスク、
    岩が溜まりやすい位置や流れが止まりやすい位置
などを表現できるようになります。
現実の山岳地帯では、
  • 崖のすぐ下には土がたまり、樹木が育つこともある
  • しかし、その下方へ流れ落ちた大量の岩屑が堆積している帯には、樹木がほとんど生えない
といったパターンがよく見られます。Color Erosion を使うと、このような分布をマスク上で再現しやすくなります。
マスクのコントラスト調整と統合
最後に、Curves でコントラストを強め、細かなノイズ的なフローを抑えつつ、大きな岩屑流だけを強調します。
  • 小さな流れ:あまり重要でないので抑える
  • 大きな流れ:はっきりと残す
Dusting や Snow などのマスクも含めてすべて合成し、
白 = 樹木が生えない(Inhibition)
黒 = 樹木が生える余地がある
という 1 枚の Inhibition マスクにまとめます。

9. Trees ノードへの適用

準備したマスクを使い、実際に Trees ノードでツリー分布を生成します。

基本設定
  • Input:地形(例では Choke Point からの出力を Portal 経由で接続)
  • Inhibition:先ほど作成したマスク
パラメータ例は次のとおりです。
  • Count in Thousands:500
  • Tree Size:0.1
  • Trim Under:0.15(弱いツリーをカットして形を整理)
  • Seek Water / Avoid Trees:今回は stacking していないので Avoid Trees は None
  • Health:75
  • Patches:小さめ
  • Spread:0 → 必要に応じて 0.25 程度まで上げる
Spread を加えることで、フローライン近くのツリーがより強調され、離れた領域でのツリーは弱くなっていきます。
得られたグレースケールマスクは、他の DCC(例:Blender)でのスキャッタリングにおける
  • Density(密度)
  • Scale(スケール)
などにそのまま利用できます。
Aspect Inhibition 側では、Slope と Altitude を控えめに使用しているものの、メインのコントロールは外部で作った Inhibition マスクが担っているため、あくまで補助的な扱いです。
Snow Dead Flow も少しだけ使っており、
  • Consolidation(まとまり)は低め
  • Bias も低め
とすることで、小さな雪フローが短い距離を流れ、その部分のツリーを部分的に削っています。
Chaos はこの例では調整していません。

10. マスクとしての書き出し

最後に、このツリー分布を外部ソフトで使えるマスクとして書き出します。

Shape を Big に切り替える
Point 形状のままだと、ピクセルが細かすぎてマスクとして読みづらいので、Shape を Big に変更します。
これにより、1 ピクセルではなく、より大きなブロックとしてツリーが描かれ、マスクを視覚的に把握しやすくなります。
Shaper / Curve での調整
Shaper を使って全体を明るくし、その後 Curve でコントラストを調整します。
  • 暗い部分:散発的なツリーや密度の低い領域
  • 明るい部分:ツリー密度の高い主要な森林帯
このグラデーションを保ったまま、外部ソフトでのスキャッタリングに使えるマスクに整えます。
Export ノード
最終的なマスクは Export ノード から画像として書き出します。
  • フォーマット:JPEG
  • ビット深度:8bit で十分(16bit までは不要)
マスク用途であれば、ファイルサイズを抑えた JPEG で実用上問題ありません。
追加の Blur / Warp
必要に応じて、わずかな Blur(例:0.1 前後)をかけて、エッジのピクセル感を和らげたり、Warp で微細なゆらぎを加えることもできます。
特にテクスチャリング用途でマスクを利用する場合、軽い Blur を入れておくと自然な結果になりやすいです。

まとめ

本記事では、Gaea の Trees ノードについて、
  • Inhibition 入力の役割と重要性
  • Instances / Area Mask それぞれの挙動と注意点
  • 地形生成〜Inhibition マスク構築〜Trees 適用〜マスク書き出しまでの一連の流れ
を整理して紹介しました。
特に、
  • 質の高い Inhibition マスクを外部ノードで構築すること
  • Spread / Patches を活用して、フローに忠実すぎる「筋状の森」を自然な塊にすること
  • Color Erosion を用いて、岩屑流などの「樹木が生えないエリア」を現実的に再現すること
が、Trees ノードで説得力のある植生マスクを作成するうえで、重要なポイントになります。

このワークフローをベースに、目的の地形やバイオームに合わせてパラメータやマスク構成を調整してみてください。

Gaeaチュートリアル!
Gaeaノード:Cellular3D
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:なだらかな丘陵地形の作り方
記事を読む
Gaeaチュートリアル!
GaeaSeamless・Repeat・Bomberノードの使い方と地形への応用
記事を読む
Gaeaチュートリアル!
Gaeaノード_Dusting(薄い砂塵)
記事を読む
Gaeaチュートリアル!
Gaeaノード_Shaper と Thermal Shaper
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:Gaea徹底解説_雪山ピーク
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:Gaea Node_Erosion2ノード入門
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:Thermal 2 入門:形を保つ侵食のコツ
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:砂岩と砂(Sandstone and Sand)
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:岩質クレーター地形(Rocky Craterfield)
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:High Mountain(高峰)
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:マスク領域エフェクト(Masked Area Effect)
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:山を動かす(Moving Mountains)
記事を読む
Gaeaチュートリアル!
Gaeaチュートリアル:河谷地形(River Valley)
記事を読む
Gaea入門!
Gaea 入門!6分間チュートリアル
記事を読む
Gaea2.2 リリース!
Gaea 2.2がついに登場!Erosion_2の大幅アップグレードや新ノード追加、150件超のバグ修正など史上最大級のアップデート。地形制作がさらに進化しました。
記事を読む