この動画は、Gaea 2 の基本的な使い方を分かりやすく紹介する入門編です。インターフェースや各種設定、ノードカテゴリ、基本的なワークフローを順を追って確認しながら、実際にひとつの地形を完成まで組み上げていく流れを説明しています。
これから Gaea を触ってみたい方はもちろん、あらためて基本を整理したい方にも参考になる内容です。動画内で使用している地形ファイルは、動画概要欄から案内されている Gaea 公式フォーラムで確認できます。あわせて、QuadSpinner 公式サイトでは Gaea Community Edition も提供されているため、動画を見ながら実際に手を動かして試してみることも可能です。
今回は特別編として、Gaea 2 のスターターガイドをお届けします。
この動画では、Gaea を始めるにあたって押さえておきたい重要なポイントを一通り見ていきます。基本を確認したあとで、最後にはこの Kyrgyzstan Valley のような地形を一緒に作っていきます。
まだご存じない方のために補足すると、Gaea には公式ドキュメント、Quickstart、フォーラムなど、学習に役立つリソースが用意されています。今回のような地形ファイルも、そうした公式の学習コンテンツとあわせて参照できる形になっています。
では、このサンプルはひとまず後にして、まずは新しいファイルを開いて全体の基本から見ていきましょう。
Gaea を初めて開くと、スタート画面が表示されます。ここでは新規プロジェクトを作成したり、既存プロジェクトを開いたり、最近使ったファイルを開いたりできます。さらに、Quickstart やサンプルファイルもここから参照できます。初めて触る場合は、まず Quickstart を開いて、どのように地形が構成されているかを見るのも良い入り方です。スタート画面には New Project、Open Project、Quickstart、Recent Files などが用意されています。
もちろん、最初から空のプロジェクトを作って始めることもできます。その場合は New Project を選びます。
では作業に入る前に、先に見ておきたい設定を確認します。Tools から Preferences を開きます。ここで特に重要なのは、Gaea の書類フォルダ、ビルド先、キャッシュ先などです。
プロジェクト関連の保存場所を設定できます。
ビルド出力先を設定できます。
キャッシュ保存先を指定できます。
autosave の扱いもここで管理できます。現行ドキュメントでは、autosave の保持期間に関する設定も用意されています。
Workspace では、Toolbox の見え方も調整できます。アイコンを中心にするか、ラベル付きにするか、あるいは隠すかを選べます。Graph 上のノードサイズや、接続線の見た目、UI カラー、古いハードウェア向けの表示最適化などもここで設定できます。動画ではコンパクトな Toolbox を使って説明を進めていますが、ここは自分が見やすい形に変えて問題ありません。Compact Toolbox や Most Used 表示の考え方は、公式の改善履歴でも触れられています。
Viewport まわりでは、ナビゲーション方法や表示品質も選べます。Quality は Low / Medium / High / Ultra のように切り替えられます。表示スタイルも、埋め込み表示にするか、フローティングにするかを選べます。動画ではビューポートを使いながら形を頻繁に確認するので、このあたりも自分にとって扱いやすい状態にしておくと良いでしょう。
Compute やキャッシュに関わる設定も、ワークフローにはかなり効いてきます。高解像度プレビューや大きいグラフでは、キャッシュやビルド管理の影響が大きくなります。公式ドキュメントでも、Preview Resolution と Export Resolution は分けて考えるよう案内されており、高解像度プレビューは重くなりやすい一方で、最終的な見え方の確認には重要です。
次に、ビューポートで最初に意識したいのが Preview Resolution です。プレビュー解像度は、0.5K、1K、2K、4K といった段階で選べます。低い解像度ほど処理は軽く、速く確認できます。一方で、最終的に 4K や 8K で書き出す予定なら、途中で一度は高めの解像度でも確認しておくのが大切です。公式ドキュメントでも、プレビューはあくまで設計用、ビルドは最終出力用であり、ノードによっては解像度差で見え方に差が出ることがあると案内されています。
表示モードについては、リアルなシェーディング寄りの見え方で確認することも、より形状確認寄りの見え方で確認することもできます。現行ドキュメントでは 2D ビューポート切替や表示モード切替のショートカットが案内されています。動画内ではマスクやカラーマップを 2D 的に確認しながら、必要に応じて地形形状へ戻って見比べる流れです。
ここで、重要なショートカットも押さえておきます。現行ドキュメントで案内されている主なショートカットは以下の通りです。
動画の操作を見ると、地形ノードを固定表示したまま別ノードを編集したり、Color や Mask を 3D 地形に投影して見たり、長いワイヤーを避けるために Portal を使ったりするのが、このチュートリアルの基本スタイルです。
Pin は、特定のノードをビューポート上に固定して、そのノードまでの変化を見ながら手前側のノードを編集するための機能です。Underlay は、Color ノードや 2D マスクを、実際の地形形状に投影した状態で確認するための機能です。公式ドキュメントでも、Pin はプレビューを固定し、Underlay は flat plane ではなく 3D surface 上でマップを確認するために使います。
Portal は、グラフの離れた場所同士を見えない接続でつなぐための仕組みです。Chokepoint は、たくさんの接続が集中する箇所を整理しやすくする特殊ノードです。大きいグラフでは、これらを使うだけでかなり見通しが良くなります。公式ガイドでも、Portal は長い接続を避けるための wormhole 的な仕組み、Chokepoint は再配線の手間を減らすためのノードです。
では次に、ノード群の全体像を見ていきます。Gaea のノードは、それぞれ役割がはっきりしていて、大きく Primitive、Terrain、Modify、Surface、Simulation、Derived、Color、Output、Utility といった考え方で整理できます。公式の Node Reference でも、各ノード群と個別ノードの説明があります。
地形の出発点になる基本形状。代表的なものに Gabor や Perlin があります。Gabor は Perlin や Voronoi とはかなり異なる、パターン性のあるノイズで、自然地形のさまざまな表現に使えます。Perlin は最も基本的なノイズで、Gaea では terrain design 向けに調整された geo-variant が使われています。Gabor には Size、Entropy、Anisotropy、Anisotropy azimuth があり、Perlin には Scale、Octaves、Warp 系設定などがあります。動画内で「山脈の連なりっぽいベース」に Gabor を使い、高さのムラ付けに Perlin を重ねるのは、かなり筋の通った使い方です。
単なるノイズよりも地形らしい出発形状を作るためのプリセット寄りのノード群。山、尾根、火山など、ある程度地形として意味のある形を最初から持っているので、Primitive より一歩先から始めたいときに便利です。
シミュレーションではなく、数理的・形状処理的に terrain を変形するためのノード群。
地形の表面ディテール、岩肌感、層状構造、微細な起伏などを付けるのに向いています。Transpose や ThermalShaper は、形を大きく壊さずに地形の説得力を増す方向の処理として使われています。
地形に自然現象が起きた結果を与えるための中心的なノード群。特に Erosion は、Gaea の核となるノードとして公式にも位置づけられています。
地形からテクスチャリングやマスキングに使える補助データを取り出すためのもの。slope、flow、occlusion、sunlight、texture mask などが含まれます。
SatMaps、Vegetation、Splat などが重要。SatMaps は地形の色分布を作るためのノードで、Splat は複数の白黒マスクを RGBA にまとめて保存する用途に向いています。Vegetation は任意のカラーマップ上に植生を育てるためのノードとして案内されています。動画内後半の「trees node」に相当する処理は、現行の公開ドキュメント上では Vegetationになります。
Mesher は terrain を 3D メッシュとして出すためのノードです。Output はノード出力をファイル保存するための明示的なノードで、現行ドキュメントでは Mark for Export の代替として説明されています。ただし現行ドキュメントでは、Output は後方互換寄りで、通常は Build Managerが推奨です。
では実際に地形を作っていきます。まず、新規プロジェクトを作成して保存します。今回は Kyrgyzstan Valley を目指しますが、完全コピーではなく、同じ考え方で近い形をゼロから組み上げていく流れです。
ベースには Gabor を使います。Gabor は、単発の山というより、連なった山脈や ridge のような印象を作りやすく、方向性を持ったノイズとして扱えます。Anisotropy を使うことで方向性の強さを調整し、Anisotropy azimuth でその向きを決められます。動画では、谷や山脈の流れを最初から持たせるために、Gabor を山地ベースとして採用しています。
ただ、Gabor だけだと高さが比較的均質になりやすいので、そこへ Perlin を掛け合わせて高低差のばらつきを加えます。Perlin 側では Octaves を抑え、Scale を大きめにして、大きな起伏だけを加えるようにします。Perlin は高い Scale ほど大きく、粗い形になり、Octaves が増えるほど複雑になります。動画内の使い方は、細部ノイズではなく大局的な高さムラとしての利用です。
Gabor と Perlin は Combine でまとめます。動画では Multiply を使って、Perlin を高さコントロール的に利用しています。これによって、山並みの高さが一様ではなくなり、ピークごとに差が出ます。その代わり全体の高さが少し下がるので、Height Remap などで高さレンジを整え直す流れになります。
次に valley floor のベースを用意します。動画では、完全な Constant ではなく、ある程度の起伏を持つベースを使う考え方が示されています。これは、完全にフラットすぎる面よりも、後段のシミュレーションが働きやすいからです。そのうえで、描いたマスクを使って main terrain と valley floor をブレンドし、谷の大枠を切り出します。
ここで使うのが、描画によるマスクです。現行ドキュメントでは Draw より Mask 系が中心ですが、動画の意図としては「谷の通り道を手で決める」ことにあります。2D 的にマスクを描き、そのマスクを terrain のブレンドに使うことで、主谷のラインを先に設計します。こうすると、あとから Rivers や Erosion をかけたときに、地形全体の骨格がすでに定まっている状態で侵食を進められます。
描いた谷マスクは、そのままだと trench のように急すぎるので、ぼかして falloff を作ります。こうしておくと、谷底から山腹へ自然なつながりができます。
さらに、全体に少し warp を加えて、まっすぐすぎる形を崩します。完全に滑らかなベースよりも、少しノイズや歪みが入っているほうが、その後の erosion や river の流れに情報量が生まれます。
次に Rivers を入れます。Rivers は、どんな地形でも比較的簡単に河川ネットワークを生成でき、必要なら地形をわずかに変形して”途切れない川の通り道”を作るノードです。Headwaters mask を使えば、川の始点となる領域もある程度コントロールできます。公式ドキュメントでも、Rivers は graph の早い段階でも後ろの段階でも使えるとされ、早い段階で使うと後続の Erosion が river path を考慮しやすくなります。
ここでは、主谷につながる tributary が出るように、やや強めの設定で川筋を刻みます。Downcutting を上げると、川がより深く terrain に食い込みます。Headwaters を増やせば、主流へつながる枝流も増えやすくなります。
このあと Erosion を入れて、地形の大きな侵食骨格を作ります。Erosion は Gaea の中心的ノードで、Feature Scale によって谷と尾根のスケール感を制御し、Downcutting によって侵食の掘り込み方を調整できます。動画では、まず地形全体の大きな形をここで決めています。つまり、表面ディテールや岩肌感より先に、山の量感や谷の入り方をここで固めます。これはとても重要な考え方です。
Erosion で shape detail scale や sharpness のバランスを取りながら、参考にしている Kyrgyzstan のような、尖りすぎず量感のある ridge に寄せていきます。公式ドキュメントでも、Feature Scale は最大級の谷や ridge のサイズ感に関わると説明されています。
もし flow が途中で不自然に切れそうな箇所があれば、HydroFix を使います。HydroFix は地形を大きく変えるノードではなく、flow zone を少し調整して、より長く切れ目のない flow を作りやすくする低レベルユーティリティです。公式ドキュメントでは、Rivers には HydroFix 相当の仕組みが内蔵されているので、Rivers に対しては必須ではないとも案内されています。動画で HydroFix を使って flow の抜け方を確認するのは、地形の排水方向を早めに見たいからです。
ここまでで base shape がだいぶ見えてきたら、ThermalShaper を使って山に量感を足します。ThermalShaper は、thermal erosion 的な効果をシミュレーションなしで与えつつ、地形の骨格を大きく壊さずに太らせるような調整がしやすいノードです。更新履歴でも追加ノードとして確認できます。動画では、谷を潰さず、山の面積感だけを増したい場面でこれを使っています。
さらに、山麓が参考画像よりも少し硬すぎる場合は、低標高帯だけ軽く Blur をかけて、下部をなだらかにします。高さマスクを使って、detail を残したい上部と、少し柔らかくしたい下部を分けて処理するのがポイントです。
ここで Chokepoint を挟み、base shape セクションとしてまとめておきます。こうしておくと、後段の surface detail や texture 作業に進んでも、どこまでが骨格形成なのかが明確になります。Chokepoint は graph を整理するための特殊ノードで、再配線を避けやすくする役目があります。
では次に、岩ディテールを入れます。ここで使うのが Transpose と Outcrops です。Outcrops で岩の張り出し形状を作り、それを flat な基準面から terrain へ投影するように載せていきます。Transpose は、terrain のシルエットを大きく壊さずに detail を転写しやすいので、地形の個性を保ったまま岩感を加えるのに向いています。
まず Constant で基準となる平面を用意し、その上に Outcrops を高密度で生成します。続いて、その結果を Transpose の reference 側に入力し、メインの地形へ適用します。ただし、このままでは地形全体が岩っぽくなりすぎるため、ピーク帯や急斜面だけに限定するマスクを使います。狙いは、高標高帯のピークや岩場にだけ、荒々しい岩の表情を加えることです。
こうすることで、山頂付近に岩らしい表情が加わり、参考画像に見られるような、切り立った岩場らしさに近づいていきます。強さはあとからいくらでも調整できるため、この段階では、効きすぎない程度に控えめに入れておくくらいで十分です。
次に、もう一段 Erosion を加えます。ただし、ここでの Erosion は、最初のように地形全体の形を大きく作り直すためのものではなく、表面のディテールをなじませたり、土砂がうっすら堆積したような印象を加えたりするための、軽めの調整です。動画では、穏やかな水による侵食を加えるようなイメージで使われており、小さな流路と控えめな堆積表現を作っています。
Erosion の公式ドキュメントでも、Downcutting を低めにすると、地形を深く削り込むというより、短い距離で土砂が動いて堆積しやすい傾向になると説明されています。また、Sediment Removal や Selective Processing を使うことで、侵食と堆積の出方を細かく調整できます。動画では、深い谷を強く刻むよりも、細い水の流れ跡や、やわらかく土砂がたまった印象を優先する方向で設定されています。
そのあと、さらに小さな rock detail を重ねます。ここでは Rock Noise のようなノイズを使って、terrain からぽこぽこと岩が突き出しているような micro detail を作ります。これも slope mask などで急斜面中心に入れ、境界は Blur でなじませます。こうすることで、参考画像にある硬い岩面が斜面に混じっている感じに近づけます。
さらに Thermal 系の処理を軽く加えて、いま載せた岩が terrain の上に乗っているだけに見えないよう、まわりを少し侵食してなじませます。こうすると、岩が terrain と一体化し、より自然な地形の一部に見えてきます。
その上で、Rivers をもう一度最終調整します。Water 量を低めにすると、流路はまっすぐ切り裂くよりも、terrain の抵抗を受けながら蛇行しやすくなります。逆に Water を大きくすると、より直線的で強い river になりやすいです。Rivers の公式ドキュメントでも、Water、Width、Depth、Downcutting が河川形状に影響することが示されています。動画では、細い stream が terrain の中をうねるような見た目を狙っています。
ここまで来たら Snowfall を入れます。現行ドキュメントでは Snowfall ノードが snowfall、melting、settling を扱い、Snow line、Slip-off angle、Adhered snow mass などを持つと説明されています。動画では、高周波で荒れた雪ではなく、少し厚めで、春〜初夏のように一部溶けた雪を狙っています。Snow line を高めに設定し、Melt と Adhered snow mass、Slip-off angle を見ながら調整していきます。
雪の設定は変化が出やすいため、大きく数値を動かすよりも、少しずつ調整しながら確認していくほうが安定します。必要に応じて Snowfall を 2 層に分け、上部にうっすら残る雪と、もう少し低い位置までたまる雪を作り分け、それらをまとめて雪マスクとして扱う方法も取れます。動画では、最終的に snow mask を独立したデータとして持たせ、カラー調整と書き出しの両方で活用できるようにしています。
ここまでで地形の最終的な形が整ったら、次はテクスチャ作業に入ります。まずは SatMaps を使って、地形全体の色のベースを作ります。最初に大きな色のまとまりを作り、そのあとで ColorErosion のような処理を加えて、全体になじませていく流れです。
Texture 系のノードは、公式にも slope、flow、soil、chaos など複数の要素を組み合わせて、テクスチャ用のマスクを作るためのものとして説明されています。この動画で狙っているのは、地形の特徴に色をそのまま機械的に貼り付けるのではなく、もう少し自然な大きさの色ムラを持たせることです。
まず grass / soil / rock が混ざる大きな色ベースを作り、その後に岩用の SatMap を別に用意します。岩は彩度を落としたグレー寄りにし、必要なら少し暖色や寒色へ寄せて雰囲気を整えます。そのうえで、Occlusion を使って岩の陰影・ディテールを少し強めます。Occlusion はデータマップ系ノードとして公式に存在しています。こうしておくと、あとで Blender や Unreal 側で PBR テクスチャを重ねても、Gaea 由来の macro detail が残りやすくなります。
次に、草地にする範囲と、岩や堆積物を見せる範囲を分けるためのマスクを作ります。ここでは、高さと斜面のきつさの両方を基準にすると自然です。標高が高く、傾斜の強い場所は岩や崩れた土砂が目立つ領域として扱い、標高が低く、比較的なだらかな場所は草地寄りにしていきます。
さらに Flow を使うことで、斜面を下っていく崩積土の筋や、川沿いに現れる岩っぽい帯状の表現も加えられます。公式ドキュメントでも、Erosion の Flow 出力はテクスチャやマスク作成に活用できるデータとして案内されています。
ここで作成した複数のマスクは、最後に Splat ノードでひとつにまとめます。Splat は、複数のマスクを RGBA の各チャンネルにまとめて出力できるノードです。動画では、rock、flow、tree、snow といった用途ごとのマスクを 1 枚のテクスチャに整理しています。
このようにまとめておくことで、Blender やゲームエンジン側でも扱いやすくなり、マテリアルの切り替えやブレンドにも活用しやすくなります。
植生表現には、現在の公式ドキュメントでは Vegetation ノードが案内されています。これは、任意のカラーマップをもとに植生の分布を作れるノードで、必ずしも緑色のマップを前提にする必要がない柔軟さがあります。動画後半で行っている treesの処理も、実際にはこの植生マスクを作っていく工程に近いものです。
ここでは、水辺に近すぎる場所や標高が高すぎる場所を避けるようにマスクを調整し、木が一様に生えるのではなく、ところどころにまとまりを持って分布する状態を作っています。
ここでの目的は、Gaea 上で木そのものを最終的に描き込むことではなく、木を配置するためのマスクを作ることです。まずは暗めの緑を重ねて全体の見え方を確認しつつ、あわせて Blender などの外部ツールで scatter に使えるよう、コントラストを強めた白黒マスクも用意しておきます。
最後に Light ノードを使って地形をさまざまな角度から確認し、見栄えのよいアングルやライティングを探っていきます。地形が完成したあとにこの段階を入れておくことで、形状とテクスチャの噛み合いを最終的に確認しやすくなります。
そして書き出しです。3D メッシュとして利用したい場合は Mesher を使います。Mesher は地形を 3D メッシュとして出力するためのノードで、形式や頂点数、LOD に加えて、Tris / Quads / Tris (Adaptive) といったメッシュ構造も選べます。メッシュを書き出さずに height map だけを出力することも可能ですが、CG ツールやゲームエンジン上で地形をそのままメッシュとして扱いたい場合は、Mesher を使うと便利です。
Height map は高低差の情報を保持する都合上、ダイナミックレンジを十分に確保できる高精度フォーマットでの出力が基本です。公式の更新履歴でも、32-bit EXR 関連の改善が継続的に行われています。カラーマップは JPG や PNG 系でも運用可能ですが、必要な精度や用途に応じて出力形式を選ぶのが適切です。
動画では、height map、splat map、雪を重ねる前のカラーマップ、必要に応じて dirt color などを分けて書き出し、最終的な PBR マテリアルの調整や scatter 配置は Blender 側で行う前提になっています。これは実務的にも扱いやすい方法です。Gaea 側で地形全体の大きな色分布や各種マスクを整えておき、DCC 側で細部の質感にあたるタイルテクスチャや vegetation scatter、snow material を重ねて仕上げる、といった役割分担がしやすくなるためです。
