Gaea 2 图文教程
这是一份面向中文使用者的 Gaea 2 系统教程。教程部分讲清软件各功能模块与参数体系;节点速查表收录全部 182 个节点并支持中英文检索;从零搭建部分给出六个可照做的完整案例;常见问题部分按现象排查故障。
全部节点名称、参数名称与功能说明依据 Gaea 2 官方文档整理。文中配图为说明地貌形态而生成的示意性渲染图,并非软件截图。右上角可切换亮色/暗色主题,以及中文/英文界面。
先看一遍:地形是怎么一步步做出来的
下面五张图是同一块地形在五个阶段的样子。先把这条顺序记住——先有大形,再上侵蚀,然后补表面细节,最后着色——比记住任何单个参数都重要。后面每个案例都是这个骨架的变体。
如何使用这份教程
- 完全新手:先读「Gaea 2 是什么」到「核心概念」,再跳到「从零搭建」的案例一,用三四个节点跑通第一次完整流程,最后回来看「功能模块详解」。
- 有基础、想解决具体问题:直接用「节点速查表」,输入用途关键词(例如「侵蚀」「上色」「碎裂」「沙丘」)定位节点,展开参数表查看每个参数的含义。
- 排查故障:到「常见问题」按现象找答案,那里按安装授权、性能、图与节点、地形质量、导出导入、色彩贴图分类。
Gaea 2 是什么
Gaea 2 是一款运行在 Windows 上的程序化地形生成软件,由 QuadSpinner 开发。它不让你用手去捏山,而是让你搭一张节点图:每个节点负责一件事——生成形状、扭曲轮廓、模拟侵蚀、铺设岩层、着色、导出——按顺序连起来,地形就沿着这条流水线被逐步加工出来。改动一个参数,下游链路重新计算,形态随之改变。
Gaea 的界面围绕一个循环组织:在无限图(Infinity Graph)里搭建地形逻辑,在视口(Viewport)里预览,在属性编辑器(Property Editor)里调参。这个循环决定了它的工作方式——参数改动立刻反映到视口,你可以用很低的分辨率反复试,形态满意后再用高分辨率正式构建。
它主要是一款资产生成器。Gaea 输出高度场(heightfield)、遮罩(mask)、颜色图、Splat 图、网格(mesh)、点云和分块世界,交给 Unreal、Unity、Houdini、Blender 这类下游工具使用。它支持主流的高度场与网格格式,并提供面向引擎的专用输出节点,以及 Gaea2Unreal、Gaea2Houdini 这类桥接集成。Gaea 2 的节点库有 180 多个节点,按家族分成 Primitive、Terrain、Modify、Surface、Simulate、Derive、Colorize、Output、Utility 九类。
Gaea 2.0 是从底层重写的一代。它和 Gaea 1 共用同一个品牌,但引擎、文件格式和节点体系都换过了,这一点在迁移时很重要。
版本与授权差异
文档中出现的版本名称是 Gaea 2.0 这一代际,静默安装示例里给出的安装包名为 Gaea-2.2.7.0.exe,安装向导中的截图标记为 2.0.1。版本历史页(Release History)在本地的官方文档抓取里只有说明性文字,没有列出各版本的更新条目。
Gaea 分为四个版本层级,文档中明确出现的是这四个名称:
| 版本 | 文档中的说明 |
|---|---|
| Community Edition | 免费版本,可从 quadspinner.com 下载。授权失效或丢失时,正在运行的 Gaea 会回落到 Community Edition 而不是直接退出。 |
| Indie | 可以安装并使用别人做好的 Macro。 |
| Professional | 可以创建并使用 Macro,另外包含 Expose Parameters、Variables and Expressions、Automation。 |
| Enterprise | 与 Professional 相同的扩展能力,面向企业授权场景。 |
两处硬性限制值得先记住:Gaea2Houdini 要求 Professional 或 Enterprise 授权;Gaea 界面(Gaea UI)和 Gaea Build Swarm 是两个都会调用 Gaea Engine 的程序,各自需要一个授权。如果你只有一份授权,可以在 Build 菜单里选 Close and Build,先关闭界面把授权让给 Swarm。
授权形式有三种:
- 在线授权密钥(License Key):标准格式为
xxxx-xxxx-xxxx-xxxx,在线浮动密钥带FL-前缀,形如FL-xxxx-xxxx-xxxx-xxxx。 - 离线授权文件:一个包含 XML 的
.lic文件,例如ABCD1234.lic,节点锁定(node-locked)到一台机器。 - 离线浮动授权:通过本地部署的 Fortress 服务分发,工作站的授权文件命名为
floating.lic,里面同时包含浮动密钥和服务器地址。
系统要求
Gaea 依赖 .NET 8.0 与 Visual C++ Runtime,安装程序会在需要时自动下载安装这两个运行时,因此安装过程需要联网。部分硬件还需要 Intel CPU Runtime for OpenCL Applications with SYCL Support。如果要装在没有外网的环境里,请提前把这些前置组件装好。
| 项目 | 最低 | 推荐 |
|---|---|---|
| 操作系统 | Windows 10(2018 年 4 月更新,Build 1803) | Windows 11 23H2 |
| CPU | Intel Core i5-4200U / AMD FX-8370 | Intel Core i7-4770K / AMD Ryzen 5 1500X |
| 内存 | 16GB RAM | 32GB RAM |
| GPU | NVIDIA GeForce GTX 1080 / AMD Radeon RX Vega 64 | NVIDIA GeForce RTX 3070 Ti / AMD Radeon RX 6800 XT |
| 硬盘 | 10GB | 50GB |
计算能力上有两条硬性前提:走 CPU 计算时,CPU 必须支持 AVX2 指令集;走 GPU 计算时,NVIDIA 显卡需要 CUDA 12.5,AMD 显卡需要 HIP 6.0。内存需求随项目变化很大,具体估算见内存章节,官方也建议先用 Community Edition 确认自己的硬件能不能跑。
安装方式与首次启动
Gaea 提供三种安装途径。安装程序(Setup Executable)是主要且推荐的方式,它同时提供常规安装与便携安装两种模式,并会写入 Gaea2Unreal、Gaea2Houdini 桥接所需的注册表项。7-Zip 包里的文件和安装程序完全一致,但纯粹便携,不写注册表,适合批量分发或自己打包。winget 可以用一条命令安装:
winget install gaea
winget 仓库的版本接受较慢,可能落后于官网,所以已经装过 Gaea 的机器会收到应用内的更新提示。
常规安装(Regular Installation)需要管理员权限,默认装到 Program Files。如果装到网络位置,必须映射成盘符,不能用 UNC 路径,否则 Gaea 可能无法正常工作。便携安装(Portable Installation)装到用户可写目录,默认路径是 C:\Users\YOU\AppData\Local\Programs\Gaea 2.0,不需要管理员权限,也不会创建桥接所需的注册表项。
批量部署时,安装程序支持静默参数:/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-,配合 /ALLUSERS(为所有用户安装)、/CURRENTUSER(仅为当前用户安装)、/DIR="X:\PATH"(指定安装目录)和 /LOG="文件名"(输出日志)。
首次启动会出现 Welcome 对话框,让你设置 Gaea Projects 的存储路径并选择视口导航风格,同时可以填入 License Key。密钥也能在每次启动的 Start Screen 或 Help > About 里输入。如果你拿到的是 .lic 文件,直接把它拖到授权对话框上即可。
Gaea 的数据目录(Data Folder)位置随安装模式变化。常规安装在 Program Files 时,数据目录是 <UserFolder>\AppData\Roaming\QuadSpinner\Gaea\2.0;便携安装时数据目录位于 Gaea.exe 旁边,例如装在 D:\Programs\CG\Gaea\ 就会生成 D:\Programs\CG\Gaea\Data\。首次运行时会先判断安装目录是否可写,可写就在那里建 Data,否则退回到 AppData。项目与构建输出的默认位置分别是 Documents\Gaea\Projects\ 和 Documents\Gaea\Builds\,都可以在 Options 的 Paths 面板里改。不要把项目目录或用户目录设在 Gaea 安装目录内部。
许可证激活
授权对话框有多个入口:首次启动的 Welcome 对话框(点 Have a license key?)、Community Edition 的启动对话框、Help > Manage License,以及 Help > About。填入密钥点激活,Gaea 会连接授权服务器完成授权。
离线或无人值守场景靠文件激活,三种文件名不要混用:
activate.lic:纯文本文件,里面只放授权密钥,不放别的字符或空行。放进 Gaea 数据目录。启动时如果授权尚未生效,Gaea 会尝试用它激活。gaea2.lic:把离线授权文件改名成这个名字,放进数据目录。floating.lic:离线浮动授权,放进数据目录,Gaea 会从中读取浮动密钥与服务器连接信息。
离线授权是节点锁定的,申请时需要提供硬件指纹(Hardware Thumbprint):打开 Help > About,点 License 文字下方那个紫色的 Thumbprint 读数旁的复制图标即可。主板、处理器这类大范围硬件变更会让离线授权失效,需要拿新的指纹联系技术支持换发。
浮动授权的密钥带 FL- 前缀。启动 Gaea 时它会向在线授权服务器申请一个席位,如果席位已经分完会收到提示,需要等别人释放。保活方式是约 5 分钟一次心跳,另有约 5 分钟宽限期容忍网络抖动。网络中断时 Gaea 会在客户端和服务器两侧释放席位,但正在运行的实例不会退出,只是回落到 Community Edition,你还有机会保存文件。崩溃或断网后重新申请时如果看到 "Maximum Clients Assigned",通常是因为旧席位还没释放,等一个心跳周期(5 分钟以内)再试即可。Help > About 里的 Refresh 按钮可以强制重新验证并重新获取授权,Release 按钮则释放当前授权并回落到 Community Edition。工作站不能直连外网时,可以在 Options 对话框里指定代理地址。
释放授权有两条路。本地操作是 Help > About > Release License,它会把安装退回 Community Edition,但不是永久反激活,之后可以重新激活;命令行等价操作是:
Gaea.exe -deactivate
不在那台机器上时,可以登录 QuadSpinner 账号,打开 License Dashboard,点 Show,进入 Activations,找到要移除的计算机点 Release。注意文档明确说明每年允许的激活次数有限,激活过于频繁会被服务器禁用授权,需要联系技术支持恢复。
排错时先确认数据目录里只有一份 .lic 文件——多份授权文件会因加载顺序不同而互相干扰。网络方面,需要放行 *.quadspinner.com 和 *.gaea.app(含全部子域)的 TCP 80 与 443 端口。
从 Gaea 1 迁移
Gaea 1 的 .tor 工程文件不能在 Gaea 2 中打开,两代引擎完全不同,Gaea 2 使用的是 .terrain 文件。旧项目请继续用 Gaea 1 维护;如果确实需要把地形带进 Gaea 2,最精确直接的做法是在 Gaea 1 里导出 R32,再导入 Gaea 2。如果你在 Gaea 1 里用了固定文件名,之后每次重建输出都可以在 Gaea 2 里刷新输入。
节点层面,Gaea 2 停用了大量 GeoPrimitives 和全部 LookDev 节点,取而代之的是新的 Landscape 与 Surface 节点,另有一部分节点为了表意清楚改了名字。文档的节点变更表按 Gaea 2 的分类列出每个节点的状态:新增、改进、无重大变化、重命名。几处容易踩到的重命名:FlowClassic 原来叫 "Flow Map",MacroPort 原来叫 "Wormhole",Edge 原来叫 "Zero Borders"。
新增节点数量很多,覆盖各个家族,例如 Primitive 下的 Cellular、Cellular3D、DotNoise、LinearGradient、RadialGradient,Terrain 下的 CraterField、DuneSea、MountainRange、Volcano,Simulate 下的 Erosion2、EasyErosion、Wizard2、Thermal2、Glacier,以及 Output 下的 PointCloud、Unreal、Unity、TextureBaker。界面上,Gaea 1 的 Post Process Stack 演进成了 Gaea 2 的修改器堆栈(Modifier Stack),可以挂在大多数节点上做后处理微调,比新建节点更省内存。
界面总览
Gaea 的界面围绕一个循环组织:在节点图里搭建地形逻辑,在视口里预览,在属性编辑器里调参。窗口被划分为几个固定区域——顶部是主菜单,中间是无限图(Infinity Graph),右侧是属性编辑器与数据视图(Data View),视口既可以嵌在主布局里,也可以浮出来单独看。下面按区域逐个说明。
主菜单
主菜单按常规 Windows 应用的方式组织,包含 File、Edit、Graph、Node、Preview、Project、Tools、Help 八个菜单,覆盖工程管理、图工具、烘焙/构建/导出动作以及诊断。文档中明确出现的菜单路径包括:
- File > Export > Macro... 与 File > Import > Macro:导出和导入 Macro。
- Graph > Bake > Bake Required Nodes:自动烘焙所有需要烘焙的节点。
- Tools > Plugins:安装 Gaea2Unreal 这类插件。
- Help > Manage License、Help > About:管理授权、查看硬件指纹、释放授权。
构建相关的设置集中在 Build Options 窗口里,用左侧标签页切换 Resolution、Build、Tiles、Nodes、Script、Terrain、Regions、Profiles、Commands。
Infinity Graph 无限图
无限图是 Gaea 的核心工作区。你在这里放置节点、连线,把地形逻辑组织成一条从生成到输出的流程。它被设计成从小实验到大型生产图都能容纳,不强制某一种固定结构。
节点按家族分成 Primitive、Terrain、Modify、Surface、Simulate、Derive、Colorize、Output、Utility,加上你自己安装的 Macro。工作时有几个高频快捷键值得记住:P 打开 Manage Portals 菜单,F 把当前节点设为 Lock Preview,G 把节点设为 Underlay,V 在视口里临时切换平面预览,F3 把节点标记为导出(Mark for Export)。
图的工作方式可以在 Options > Graph 里调整:Grid Snap Size 决定节点吸附间距,可选 10 / 20 / 25 / 50 / 100,默认 25;Allow Node Shortcuts Only When Cursor is Inside the Graph 打开后,只有鼠标悬停在画布上时才响应建节点的快捷键,避免在界面其他地方误建节点;另外两项是 Hide Graph Tabs 与 Hide Bookmark Shortcuts。
图的组织方式
Tabs(标签页)把一张工程切成多张图。图顶部有一行标签页用于切换,也可以在 Options > Graph 里把这一行隐藏。数据视图里的节点树会把标签页显示为层级的第一层;当工程里使用 .tfrag 内容时,标签页也可以代表独立的 .tfrag。
Groups(分组)是图内部的容器,用于把相关节点收在一起。数据视图的层级是 Tabs → Groups → Nodes,分组和标签页都可以展开或折叠;容器内的节点按它们在图上的左右顺序列出,笔记(note)也会一并显示,方便从同一个导航面查看标注。
Portals(传送门)让节点之间跨越大段距离连接,而不画出一条可见的连线,可以跨越不同的标签页。创建方式有三种:右键一条已有连线,选 Convert to Portal;右键节点选 Manage Portals(快捷键 P),再选择要转换的端口,该端口已有的连接会一并转成 Portal 连接;在 Manage Portals 菜单里转换端口时按住 Shift,Gaea 会先创建一个 Chokepoint 节点,再把它的输出变成 Portal。对输入端口选 Connect to Portal 会弹出一个搜索框,列出可用的 Portal。
Chokepoints(瓶颈节点)是 Chokepoint 节点,唯一目的是避免重新连接大量节点,本身不增加内存开销。复杂图里常会出现天然瓶颈——某个节点被多个下游引用,一旦要替换它就得重连一圈,把 Chokepoint 放在重要分支之前,改上游时只需要改一处。
Underlays(底层参考)决定在显示颜色或遮罩时,下面垫的是哪一个地形。默认 Gaea 会取最近的 Heightfield/Terrain 节点;如果图有分叉,它可能挑错节点,这时右键正确的 heightfield 节点选 Use as Underlay,或选中节点按 G。被指定为 Underlay 的节点会以紫色链接的形式出现在数据视图工具栏上。反向需求用 Exclude from Underlay:右键某个节点把它排除,Gaea 会向上找父节点。要注意的是,修改 Underlay 之前的节点会导致中间所有节点一起更新,在 2K 以上的预览分辨率下会明显变慢;Gaea 检测到这种下游 Underlay 时会在属性编辑器里给出警告。
Lock Preview(锁定预览)把视口钉在某个节点上,之后编辑它之前的任何节点,改动都会一路传导到这个锁定节点,方便你在改上游的同时判断最终效果。右键节点选 Lock Preview 或按 F 即可;锁定节点在数据视图工具栏上显示为绿色链接。不在锁定节点下游的节点在解锁之前不会更新。
Viewport 视口
视口是主要的预览区,支持三维查看,也提供可选的二维视口,用来评估地形的形状、尺度与细节。它既可以嵌在主布局里,也可以作为浮动窗口使用。导航模式有三种:Orbit(环绕)、Free/WASD(自由飞行)、Orthographic(正交),另外还有网格/边界/罗盘这类视口元素的开关,以及相机保存与加载。
视口本身的外观在 Options > Viewport 里配置:
- Antialiasing:可选
None、2x、4x、8x,默认4x。数值越高边缘越干净,低端 GPU 上会掉性能,中端卡建议用2x或4x。 - Display Options:
Do not clear viewport when unselecting a node(取消选择节点后仍保留上一个地形)、Show Grid、Show Compass、Show Base Marker、Conserve memory when displaying 4K terrains(为 4K 以上地形省内存,略微牺牲保真度)。 - Background:视口背景色,点色块选色,按
X恢复默认。 - Mask Gradient:遮罩输出的配色,可选
Greyscale(默认)、Red、Blue、Spectrum。
鼠标与键盘操作在 Options > Navigation 里配置:Rotate、Pan、Zoom 各自可以指派左/中/右鼠标键,也可以要求按住 Alt 才生效;三者灵敏度各有滑块,默认 100%。另外三个开关影响手感:Invert Y Axis 反转垂直方向,Flip Y Pan Direction for QE Keys 交换 Q 与 E 的平移方向,Invert Zoom Direction 反转滚轮缩放方向。
Viewport Toolbar 视口工具栏
视口工具栏提供一组快速控制:
- 预览分辨率(Preview resolution):从
512一直到4096。 - 光照与大气(Lighting and atmosphere):太阳/灯光/大气相关控制。
- 渲染样式(Render styles):文档给出的例子包括 realistic、clay 和 data-visualization 三类风格。
- 视口开关与工具:包括显示/隐藏二维视口,以及测量、拾取类工具。
Property Editor 属性编辑器
选中一个节点,它的设置就出现在界面右侧的 Properties 面板里。改动会立即生效并反映到视口,这是 Gaea 快速迭代的基础。
属性类型基本是有限的几种:Integer(整数,通常表示数量或角度这类有限值)、Decimals(小数,通常表示强度或数量,小幅改动往往影响很大)、Toggle(开关)、Choices(下拉选项)、Color(颜色,用于产色节点)、File(选择本机文件)。处于默认值的滑块会显示得略淡,这个行为可以在 Options 里控制。
数值属性可以右键直接输入数字。对于以百分比显示的属性,你可以按米输入,Gaea 会按 Build 标签页里 Terrain Definition 的宽度换算:地形宽度是 5000m 时输入 500m,换算结果就是 0.1,也就是 10%。
右键整数或小数属性会打开 Nudge 面板,用于更高精度的调整:
| 命令 | 作用 |
|---|---|
| Halve | 当前值减半 |
| Double | 当前值翻倍 |
| Minimum | 取允许的最低值 |
| Decrease Large | 大幅减少(例如 100% 中的 10) |
| Decrease Small | 小幅减少(例如 100% 中的 1) |
| Reset | 恢复原始/默认值 |
| Increase Large | 大幅增加(例如 100% 中的 10) |
| Increase Small | 小幅增加(例如 100% 中的 1) |
| Maximum | 取允许的最高值 |
Nudge 里还有一个 Seed Reset:节点创建时的随机值会被记为默认种子,之后无论怎么改,重置 Seed 就能回到最初那个值。
属性编辑器上方还有一条 Property Editor Toolbar,提供针对节点的动作:把当前节点替换成相关的另一个节点、管理状态(revert / reset / save state),以及为支持视口操纵器的节点启用 gizmo。
Modifier Stack 修改器堆栈
修改器(Modifier)是挂在大多数节点上的一层后处理,直接作用于该节点的输出,不需要重建节点就能调整结果。很多修改器和同名节点功能相同,但用修改器比专门建节点开销更小。
堆栈里的顺序可以调整,这常常会改变最终结果,尤其是 Autolevel 或 Height Remap 这类影响很大的修改器。修改器堆栈是 Gaea 1 里 Post Process Stack 的演进版本,更灵活、更省内存。
按文档的分类,可用的修改器如下:
| Height | Effects | Blend Modes | Masks |
|---|---|---|---|
| Autolevel | Blur | Max | Influence |
| Clamp | Warp | Min | Height |
| Drop | Shaper | Difference | Slope |
| Equalize | Threshold | Invert | |
| Height Remap | |||
| Match Height | |||
| Strong |
此外有三个特殊的修改器不以节点形式提供:Influence、Min、Max。
Data View 数据视图
数据视图位于图的右侧,是一组用于检查工程结构、构建输出、节点诊断和暴露变量的标签页。当你需要在大图里找节点、在构建前做一次审计、查看某个确定数值,或者为自动化和 Macro 暴露参数时,用它比在画布上平移找节点快得多。
Terrain 标签页包含节点树和图过滤器。顶部绿色与粉色的图标分别代表当前的 Lock Preview 节点和 Underlay 节点,悬停可以看到是哪个节点,点击可以直接跳过去。过滤器可以把节点按类型或行为筛出来,启用后其他节点会从树里隐藏、在图里变灰,可选:None(清除过滤)、Marked for Export、Requires Baking(Hybrid 或 Tiled 构建前需要烘焙的节点)、Nodes with Errors、Heavy Nodes(基于中位数算出的最耗时节点)、Orphan Nodes(未连接且不参与任何输出的节点)、Bypassed Nodes、Has Modifiers、By Type(Generators、Simulations、Colorizors、Exportable、Logic 等)。
节点树的键盘快捷键大多与图上一致,也可以到 Options > Graph 里自定义。
Build 标签页列出被标记为导出的节点,让你在离开数据视图前核对当前构建分辨率、构建目标与输出文件名格式、哪些端口会被写出、每个导出的输出格式。工具栏上还有跳到构建配置、输出文件与输出配置的快捷入口。
Stats 标签页显示选中节点及其生成数据的详细信息:节点 ID 与名称、构建状态与上次构建耗时、输出分辨率、通道数与数据类型、预计输出大小、heightfield 与 mask 的 min/max/range、多输出或颜色节点的逐通道信息、节点错误与构建消息。需要向下游提供确定数值、或者某个节点输出异常时用它。
Vars 标签页用来创建、组织和管理暴露参数。变量可以是 Float、Int、Range、Choice、Bool、String 或 Color,高级工作流还可以用 Undefined;分隔符(Separator)和分组(Group)这类 UI 装饰用来整理暴露出来的控件。这里可以编辑变量、按节点分组、绑定与解绑属性,并复制命令行需要的变量配置字符串;面向插件和 Macro 的端口快捷方式可以一次性为全部端口、仅输入端口或仅输出端口创建暴露控件。
数据视图的外观在 Options > Data View 里调整:Icons Display 可选 Colorful(默认)、Muted、Hide;Always Expand 打开后所有分类默认展开。
Lazy Menu(F1)
Lazy Menu 是一个可配置的、键盘优先的快速访问枢纽,按 F1 呼出,用来直接跳到界面上的关键区域与工具。它列出的条目包括 2D Viewport、Lighting Options、Graph、Properties、Modifiers、Node Tree、Variables View、Build View 和 Build Settings。
每个条目在 Options > Lazy Menu 里可以设成三种可见性模式之一:Hide 从菜单中完全移除,Muted 以变暗的方式保留,Bright 高亮显示(大多数工具的默认值)。想让界面更干净就把不常用的项设成 Hide,想保留可达性又不想抢注意力就用 Muted。
核心概念
地形在 Gaea 里是一张灰度图,图上的数字被解释成海拔。理解这一层,节点、分辨率、构建、烘焙这些概念就都有了统一的解释。
高度场(Heightfield)
Gaea 里地形用高度场(heightfield)表示:一张像素网格,每个像素的值在 0 到 1 之间,对应地形上的一个高程点。0 是最低点,1 是最高点。文档的例子是:最大高程 100 米的地形里,高度值 0.5 就是 50 米海拔。
存的是比例而不是绝对高度,所以同一张高度场配上不同的 Terrain Definition 就是不同规模的地形:真正的米数由 Build Options 里 Terrain Definition 的 Height 决定。Gaea 用高精度小数(例如 0.005893f)存储像素值,缓存体积远大于 8 位或 16 位灰度图。
高度场是单通道数据,颜色节点输出多通道(RGB)数据,数据量还要乘以输出端口数量,具体大小见本节末尾的内存估算。着色也基于同一套数字:CLUT(颜色查找表)本质上是一条渐变,按 0.0 到 1.0 的高度值取色,「雪线在某个高度」就是「在某个高度值上切换颜色」。
节点、端口与连接
节点是地形的加工步骤,每个节点代表一个具体功能:生成形状、加侵蚀、做纹理、导出。Gaea 2 的节点库按家族组织:
| 家族 | 用途 |
|---|---|
| Primitive | 基础形状、渐变、图案、噪声源。 |
| Terrain | 大型地貌起点:山、岛、脊、沙丘、火山口。 |
| Modify | 重塑、滤波、扭曲、钳制、锐化与清理。 |
| Surface | 表面特征:阶地、岩石、沙、裂隙、层理。 |
| Simulate | 自然过程:侵蚀、积雪、碎屑、水流、植被。 |
| Derive | 从高度、坡度、流向、曲率推导遮罩与辅助图。 |
| Colorize | 颜色、调色板、通道拆分与合并。 |
| Output | 预览、渲染、烘焙、导出与引擎交付。 |
| Utility | 数据路由、图组织、遮罩管理与可复用逻辑。 |
端口(Port)是节点上的数据进出口。节点至少有一个输入端口和一个输出端口,部分节点有多个输出——Erosion2 有 4 个输出端口(例如 Out、Flow、Wear、Deposits),所以它在 4096 x 4096 下的缓存是 256MB,而只有单输出的 Ridge、Adjust、Shaper 是 64MB。端口还有显示类型的概念,例如 Heightfield、Mask、Color。
连接(Connection)决定数据流向。图是有向的:数据从上游流向下游,只有连到最终输出的分支才会被计算,孤立节点不参与构建。输出端口可以转成 Portal 跨图连接,也可以挂在 Chokepoint 上避免大面积重连。
把一段图打包成可复用的单个节点,Gaea 提供的机制是 Macro:两个 MacroPort 夹着若干处理节点,一个设为 Direction = Input,一个设为 Direction = Output,连线形如 In > Shaper > Out。用 File > Export > Macro... 导出,生成的 .macro 安装后存放在 \Data\Macros 下,之后像普通节点一样搜索使用。版本限制:Indie 只能安装并使用已有 Macro,创建 Macro 需要 Professional 或 Enterprise。
分辨率与世界尺度
Gaea 用米描述世界,一个单位等于一米。地形的物理尺寸由 Build Options 的 Terrain Definition 决定:Width 是宽度(米),Height 是最大高度(米),Real Scale 显示当前构建分辨率下每像素代表多少米,Height-Scale Ratio 显示高度与宽度的关系。分辨率决定用多少像素存这张高度场,常用范围从 512 x 512 到 8192 x 8192,入门建议先用 1024 x 1024 或 2048 x 2048。
米和像素是两套不能直接换算的单位,所以 Gaea 用纵向压缩比来保持比例:
压缩比 = 高度 / 尺寸
文档给的默认世界是 5000m x 5000m x 2500m,代入就是 2500 / 5000 = 0.5,一个正好 0.5 的比例。另一个例子是水平尺寸 2000 米、最大高程 500 米的地形,500 / 2000 = 0.25,意味着水平方向每走 4 米才可能产生 1 米高差,读起来就是一片缓坡。
这个比值最实际的用途是导入三维软件时恢复比例:把垂直轴(通常是 Z 轴)的缩放设为算出的比值,例如 0.25,水平轴(X、Y)保持默认的 1.0,再应用这次缩放。比值也是调节手段:尺寸不变时提高 Height,地形变陡;降低则更平缓。
预览(Preview)与构建(Build)
预览和构建用同一张图,区别在规模与目的。视口工具栏的预览分辨率可在 512 到 4096 之间切换,用于日常调参;构建在 Build Options 的 Resolution 标签页指定输出分辨率(例如 2K 或 4K),决定真正写出多少像素的数据。
Resolution 标签页的其余选项:Region 选择构建范围;Subdivision 选择速度与质量的平衡,可选 None、Faster、Balanced、Slower;Output 选择 Single Image 或 Tiled Images;启用分块后 Tile Size 设定每块尺寸,Blending 设定相邻块之间的混合百分比。
用低分辨率反复试参数是安全的:Gaea 的侵蚀算法是分辨率无关的,512 x 512 的预览构建与 4K、8K 的正式构建在主要侵蚀特征上保持一致,不需要靠猜来判断输出。
构建的落盘规则在 Build 标签页:Build Destination 指定输出目录,可以保持一个固定目录存放最新副本、构建结束后自动打开输出目录、把 .terrain 一起复制过去;Remove Primary port name in Build output 去掉输出文件名里的主端口名;File Overwrite Mode 决定同名文件是 Overwrite 还是 Increment。路径里可以嵌入 Build Path Tokens。
要让某个节点的输出进入构建,右键它选 Mark for Export,或按 F3,可以同时标记多个节点。导出文件名格式是 <Name or NodeName>_<PortName>.<extension>。全局默认格式在 Options > Build 里:Heightfield 默认 EXR(也支持 RAW、TIFF 等),Color Maps 与 Masks 默认 PNG16。
烘焙(Baking)与 Linchpin 节点
烘焙(Baking)把一个节点当前的输出按指定分辨率锁定下来,避免重复计算。烘焙分辨率可选 1024 x 1024、2048 x 2048(默认)、4096 x 4096、8192 x 8192。
Bake 菜单的命令有:Bake Selected(烘焙选中节点)、Bake Required Nodes(烘焙参与分块运算的节点,保证分块之间接缝连续)、Force Load Baked Cache(强制重新加载烘焙缓存)、Unbake Selected(解除选中节点的烘焙,使其重新可编辑)、Unbake All(解除全部烘焙)。烘焙不是永久操作,随时可以解除并重新烘焙。
配套的 Cache Previews to Disk(旧称 Session Cache)把节点预览写到硬盘而不是留在内存。它有两个独立可选的时机:When Closing File 在关闭文件时把预览与构建结果存盘,随文件持久生效;When Idle 在系统空闲、某节点若干分钟未被修改时自动烘焙,是会话级设置,下次启动 Gaea 会重置。另有 Delete Cache 清除已有缓存。
Linchpin 节点是烘焙带来的额外收益。加载烘焙缓存时,Gaea 只加载「被烘焙、且连接到未烘焙节点」的那些节点,它们的祖先不会被载入。文档的例子是:5 个烘焙节点里只有最后一个被识别为 linchpin,另外 4 个被卸载,内存与缓存占用降低约 66%。这些未加载的节点在图上以虚线边框表示,可以从属性编辑器手动加载;若要修改它们,推荐解除烘焙、改完再重新烘焙。
区域(Regions)与分块构建(Tiled Builds)
区域(Regions)把地形的一小部分单独放大到高分辨率。文档给的例子是取 8192 x 8192 地形的六分之一,放大到 8192 x 8192,像素密度提升近 6 倍。区域数量没有限制,每个都能单独预览。添加方式是在 Build Settings 的 Regions 标签页右键选 Add Region,拖动右下角控制点调整大小与位置;退出后,预览分辨率选择旁边会多出一个下拉框用来切换区域。整张地形与区域来自同一张程序化图,改一处两边同步变化。
区域和分块构建一样,初始生成器必须先烘焙才能构建或预览,缺节点时 Gaea 会提示。Gate 节点是常用技巧:放在需要烘焙的节点链末端,配合 Bake Required Nodes 一次性烘焙全部 Gate,用 Unbake All 全部解除。烘焙看起来像降质,实际几乎不会——初始形状可能略低,但接上 Erosion 或其他模拟后 Gaea 会渲染全分辨率结果,所以初始形状要尽量简单。
分块构建(Tiled Builds)把地形当作一格格小块处理,而不是整张一次性构建:工作量被切小,峰值 CPU、GPU 与内存压力下降;导出的结果天然分块,适合按区块流式加载地形的引擎,能降低运行时内存并支持按需加载。
分块结果可能与整图不同,因为某些操作只能「看到」地形的一部分:依赖当前分块之外信息的节点,单独求值时会在分块或桶(bucket)边界产生不连续,常见来源是假设整张画布的屏幕空间生成器、采样范围很大的滤波器、按区域隐式归一化的细节。解法有三种:把上游不适合分块的部分烘焙成稳定基底;用 Hybrid Builds 给出足够大的桶与混合量;避免逐块归一化。
组织上建议先做宏观形状,在宏观阶段找出不适合分块的节点并烘焙成基底,再在其后接侵蚀与表面细节。构建前检查:世界分辨率要能被分块分辨率整除;想保持全局色调一致,就不要让操作逐块自动调整。
Hybrid Builds 是分块构建的一种模式:导出的分块可以很小(例如 512 x 512),但按更大的桶构建(例如 4096 x 4096)再细分,一个桶产出 8 x 8 共 64 块,需要邻域信息的节点因此能拿到更多周边数据。Hybrid Subdivision 的选项有 None(仅当世界能放进 8K 或 16K)、Faster、Balanced、Slower。桶分别处理会让边界不匹配,需要提高桶之间的混合量,文档建议从约 25% 起步;仍有接缝就先加大桶尺寸。
还有一条与烘焙配合的经验:烘焙分辨率要取最接近完整世界尺寸的那一档。例如世界由 8 x 8 个 512 x 512 分块组成,就选 4096 x 4096 作为烘焙分辨率。
内存需求估算
构建失败时最常听到「我的显卡有 8GB」「我的内存有 64GB」,但程序化图代表的数据量远超直觉:每个节点都会生成单通道(heightfield)或多通道(RGB)数据,还要乘以输出端口数量。
| 分辨率 | Size in Memory (Heightfield) | Size in Memory (RGB) |
|---|---|---|
| 1024 x 1024 | 4MB | 12MB |
| 2048 x 2048 | 16MB | 48MB |
| 4096 x 4096 | 64MB | 192MB |
| 8192 x 8192 | 256MB | 768MB |
| 16384 x 16384 | 1024MB | 3072MB |
规律是分辨率翻倍、内存需求变为 4 倍。8K 地形图用 20 个节点,缓存大约 5 到 8GB,理论上 16GB 内存是底线,但官方建议 32GB,以减少内存不足时改用硬盘当内存的分页(paging)。16K 更夸张:同样 20 个节点,实际缓存需要 20GB 到 30GB,算上整体处理与管理可能达到 96GB,所以官方建议 16K 构建至少 64GB,条件允许就上 128GB。
省内存的路径有三条:把工程拆成多个文件(形状生成一个、颜色生产一个);用烘焙节点把数据从活动内存挪到磁盘;尽量少用节点,能用修改器(Modifier)代替节点就用修改器。
导出网格另有一笔账:网格每个像素生成一个顶点,2048 x 2048 的地形有 2049 x 2049 个顶点,约 400 万个。Mesher 的 Optimized 选项按复杂度分配多边形,典型场景可减少最多 60% 面数;另一种做法是导出高分辨率置换贴图配一张低分辨率网格。
状态栏右下角的 Allocated Memory 每 5 秒更新一次,只统计已分配的缓存,不含中间过程临时占用的部分,只能当作估算值参考。
参数体系与节点操作
属性编辑器(Property Editor)
选中一个节点,它的全部设置就出现在界面右侧的 Properties 面板里。改动立即生效并反映到视口,不需要点"应用",也不需要重新构建节点。默认值未改动的滑杆显示成略暗的颜色,方便一眼看出哪些参数动过;这个行为可以在 Options 里调整。
属性面板顶部的属性编辑器工具栏(Property Editor Toolbar)集中了几类与节点本身相关的操作:把当前节点替换成相关节点、管理节点状态(还原、重置、保存状态),以及为支持视口操纵器的节点打开 Gizmo。Gizmo 是视口里的可拖拽手柄,适合 Mountain 的 X/Y 偏移、Island 的轮廓这类"看着调比输数字快"的参数。
参数的数量级差异很大。整数类参数通常表示数量或有限值,比如角度、次数;小数类参数通常表示强度或比例,改动幅度很小就可能带来明显变化。文档特别提示:如果某个参数叫 Iteration、Strength、Cycles 或 Amount,调高时要留意处理时间。
数值输入有几种方式:
- 右键一个整数或小数参数,可以直接键入数值。
- 右键会打开 Nudge 面板,提供 Halve、Double、Minimum、Maximum、Decrease Large、Decrease Small、Increase Large、Increase Small、Reset 等命令,用于高精度调整。Reset 回到默认值。
- Seed Reset 会把"默认值"设成节点创建时的那个随机种子,玩乱之后可以一键回到最初的样子。
- 以百分比显示的值可以直接输入米制数值。例如 Terrain 宽度设为
5000m时输入500m,Gaea 会按500m / 5000m换算成0.1,也就是 10%。
参数类型表
下表按官方节点数据中 182 个内置节点、1215 个参数实例去重统计整理。左侧是参数在数据里的类型名,右侧是界面上的控件形态。
| 类型 | 官方类型说明 | 实例数 | 界面形态 |
|---|---|---|---|
| Single | A single decimal number. | 600 | 可拖拽滑杆加数值框,右键进入 Nudge |
| Enum | A selectable list of predefined options. | 187 | 下拉列表,选项多为 Low/Med/High/Ultra 或风格代号 |
| Int32 | An integer (whole number). | 178 | 滑杆或整数框,用于次数、种子、方向 |
| Boolean | A true or false value. | 158 | 复选框 |
| Float2 | A pair of decimal numbers representing a range. | 31 | 双端区间滑杆,如 Range、Slope、Altitude |
| Command | An executable command or action. | 20 | 按钮,如 Add Input、Randomize、Synthesize Colors |
| String | A text or file input. | 17 | 文本或路径输入框,如 Output Path、LOD Info |
| Byte | 无说明 | 13 | 只读信息区,通常命名为 Information |
| Color | 无说明 | 8 | 取色器 |
List1 / Dictionary2 | 无说明 | 3 / 1 | 梯度编辑器、键值数据 |
两点需要留意:Byte、Color、List1、Dictionary2 这四类在官方参数数据里没有类型说明;另外有 25 个参数实例的类型说明是空的,它们基本属于上述特殊类型或纯信息字段。
Enum 是除 Single 之外最需要熟悉的类型。它的选项有两种常见形态:一种是语义档位,多为 Low、Med、High、Ultra 四档,Wizard2 的 Power、Depth、Scale、Deposits、Flow、Shape、Detail,以及 SuperColor 的 Amount 都采用这种写法;另一种是算法代号或风格代号,比如 EasyErosion 的 Style 有 Simple、Ancient、Alpine、Rocky、Flows、Strata 等十五项,Sandstone 一类纹理节点的 Style 则是 A 到 L 的字母。质量类 Enum 常见取值为 Quarter、Third、Half、Full,它直接决定节点的处理分辨率,是全表中对速度影响最明显的一类参数。
通用参数
对所有参数名做频率统计后,出现次数最多的一批参数如下。它们在不同族、不同节点间反复出现,含义也基本一致,理解它们能省下大量逐节点试错的时间。
| 参数名 | 出现次数 | 作用 |
|---|---|---|
| Seed | 73 | 随机化图案或种子。换一个种子就换一套形态,其它设置保持不变。 |
| Scale | 42 | 整体尺度。多数节点里数值越大特征越大、细节越少。 |
| Height | 25 | 垂直方向的强度或上限,决定隆起多高。 |
| Size | 23 | 单个特征(波纹、裂纹、岩石)的尺度。 |
| Direction | 23 | 方向性形状的朝向,如 Line、Asterisk 的角度。 |
| Style | 17 | 预设风格。Mountain 是地质风格,纹理节点多为 A 到 L 的代号。 |
| Type | 15 | 算法或模式的子类型,如 Perlin 的 FBM、Curvature 的 Horizontal 与 Vertical。 |
| Strength | 14 | 效果强度。侵蚀、遮罩、形变节点里都表示作用有多猛。 |
| Shape | 14 | 形态轮廓,控制特征偏尖还是偏圆、外凸还是贴地。 |
| Depth | 13 | 凹陷深度,通常同时影响裂缝宽度。 |
| Octaves | 12 | 噪声层数。层数越多细节越复杂,代价是计算量。 |
| Density | 12 | 单位面积内的特征数量或岩体密度。 |
| X / Y | 12 / 12 | 水平与垂直偏移,把图案在平面上挪位置。 |
| Reverse | 10 | 反转映射或反转方向。 |
| Quality | 10 | 处理分辨率,常见取值为 Quarter、Third、Half、Full。 |
| Iterations | 10 | 重复次数。重复越多效果越累积,也越慢。 |
这些参数在官方说明里的文字几乎逐字相同,说明它们是跨族复用的通用控件。实际使用中值得记住一条规律:Seed 只改变形态不改变强度,Scale 与 Size 改变特征的物理尺寸,Strength、Amount、Intensity 改变作用幅度。调参时先确定尺度,再定强度,最后才动种子,能避免反复推翻前面的决定。
还要注意同名参数在不同节点里可能量纲不同。Feature Scale 在 Erosion 与 Thermal2 的说明里以米为单位;Height 在 Perlin 里是噪声的垂直缩放,在 Stones 里是石头高出地面的幅度,在 TextureBaker 里却是法线贴图的像素高度。Direction 在多数方向性节点里是 Single,在 Uplift 与 Stratify 里却是 Int32。看到一个熟悉的参数名,先确认它在这个节点里的类型和说明,再决定怎么调。
修改器堆栈(Modifier Stack)
Modifiers 是叠加在节点输出之上的后处理调整,不是图里的节点。它们的成本极低:6 个 Modifier 的内存开销和 1 个一样,而 6 个同功能节点会产生 6 份开销。更重要的是,修改 Modifier 不需要重建节点,只改后处理结果。
可用 Modifier 分四组:
| 类别 | 可用项 |
|---|---|
| Height | Autolevel、Clamp、Drop、Equalize、Height Remap、Match Height、Strong |
| Effects | Blur、Warp、Shaper、Threshold |
| Blend Modes | Max、Min、Difference、Invert |
| Masks | Influence、Height、Slope |
其中 Influence、Min、Max 三个是 Modifier 独有、没有同名节点的。Min 与 Max 的机制值得单独说明:它们逐像素比较"节点处理后的结果"和"节点原始输入",Max 保留变高的区域,Min 保留变低的区域。这和 Combine 的 Min/Max 混合模式不同,Combine 比较的是两个独立输入。
Modifier Stack 的顺序可以拖动重排,顺序往往改变最终结果,尤其是 Autolevel、Height Remap 这类强影响项。常见用法:
- Height Remap:地形或遮罩的高低范围不对时抬底或压顶。把顶端推过
1.0可以让地形比原始范围更高。 - Autolevel:导入的地形或生成的遮罩只用了很小一段范围、看起来太平太淡时,把当前最小与最大值拉满整个范围。
- 强化遮罩:直接加 Autolevel、Equalize,或给 Shaper 一个正值。
- Clamp:强形变或混合之后数值溢出,放在 Height Remap、Shaper、Autolevel、Equalize 之后收尾。
- Drop:去掉地形下方的空白空间,让它落到地面。
- Mask by Height 与 Mask by Slope:把节点的作用限制在某个高度或坡度区间。任何带这类 Modifier 的节点都可以挂一个 DataExtractor,把自动生成的遮罩单独取出来。
- Blur:遮罩太硬、出现明显切边时软化过渡。够用就好,糊过头会丢掉遮罩本来要圈定的区域。
- Warp:给遮罩边缘加一点细碎扰动,打破规整感。
Modifier Stack 是 Gaea 1 里 Post Process Stack 的演进版本。它也是节点图瘦身的主要手段:能用 Modifier 解决的小调整,就不要在图里再挂一个节点。
两个容易被忽略的用法。一是导出前整理遮罩:Autolevel 用满可用范围、Clamp 保证数值合法、Blur 软化硬边、Threshold 把软遮罩变成更明确的选择,这四步都能在 Modifier 里完成,不用改动图结构。文档提醒,如果这张遮罩在别的软件里有特定含义,就不要贸然做 Equalize 或 Autolevel,那会改变数值分布。二是用 DataExtractor 把 Modifier 的改动单独取出来:把它的模式设为 modifier,就能拿到"这次修改到底改动了哪些区域",比如对侵蚀结果用了 Min 或 Max 之后,把差异作为独立遮罩引出,用于路由、分层或纹理。适用于地形本身已经正确、但还需要复用受影响区域的场合。
变量与表达式
Variables 是把值集中起来的机制。在 Data View 的 Vars 面板里可以新建变量,也可以在参数的属性绑定菜单里选 Bind to > New Variable,直接由该参数生成变量——如果参数是小数,会用它自己的 Min 和 Max 作为变量范围。变量支持 Float、Int、Choice、Color、Range(float2)、String,另有一个 Undefined 类型供高级用法和错误处理。
绑定之后,滑杆会被替换成变量控件,显示变量名和当前值。点击数值会同时改变变量的值,从而影响所有绑定到这个变量的属性。解绑时可以只解绑该属性、保留变量,也可以连变量一起删掉;删除变量会解绑所有引用它的属性。
变量名建议只用 A-Z、a-z、0-9 和下划线,避免空格与非 ASCII 字符,这样命令行自动化不会出问题。在 Grouped By Node 视图里,绑定到同一节点的变量会分组显示;如果一个变量被两个以上属性绑定,会被单独放进 MultiBound Properties 组。切换 Edit Mode 可以批量改值、改名、拖动排序,也可以右键打开编辑对话框修改类型和范围。文档警告:改类型可能造成不兼容,比如把 Int 改成 String,绑定它的节点可能不知道该怎么处理。Create Variable 菜单里还提供 Separator 和 Group 两种 UI 装饰,用来整理暴露给外部的控制面板。
Expressions 是只作用于单个属性的修饰器,不集中、不可复用。目前只有 Float 和 Int 属性支持表达式。在属性绑定菜单里选 Expression,滑杆的值在表达式里用 x 表示。如果该属性已绑定变量,x 代表的就是变量——这是在不新建变量的前提下改造变量的办法。
文档给的例子很能说明问题:Mountain 的 Height 和 FractalTerraces 的 Spacing 绑定同一个变量,表达式写 x * 0.3,阶地间距就始终是山高的 30%,无论山多高,阶地都落在相同位置。其它写法:
1 - x 反转数值
x / Octaves 除以另一个变量
x * 0.01 缩小到 1%
median(Octaves, Ridge, Scale, Seed) 使用函数
random() + x 叠加随机
if(SomeVar, 0.3, 0.6) 条件分支
表达式和 Math 节点共用同一套语言。运算符包括 + - * / % ^、比较运算 = == <> != < <= > >=、赋值 := += -= *= /= %=,以及 and、nand、nor、not、or、xor、xnor、mand、mor 等逻辑运算符。数值函数覆盖 abs、sgn、floor、ceil、round、clamp、min、max、pow、sqrt、log、mod、erf 等;三角函数包含正反三角、双曲函数以及 deg2rad、rad2deg 等换算。控制结构有 if-then-else、三元条件、switch/case、while、for、repeat until,以及 break 和 continue。
Math 节点可以当作生成器单独使用,也可以接最多 3 个输入,分别用 a、b、c 访问;x 和 y 提供逐像素坐标。这几个名字是预定义变量,不能另作他用。文档另外列出了向量处理(axpy、sort、dot-product 等)与文件读写(open、read、write、getline)能力,并建议常规参数工作优先用 Variables 和 Expressions,不要一上来就用 File I/O。
变量也可以从命令行操作。Build Options 的 Commands 区提供 Copy Command Line,抓下来的命令里已经包含所有变量及其默认值,把值替换掉即可交给 Gaea.Swarm.exe 执行。变量既可以用重复的 -v key=value 逐个传入,也可以写进 INI 风格的文本文件或 JSON 文件后用 -vars 引用。这也是文档反复强调变量名只用字母、数字和下划线的原因:名字越规整,命令行与批处理越不容易出错。
功能模块详解
Gaea 2 的内置节点共 182 个,按族分布为:modify 40、simulate 25、primitive 23、surface 21、utility 20、derive 14、terrain 14、colorize 13、output 12。下面的分节按功能组织,参数名一律使用界面上的英文原名。
地形生成
Gaea 的构建块分三类:Basic Primitives(噪声、常量、文件输入、形状)、Geological Primitives(独立的山体、丘陵、火山口)、Landscapes(山脉、原野、山脊线、起伏丘陵)。Primitives 与 Landscapes 自带一定程度的自然处理,多数可以关掉,但文档明确说明它们只是起点,之后仍需 Erosion 和 Surface 节点才能变成可信环境。
| 节点 | 定位 | 关键参数 |
|---|---|---|
| Perlin | 最基础的全能底噪 | Type、Scale、Octaves、Gain、Height、Seed;Warp 组 Type/Frequency/Amplitude/Octaves;Transform 组 Scale X、Scale Y、X、Y |
| MultiFractal | 变化幅度很大的多重噪声,常用于纹理 | Noise Type、Auto Octaves、Octaves、Scale、Relative Feature Scale、Roughness、Edge Smoothing、Seed;Variation 组;Position 组 Rotation、Anisotropy、Offset X/Y;Warp 组 Perturb、Relative Size、Strength、Complexity、Attenuation、Iterations |
| Mountain | 调制过的 Voronoi 加扭曲,生成单座山体 | Scale、Height、Style、Bulk、Reduce Details、Seed、X、Y |
| MountainRange | 为大规模侵蚀优化的整条山脉 | Scale、Height、Style、Bulk、Seed |
| Ridge | 带断裂与岩石剪切的山脊线 | Scale、Height、Definition、Seed、Scale X、Scale Y |
| Canyon | 排水驱动的河谷峡谷 | Style、Scale、Slot、Valley、Surrounding、Depth、Structual Warp、Seed;Detail Warp、Alternate Style |
| Island | 手绘轮廓生成陆地 | Size、Chaos、Seed |
| Plates | Perlin 核心加平坦板块,适合当台地或盆地基底 | Scale、Range、Falloff、Warp、Angle、Seed |
| Uplift | 构造抬升,塑造大块地形体量 | Passes、Scale、Height、Octaves、Direction、Jitter、Seed |
Mountain 的 Style 决定地质与视觉风格,Bulk 控制体量厚薄;最省事的路径是选一个 Scale 生成 Mountain 后直接接 Erosion,这是批量产出远景资产最快的做法。Canyon 的 Slot 管最深处那条窄缝,Valley 管谷地开阔度,Surrounding 决定与周边地形的融合量。Island 需要先在 Properties 面板打开 Editor 画轮廓,画粗一些更好。Plates 的平坦斜面板适合配 Displace 类节点使用;Uplift 的 Passes 控制抬升遍数;Ridge 的 Definition 往山脊线上加细节。总体原则是低细节起步:细节交给侵蚀与表面节点生成,在原始形状里堆细节,后面做分块构建会很难处理。
侵蚀与模拟
Simulate 族共 25 个节点,侵蚀是核心,另有雪(Snow、SnowField、Dusting、IceFloe)、水(Lake、Sea、Rivers)、植被(Trees、Shrubs)与 Debris。下表列出侵蚀相关节点的参数。
| 节点 | 定位 | 关键参数 |
|---|---|---|
| Erosion | 水力侵蚀,全参数开放 | Duration、Rock Softness、Strength;Downcutting 组 Downcutting、Inhibition、Base Level;Scale 组 Feature Scale、Real Scale、Terrain Scale、Verticality;Flow 组 Debris、Volume、Sediment Removal;Selective Processing 组 Area Effect、Bias Type、Bias、Reverse;Seed、Aggressive Mode、Deterministic |
| Erosion2 | 新算法,确定性、最高快 10 倍,支持地形雨影 | Duration、Downcutting、Erosion Scale、Seed、No Erosion;Suspended Load、Bed Load、Coarse Sediments、Deposition Boost、Extra Deposition Boost;Shape、Shape Sharpness、Shape Detail Scale;Enable、Directional Precipitation、Direction、Rain Shadow、Slope、Altitude、Reverse |
| EasyErosion | 预设式侵蚀 | Style(Simple、Ancient、Ancient 2、Alpine、Rocky、Exposed、Flows、Flows 2、Flows 3、Strata、Withered、Soft Soil、Soft Soil 2、Dessicated、Thin);Influence、Direction、Bias Angle、Seed |
| Wizard | Erosion 的轻量封装,分两阶段 | Strength、Density、Material、Channel Depth、Channel Width、Deposits、Removal、Bulk、Seed |
| Wizard2 | 更少控制的策展式封装 | Power、Depth、Scale、Deposits、Flow、Shape、Detail、Seed;Convert 命令 |
| Thermal | 热力侵蚀,产生碎石坡与堆积 | Duration、Strength、Anisotropy;Angle、Settling、Sediment Removal;Feature Scale、Real Scale、Terrain Scale、Verticality |
| Thermal2 | Thermal 的演进版 | Duration、Strength、Anisotropy;Angle、Sediment Removal;Feature Scale |
| HydroFix | 低层工具,制造连续水流路径 | Downcutting |
| Crumble | 从已有裂缝与侵蚀信息出发让地形崩塌 | Duration、Strength、Coverage、Horizontal、Vertical、Rock Hardness、Edge、Downcutting、Depth、Direction |
| Anastomosis | 互相连通的水流切割,从麻点到河道 | Impact、Width、Depth、Downcutting、Quality、Smooth Edges |
Strength 与 Rock Softness 的相互作用。 两者都影响侵蚀的猛烈程度,把其中一个调高,观感可能与调高另一个相近,但机制不同。Strength 低意味着水的搬运能力弱,溶解的土壤会更早落下;Rock Softness 低意味着岩石被侵蚀得更慢,但溶解的沉积物会被带得更远。结果是沉积物分布、沟壑形态都不一样。低 Strength 配很高的 Rock Softness 会保留大致形状,裂缝和流水沟少,坡面上堆一些软沉积物;高 Strength 配很低的 Rock Softness 会得到重度侵蚀、布满软沉积物的地形。要区分这两种效果,先固定一个再动另一个。
Downcutting 与 Inhibition。 Downcutting 的作用是把沉积物搬到离源头很远的地方。想要搬运距离短、侵蚀与沉积频繁交替,把 Downcutting 设为 0.0,或者提高 Inhibition。高 Downcutting 配中等 Inhibition 会产生大量深切流水沟,同时有多余沉积物顺坡而下;高 Downcutting 配几乎没有 Inhibition 时沟一样深,但不会有多余沉积物。Base Level 设定下切能到达的最低高度,用来填大谷、造谷底。
Feature Scale。 它控制侵蚀特征的横向尺寸,也就是最大河谷与山脊之间的宽度,单位是米。文档给的默认值是 2000 米,调到 50 米会得到很细碎的沟壑。Real Scale 打开时,整体尺度由 Terrain Definition 自动决定;关掉它可以手动改侵蚀的"物理",但文档不推荐在多数场景下这么做。
Selective Processing。 这是 Erosion 独有的强项,允许用一张偏置遮罩去驱动 Rock Softness、Erosion Strength 和 Precipitation Amount。这和"给 Erosion 节点加遮罩"是两回事:加遮罩是把效果限制在遮罩内,用合成方式实现,等同于 Combine 在 100% Blend 下加遮罩;Selective Processing 则是在遮罩区域施加一个修正量,遮罩之外照常处理。遮罩可以来自 Area 输入(任意高度场),也可以用内置的 Bias Type:Slope 与 Altitude。两者都是 0 到最大值的归一化刻度,0% 是底部、100% 是顶部,想只处理山顶最后 10%,Altitude bias 填 90%。Reverse 可以反转。驱动关系是线性的:Rock Softness 设 35% 时,遮罩的黑端映射到 0%、白端映射到 35%;Erosion Strength 对应 Strength 滑杆,Precipitation Amount 对应 Duration 滑杆。
确定性。 Deterministic 强制单核运算,结果 100% 可复现,代价是慢。不开时,主要流线位置一致,但细小特征每次可能略有不同。另一个办法是给流的起点做一张遮罩喂给 Selective Processing,通常放在第二个 Erosion 节点上,第一个负责全地形的一般侵蚀。
Erosion 与 Wizard 会输出三张关键数据图:Wear(被侵蚀移走的部分)、Deposits(沉积物最终停下的位置)、Flow(沉积物从原位置到终点的路径)。文档提醒不要过度使用 Flow 做纹理,那会让地形显得很"CG"。
几个水力侵蚀节点的区别:Erosion 提供完整控制但需要时间找组合;Wizard 提供更少的选项与各种"配方",内置多遍侵蚀,Phase 1 完全可定制、Phase 2 是能单独使用也能叠加的轻量配方;Selective Processing 只在 Erosion 里可用,不过常见用法(比如只侵蚀顶部做出河道)在 Wizard 里以 Phase 2 选项的形式提供。Bulk 用来防止过度侵蚀:先把地形稍微增厚,尖锐山峰和精细部位就不容易被蚀掉。Erosion2 是更新的算法,确定性输出、CPU 上最高快 10 倍,还能用 Rain Shadow 与 Direction 做地形雨影。EasyErosion 与 Wizard2 面向"少调参",前者给 15 种 Style 预设,后者只留七个下拉。
热力侵蚀方面,Angle 是材料开始下滑的最大坡度,低值得到更缓的坡;Settling 控制松散材料堆积的快慢(Thermal2 没有这个参数);Sediment Removal 越高特征越干净利落。Crumble 的 Horizontal 把作用偏向流线起点或末端沉积区,Vertical 偏向高海拔或低海拔,Edge 控制对尖锐边缘的作用强度,Rock Hardness 控制材料抗崩解能力。Anastomosis 的 Downcutting 是枚举,选 Destructive 会激进下切。
HydroFix 只有一个 Downcutting 参数。它不改变地貌,只在流线上做小调整让流更连贯,配合 FlowMap 使用效果明显;用 Rivers 时不需要它,因为算法内置了。文档的立场是侵蚀并非必须的最后一步:Canyonizer、Stacks、Anastomosis、Shear 这类 LookDev 节点的效果本身已经可信,再叠一道水力侵蚀反而会带来软沉积物,破坏原有的非水力侵蚀观感。
表面塑造
Surface 族解决一个长期问题:侵蚀或强滤镜会把整体形状削弱甚至毁掉。表面节点在表面层级加减形状、不动深层结构,因此保体积,设计体积与设计表面得以分开,已经进入场景的资产修改表面时不会变形。
| 节点 | 定位 | 关键参数 |
|---|---|---|
| Warp | 用向量场做整体扭曲,不产生方向性撕裂或过度拉伸 | Size、Strength、Z Scale、Warp Source、Perturbation、Complexity、Roughness、Normalized、Edge Behaviour、Modulation、Modulation Direction、Seed;Iterations、Mode |
| SlopeBlur | 按 Guide 的坡度方向做定向模糊 | Intensity、Iterations、Direction、Asymmetry、Normalized、Window;Quality、Antialiasing |
| SlopeWarp | 与 SlopeBlur 类似,但做定向位移 | Intensity、Iterations、Direction、Normalized;Quality、Antialiasing |
| DirectionalWarp | 用第二输入引导位移,适合风蚀与河道切割 | Strength、Direction、Edge Behaviour |
| Fold | 引入倾斜、断裂与褶皱,会显著改变地形,要放在图早期 | Waveform、Folds、Symmetric |
| Deflate | 抽掉体量只留细节 | Amount |
| Shatter | 把简单形状变成高度破碎的地形 | Shatters、Size、Coverage、Seed |
| Craggy | 把表面变成碎裂的岩石场 | Size、Depth、Shape、Seed |
| Outcrops | 在大尺度上生成岩层露头 | Variations、Strata、Density、Shape、Chipped、Seed;Size、Height、Rotation 均为区间 |
| Stratify | 非线性的破碎岩层,每层独立 | Spacing、Octaves、Intensity、Shape、Seed、Tilt Amount、Direction |
| Terraces | 阶梯状台地 | Terraces、Uniformity、Steepness、Intensity、Seed |
| FractalTerraces | 多倍频分层,比 Terraces 更自然 | Spacing、Octaves、Intensity、Shape、Seed;Shapes Separation、Macro Octaves、Micro Shape、Character、Thickness Uniformity、Hardness Uniformity、Strata Details、Protect Range;Apply Tilt、Tilt Amount、Direction、Warp Amount、Warp Size |
| Sandstone | 多层砂岩式阶地与沉积结构 | Passes、Iterations、Spacing、Intensity、Convexity、Tilt、Direction、Chaos、Seed、Chipped、Chipping |
| Stones | 随机散布小石块 | Scale、Height、Density、Seed |
| Roughen | 细颗粒粗糙度 | Width、Depth、Oriented、Quality |
岩石层的组合方式文档写得很具体:Stratify > Sandstone > Stratify > Sandstone,甚至简单的 Stratify > Sandstone > Sandstone 就够;想加更多破碎感,就在分层之前先过一道 Erosion 或某个 Rock 节点。Stratify 产生的是局限在局部区域(比如两块断板之间)的子层,每层独立,因此更接近真实岩层;FractalTerraces 提供更底层的控制,适合不想让 Stratify 或 Sandstone 引入太多特征、想自己掌控侵蚀流程的复杂图。
Stones 是随机散布,不是 Debris 那种物理驱动;Roughen 的 Oriented 让粗糙度带上方向性。Transpose 把 Reference 地形的表面特征转移到 Input 上并保留 Input 的体积与轮廓,参数有 Mode、Amount、Extend、Flatten、Threshold、Boundary。
数据图与遮罩
Gaea 的所有着色都建立在遮罩之上:用黑白遮罩去分配渐变。把 CLUT 的暗端映射到低海拔、亮端映射到高海拔,中间灰度按比例分配,就是色彩查找表机制。同一个渐变如果喂给 FlowMap 而不是地形高度,纹理会顺着流线走。Data Maps 分两类:Aspect Maps 从地形本身提取属性(Height、Slope、Curvature、Angle、Peaks),Generative Maps 跑算法生成(FlowMap、Soil、RockMap、Occlusion、TextureBase、Texturizer)。
| 节点 | 定位 | 关键参数 |
|---|---|---|
| Height | 按海拔区间选区域 | Range、Falloff |
| Slope | 按坡度区间选区域 | Range、Falloff、Type、Micro Accent |
| Angle | 选取朝向某个方位的所有区域 | Azimuth、Range、Falloff |
| Curvature | 选出凸起、锐边等外凸区域 | Range、Type、Falloff |
| Peaks | 用凸出度选出山峰与山脊线 | Falloff、Precise |
| Occlusion | 类似环境光遮蔽,但偏向沉积过程与岩石缝隙 | Strength、Octaves |
| Soil | 土壤沉降遮罩,缝隙与缓坡处密度更高 | Amount、Bias |
| RockMap | 沿地表描出岩石形态的覆盖遮罩 | Coverage、Density |
| TextureBase | 综合混沌、坡度、流区、地质特征生成纹理遮罩 | Slope、Flows、Soil、Patches、Chaos、Peaks;Accentuate、Enhance、Reverse、Seed |
| FlowMap | 水流或物质如何在地表移动 | Flow Length、Flow Volume、Seed |
Height 与 Slope 是做雪线、植被带、海岸线、台地定位与生物分区的核心选择器,Falloff 控制边界软过渡。Peaks 靠凸出度(文档称为反曲率)定位,因此能在高低不一的地形上找出各自的顶点与脊线,Precise 让检测更贴合真实尖端。
Occlusion 的文档说明很实用:用高 power 关注大尺度的沟谷,用低值关注小缝隙,这样可以分开遮蔽区域去做不同材质。Soil 的 Power 越高,模拟的落尘循环越多;低值只撒一层薄尘。多个 Soil Map 可以用 Combine 设成 Max 叠起来,也可以和 Flow、Velocity 之类的图合并成着色用遮罩。TextureBase 是给 SatMap、CLUTer 之类色彩节点提供可信底座的通用遮罩,Slope、Flows、Soil、Patches、Chaos、Peaks 分别引入对应特征。
着色与贴图
着色的目标不只是让视口好看,还要产出可用的生产数据:albedo 或 diffuse、splat 遮罩、侵蚀遮罩、植被遮罩、湿度遮罩等控制图。
| 节点 | 定位 | 关键参数 |
|---|---|---|
| CLUTer | 用梯度做色彩查找表 | Gradient Data、Autolevel Input、Reverse、Bias、Hue、Saturation、Lightness |
| SatMap | 来自真实卫星数据的预设调色板 | Library、Library Item、Range、Bias;Enhance、Reverse、Rough、Hue、Saturation、Lightness;Randomize 命令 |
| SuperColor | 结合纹理、流、山峰与调色板的程序化着色 | Texture、Strength、Warp、Seed;Library、Library Item、Range、Bias、Reverse;Process、Amount |
| Synth | 把位图转成可编辑的 CLUT | Data;Samples、Fuzzy、Offset、Seed;Synthesize Colors、Export JSON 命令 |
| Tint | 双色查找表,本质是两色 CLUT | Start、End、Hue、Saturation、Lightness;Enhance、Reverse |
| Weathering | 做旧:提亮凸起、压暗缝隙 | Scale、Creep、Amount、Washed Out、Inverse、Dirt、Darker;Hue、Saturation、Lightness |
| ColorErosion | 把沉积侵蚀的逻辑用在颜色上 | Transport Distance、Sediment Density、Blend、Color Hold、Flow Volume、Laminar Flow、Diffusion、Seed、Version、Q 0、Q 1 |
| Mixer | 图层式色彩混合,内置遮罩 | Blend Layers、Show Simplified、Preserve Masks、Add Input 命令 |
| RGBMerge | 三张高度场打包成 RGB | Enhance R、Enhance G、Enhance B |
| RGBSplit | 把 RGB 拆回独立高度场 | Autolevel Channels、Method |
| Splat | 按权重把 RGBA 通道合成一张标量图 | R、G、B、A、Autolevel、Clamp Product |
| TextureBaker | 烘焙派生纹理贴图用于导出 | Generate Normals、Information、LOD Info、Add Input 命令 |
SatMap 的库里有 1400 多张来自真实卫星数据的色图。Bias 把色图往左或往右推,Rough 打散像素制造混沌,最后用 Hue、Saturation、Lightness 微调。Synth 的流程是接一张静态色图加一路 Height 或 Texture 输入,选好 Samples 后点 Synthesize Colors 得到可编辑渐变。
Mixer 默认暴露三个输入,最多可加到 15 层,拖动即可改混合顺序,每层带一个 ID 色用于 Simplified View 检查混合结果;开启 Preserve Masks 后,内置的 Height 或 Slope 遮罩会作为输出端口引出。ColorErosion 只需要两个输入:要侵蚀的颜色图和地形高度场,多数情况下默认设置就够。文档建议先接 TextureBase 或 Texturizer 再套 ColorErosion,就能得到像样的层状沉积流;也可以先用 Mixer 改变色层再侵蚀。理解要点是"高处放置的颜色会顺着已有的沉积流走"。
推荐顺序:先用 Height、Slope 或 SatMap 铺大色块,再用侵蚀、土壤、流、岩石、遮蔽的遮罩加特征,然后用 Mixer 或 CLUT 类节点叠二级变化,最后用 ColorErosion 做一层自然的搬运感。要留给下游用的遮罩记得单独导出,并且把它们当数据看。
构建与导出
Build Options 里有两个标签页构成构建的基础:Resolution 决定用多少像素表示,Terrain 决定世界的物理尺寸,两者共同决定每像素多少米。Resolution 页包含 Region、Resolution(如 2K、4K)、Subdivision(None、Faster、Balanced、Slower)、Output(Single Image 或 Tiled Images)、Tile Size、Blending。Terrain 页包含 Width 与 Height(米),并显示 Real Scale(当前分辨率下每像素多少米)与 Height-Scale Ratio;默认世界 5000 米宽、2500 米高。
格式取舍上,Heightfield 默认 EXR,可选 RAW、TIFF 等;Color Maps 与 Masks 用 PNG16 或其它支持格式。位移图建议用 32 位精度,16 位在地形坡度变化剧烈时会出现阶梯状或量化条带,故障排查文档建议改用 32 位并避开 PNG 这类有损格式。
标记导出的方式是右键节点选 Mark for Export,或按 F3。文件命名规则是 <Name or NodeName>_<PortName>.<extension>,可以在 Build Options 里关掉主端口的 _Out 后缀。导出菜单可以选择具体端口(Enabled、Out、Flow、Wear、Deposits),也可以用 Primary Only 只导主输出。Export 节点的参数有 Format、Location(Build Folder、Custom、Explicit)、Output Path、If File Exists(Overwrite、Increment),以及 Prepare for Bridge 命令。
Mesher 把高度场转成结构化网格,支持 OBJ、FBX、DAE、glTF,拓扑可选 Tris、Quads 和 Sophia 算法的 Adaptive Tris。Grid 拓扑是等距网格,多边形数精确、支持四边面与自动 LOD,但平坦区域同样要占满面数;Optimized 按地形复杂度细分,质量更高、面数更少,视地形可减面 20% 到 40%,大面积平坦时最多 80%,代价是只有三角面、没有自动 LOD。Scale 有两档:Normalized 强制三轴落在 0..1,Metric 是 1 单位等于 1 米;归一化网格的好处是导入时可以填缩放倍数,例如默认地形宽 5000 米就填 5000。所有网格导出默认包含 UV,采用简单平面映射,关掉 UV 文件最多小 30%。
Unreal 节点会把 32 位高度数据先 autolevel 再转成 Unreal 的 16 位 landscape 格式,避免把精度浪费在没用到的高度余量上,视口看起来可能不同,这是正常现象。参数有 Automatic Size、Target Size、Dont Resize Textures、Format、Unreal Friendly Naming,以及 Map 1 到 Map 10 的 Height/Mask/Color/Weight 指定;Unity 节点主要是 Target Size。文档补充:RAW 目前支持不完整,PNG 和 R16 都完全支持。
Tiled Build 把地形当成网格分块处理,降低峰值 CPU、GPU 与内存压力,输出也已经是引擎需要的分块形式。风险在于有些操作只"看到"地形的一部分,会在块边界产生不连续,典型来源是屏幕空间生成器与变换、采样范围很大的滤镜、以及按区域隐式归一化或 autolevel 的细节;解决办法是先把不友好的部分烘焙成稳定基底,或用 Hybrid Build 配合足够的 bucket 尺寸与混合。Hybrid Build 让最终瓦片保持小尺寸、构建时用更大的 bucket:例如瓦片 512×512、bucket 4096×4096,一个 bucket 出 8×8 共 64 块;Subdivision 可选 None(世界在 8K 或 16K 以内时可用)、Faster、Balanced、Slower。桶边界出现接缝时提高 blending,25% 常是不错的起点。Tiles 页另有 Tile Suffix Pattern、Add Leading Zeroes、Organization、Flip Y Axis、Overlap Pixels 等选项。
Regions 把地形的一部分单独放大到更高分辨率:8192×8192 的六分之一区域可以按 8192×8192 构建,像素密度接近 6 倍。区域数量不限,可以单独预览,而且整幅和区域都来自同一个程序化图,改一处两边自动同步;使用前初始生成器需要烘焙。Profiles 则把整套 Build Settings 存成命名预设,适合同一地形要有预览、成品、引擎专用等多套输出配置时快速切换。
Build Path Tokens 里尖括号是 token、方括号是变量,例如 <Builds>[Filename][+++] 会构建到以当前文件命名的子文件夹并递增编号。可用 token 有 <FileLocation> 与 <Builds>,变量有 [Mutation]、[Region]、[Timestamp]、[Filename]、[Username]、[Domain]、[Machine]、[Time]、[Date]、[Resolution]。
图管理与自动化
图本身会成为设计问题。基本习惯是给重要节点命名、把主要阶段在视觉上分开、用 Portal 处理长距离连接、在分支前放 Chokepoint。Portal 让输出在别处被消费而不画长线,适合被多个分支共用的遮罩或稳定中间结果。Chokepoint 是中性的直通节点:下游很多分支依赖一个结果、而这个上游以后可能换掉时,把它们都接到 chokepoint 上,改上游只需要重连一次。文档提醒不要把还在快速变化的结构藏进 Portal。
Accumulator 专门收拾重复连线:多个 Snow、Lake、Debris 节点的遮罩要合并时,一个 Accumulator 就能收集,支持 Snow Mask、Snow Depth、Water Mask、Water Depth、Shore Mask、Debris Mask、Debris Color Index。它只收集已经构建过的节点,把最后要用于遮罩的节点接到 Accumulator 输入上,可以确保相关节点都被构建。
Data View 是维护入口。Terrain 页提供图层级与过滤器:Marked for Export、Requires Baking、Nodes with Errors、Heavy Nodes、Orphan Nodes、Bypassed Nodes、Has Modifiers、By Type;Stats 页给出节点的 ID、构建状态与耗时、输出分辨率、通道数与数据类型、估算大小、最小与最大值。Baking 把节点锁在指定分辨率避免重复计算,分辨率可选 1024、2048(默认)、4096、8192;Cache Previews to Disk 可把预览存到硬盘,选项有 When Closing File 与 When Idle,烘焙可以随时解除。
自动化从一个在 UI 里已经能正确构建的 .terrain 文件开始:先在 UI 里跑通一次,确认图、导出、分辨率、输出目录都正确;把需要由管线控制的值暴露成 Variables;配置 Build Options,必要时用 Profiles 或 Regions;用 Copy Command Line 抓取当前文件的完整命令;把变量值换成管线值,或挪进 .json 与 .txt 变量文件;最后用 Gaea.Swarm.exe 执行,再消费导出文件或 post-action report。
Build Swarm 是独立的命令行程序 Gaea.Swarm.exe,不带 UI 负担所以更快,UI 构建高分辨率地形时也在后台用它。常用参数:
-filename <filename>:.terrain的完整路径,建议用引号包起来。-ignorecache:设为true时忽略烘焙缓存。-verbose、-safemode、-interactive:日志、诊断与交互提示。-seed <int>:构建用的变异种子。-profile <name>或-p <name>:指定 Build Profile,名称建议加引号。-v或--v:变量键值对的起始标记,每个变量都要重复一次,例如-v foo=bar -v value=0.35 -v erosion=1。它必须永远是最后一个参数。--va <string>:按变量名字母序排列的逗号分隔值,数量必须与.terrain里声明的变量数一致。-vars <filename>:从文件读变量,支持 INI 风格文本或 JSON。
Batch Builds 在 Build 菜单下,把多个 profile 排队执行,也可以存成 .bat 文件。Gaea 在构建后会保存人类可读与机器可读两种 post-action report,可以在自动化流程里消费。
性能、内存与大型项目
Gaea 的构建失败很少是"软件不够快",多数是内存估算没做对。地形在内存里是一张张高精度图像,节点越多、分辨率越高、输出端口越多,占用就成倍往上走。这一章把文档里关于内存估算、缓存与烘焙、计算设备、大型工程组织和存储路径的内容集中起来。
内存需求估算
每个节点在给定分辨率下都会产生单通道(heightfield)或多通道(RGB)数据,实际占用还要乘以该节点的输出端口数量。文档给出的单节点缓存基准是:
| 分辨率 | 单通道(Heightfield) | 多通道(RGB) |
|---|---|---|
| 1024 x 1024 | 4MB | 12MB |
| 2048 x 2048 | 16MB | 48MB |
| 4096 x 4096 | 64MB | 192MB |
| 8192 x 8192 | 256MB | 768MB |
| 16384 x 16384 | 1024MB | 3072MB |
分辨率翻倍,缓存占用变成 4 倍,因为像素数量按平方增长。端口数量同样直接乘上去:在 4096 x 4096 下,单端口的 Ridge、Adjust、Shaper 各占 64MB,而 Erosion2 有 4 个输出端口,占 256MB。
一个典型的 8K 地形图,用 20 个节点,缓存规模在 5–8GB,另外还要加上管理和进程本身的开销。文档的结论是 16GB 内存只是理论下限,建议配到 32GB,以减少"分页"(内存不够时拿硬盘当内存用)的概率。同样的 20 个节点放到 16K,光缓存就要 20–30GB,算上整体处理与管理,峰值可达 96GB,所以 16K 构建建议至少 64GB,能上 128GB 更好。
状态栏右下角显示当前已分配内存,每 5 秒刷新一次,但它只统计已分配的缓存,不含临时使用部分,只能当参考。
导出网格还要额外考虑顶点数量。地形网格使用等距网格系统,每像素一个顶点,2048 x 2048 的地形会生成约 400 万个顶点。用 Mesher 节点导出时选 Optimized,算法按地形复杂度分配多边形——复杂处多、平坦处少,典型场景可减少最多 60% 的多边形。另一种省空间的组合是导出高分辨率置换贴图配低分辨率网格。
缓存与烘焙策略
烘焙(Baking)把节点锁定在指定分辨率上,保存当前状态,之后除非显式解烘或修改,否则不会重算。它同时是预览提速和内存控制的主要手段。相关命令在 Bake 菜单下:
Bake Selected:烘焙选中的节点。Bake Required Nodes:烘焙分块(Tiling)流程中必须烘焙的节点,调整时不必每次重算整块地形。Force Load Baked Cache:强制重新加载烘焙缓存,用于系统或工程环境变化导致缓存没被自动加载的情况。Unbake Selected/Unbake All:解除选中节点或全部节点的烘焙状态,使其重新可编辑。Resolution Settings:烘焙分辨率可选1024 x 1024、2048 x 2048(默认)、4096 x 4096、8192 x 8192。处理细节区域时用更高分辨率能得到更准确的预览。
烘焙最大的收益来自 Linchpin 节点机制。加载烘焙缓存时,Gaea 只加载"linchpin"——与未烘焙节点相连的那个已烘焙节点,它的祖先节点不会被载入。文档示例中,5 个已烘焙节点里有 4 个被卸载,内存与缓存占用下降约 66%。未加载的烘焙节点以虚线边框显示,可以从属性编辑器手动加载;但要修改时,推荐先解烘再重新烘焙对应部分。
Cache Previews to Disk(旧称 Session Cache)把处理过的节点预览存到硬盘而不是留在内存里:
When Closing File:关闭文件时把所有预览和内存中的构建结果写入磁盘,下次打开直接读取。该选项随文件保存。When Idle:系统空闲、且某节点数分钟未被修改时自动烘焙。该选项只对本次会话有效,重启 Gaea 会重置。
Options 的 Cache 标签集中管理临时数据和自动保存:Delete after 45 days 自动清理超过 45 天的日志与自动保存;Always Cache to Disk on Close 在关闭时强制写盘,下次启动更干净,代价是关闭变慢;Use Smart Cache 把空闲超过 Idle Threshold(默认 600 秒)的 2K 或 4K 缓存从内存卸到磁盘,需要时立刻载回;Cache Output 设置缓存位置,关闭 Save in Central Cache Folder 时缓存保存在工程文件旁的 \Cache 子目录;Baked Cache 让烘焙结果跨会话保留。
文档的取舍建议:SSD 上开启 Smart Cache 能大幅降低内存占用且基本不影响性能;机械硬盘上保持关闭反而更稳妥,避免重新载入缓存时的延迟。
计算选项与硬件
Options 的 Compute 标签决定用哪些设备算。Available Devices 列出所有可用计算设备和 API 并给出性能评分(越高越快),每个设备下有子选项,可选择为该设备启用哪种技术,例如 OpenCL、Level Zero、CUDA。
Scan Hardware and Determine Speeds:扫描全部硬件并评估处理能力,完成后每个设备与技术都会显示分数。Enforce Optimal Settings:根据基准结果自动选择表现最好的设备组合。
用法建议:NVIDIA 显卡优先用 CUDA;GPU 不可用或要留给别的任务时用 Native CPU 模式;把分数低的设备关掉,避免任务被调度到慢硬件上;更新驱动或更换硬件后重新扫描。如果某个设备存在驱动问题,Gaea 会在该设备旁显示错误读数,视问题而定,该设备可能在驱动更新前无法加载。
CPU-only mode 从开始菜单启动 Gaea Diagnostics,选 "Run Gaea with CPU only" 再点 "Start"。开启后会一直保持 CPU 模式,包括运行 Gaea Build CLI 时;要恢复多设备,到 Options 的 Compute 标签重新启用。文档指出纯 CPU 模式未必让性能下降很多,遇到不稳定时禁用 GPU 与加速器有助于提高稳定性。
硬件基准测试在 Gaea Diagnostics 里运行,测试 CPU、集成显卡、独立显卡以及其他兼容设备的速度,可选 normal、High Accuracy 或 Very High Accuracy,精度越高耗时越长,分数代表各设备的性能系数。文档没有逐项列出线程数控制项,实际可调的是设备与计算后端的选择。
文档还建议构建时用 Close and Build:Gaea UI 与 Gaea Build Swarm 都要占资源,关闭 UI 后再构建既能把资源让给 Swarm,也是浮动许可场景下推荐的做法。
大型项目组织
大型工程的第一条原则是宏观形状先做干净。不要在一开始的地貌里堆噪声、破碎和微脊,而要先做一个强度足够、细节很少的宏观形状,把可信细节交给 Erosion 与 Surface 节点。基础地形一旦"忙"起来,后续的变形、雕刻和大尺度修改会被已有噪声掩盖,侵蚀的水流也读不清楚。
对超大分辨率与分块构建,文档给的流程是:先在可控分辨率(如 4K 或 8K)构建只含大形体的基础形状;烘焙这些形状节点;用 TileGate 把烘焙结果当作静态输入,在大规模分块构建时高效放大;之后再施加重细节,即 Erosion、Surface 以及下游的细节与遮罩工作。把微观细节烘进初始形状,会锁死后续做真实侵蚀的空间,并让分块构建更慢、更难预测。
构建前的审计用 Data View 完成。在 Terrain 标签里过滤错误节点、重型节点、需要烘焙的节点和孤立节点:错误与需要烘焙会直接卡住构建,重型节点解释迭代为什么慢,孤立节点往往是会被误认为生产逻辑的旧实验。在 Build 标签里核对标记导出的节点、输出名、端口和格式——一个遮罩在图上看起来已完成,只要没标记导出就永远出不了工程。
推荐的审计顺序:先看错误,再看需要烘焙(尤其是分块或 Hybrid 构建之前),然后看重型节点,交接前看孤立节点,最后检查 Build 标签并把含义不清的输出改名,再跑一次小的验证构建。
路径与存储
除工程文件外,Gaea 的所有应用数据都放在集中的 Data 文件夹。标准安装(装在 Program Files 下)时为 <UserFolder>\AppData\Roaming\QuadSpinner\Gaea\2.0;便携安装的默认位置是 C:\Users\<username>\AppData\Local\Programs\Gaea 2.0,装在便携位置时 Data 文件夹与 Gaea.exe 相邻,例如安装在 D:\Programs\CG\Gaea\ 则 Data 在 D:\Programs\CG\Gaea\Data\。首次运行时会检查安装目录是否可写(是否需要管理员权限):可写就在该处创建 Data,否则创建到 AppData。
用户文件的三条默认路径都可以在 Options 的 Paths 标签修改:
| 用途 | 默认位置 |
|---|---|
| Documents(预设、截图等) | C:\Users\<you>\Documents\Gaea\ |
| Projects(工程文件) | C:\Users\<you>\Documents\Gaea\Projects\ |
| Builds(构建输出) | C:\Users\<you>\Documents\Gaea\Builds\ |
Builds 位置在构建目标里用 <Builds> 记号表示。文档明确要求不要把工程或用户文件夹放在 Gaea 安装目录里,例如 Gaea 装在 D:\Gaea\ 就不要把路径设成 D:\Gaea\Docs,安装文件与数据分离可避免更新或重装时冲突。工程文件很轻,但构建输出可以很大,建议把构建放到单独的盘或位置。
诊断包
Gaea Diagnostics(代号 Watson)可以生成诊断包,供技术支持与开发人员排查崩溃或异常行为。诊断需要一点时间,生成的 .zip 放在桌面上。
Send Online:把 Watson 日志直接发到官方服务器,返回形如0A7-20241113的 Log Receipt 代码。联系支持时把代码和问题描述一起给出即可。公开分享诊断包有风险,但分享这个代码是安全的,只有授权的官方人员能访问日志。Send Manually:把.zip作为附件发邮件或通过支持表单提交。
诊断包包含 Gaea 的执行日志(按时间排列的事件、技术读数和错误堆栈)、你的设置副本、硬件信息(CPU 与 GPU 型号、驱动版本、固件版本等),以及安装完整性检查。日志是可编辑的 zip,提交前可以删掉不想分享的内容。
Build Swarm 与批量构建
Build Swarm 由 Gaea.Swarm.exe 表示,是 Gaea 的构建引擎。它是独立的命令行程序,没有界面负担所以跑得更快;Gaea UI 在后台调用它来构建高分辨率地形以获得最高性能。某个文件的全部构建选项在 Build Options 里设置,另有一些选项通过命令行自动化提供。构建结束后会保存后处理报告,同时提供人类可读与机器可读两种文件。
Profiles 把全部构建设置保存成命名预设,适合同一地形出多个版本或多种输出类型。创建方式:打开 Build Settings,选好设置,到 Profiles 标签点 Save Profile。Load 把选中配置导入当前构建设置,Save As.. 基于当前设置新建配置,Delete 删除选中配置。配置名用 ASCII 友好字符,因为可能会在命令行或批处理里用到。
批量构建在 Build menu > Batch Builds 对话框里执行:把要构建的多个配置排进队列后执行,也可以把批处理存成 .bat 文件供之后运行或修改。命令行里用 -profile <name> 或 -p <name> 指定配置,建议把 <name> 用 "" 包起来避免解析错误。
批量出变体用 Mutations。最基本的做法是更新地形中所有节点的种子(已烘焙节点除外),命令行参数 --Seed <int> 会把每个节点的种子都增加这个数值。要固定某些节点不受影响,先烘焙它们。最快的设置方式是在 Build menu > Batch Build Manager 里用 Add Mutation 按钮排队,重复构建时把批处理存成 Windows 批处理文件。构建目标里可以用 [Mutation] 记号把当前变体编号放进文件夹名,例如 <Builds>\[Filename]\[+++]\[Mutation]。
构建报告保存在构建目录下:report.txt 是可读汇总,包含文件名、构建位置、构建类型、分辨率、配置、节点数量、结果、起止时间、耗时,以及最快与最慢的节点(耗时低于 100ms 的节点不计入)。同一份数据还有 report.json,格式结构化,适合接入自动化流程。
快捷键与常用操作
本地文档里对快捷键的记录相当少,没有一份完整清单,官方页面大多只提到某个命令"可以按某个键触发"。下面表格里的每一条都能在文档里找到出处,文档没有记录的不做推测。
文档中明确记录的按键
| 按键 / 操作 | 作用 | 出处文件 |
|---|---|---|
F1 | 打开 Lazy Menu,可跳转到 Graph、Viewport、Properties、Modifiers、Node Tree、Variables、Build 控件等区域 | md\ui\index.md |
F3 | 把选中的节点标记为导出(Mark for Export),等价于右键选 Mark for Export | md\using\using-gaea\build-and-export\exporting-nodes.md |
F | 把选中节点设为锁定预览(Lock Preview) | md\ui\graph\basic-workflow\lock-preview.md |
G | 把选中节点设为 Underlay | md\ui\graph\basic-workflow\underlays.md |
V | 在视口里临时切换平面预览(flat preview) | md\ui\graph\basic-workflow\underlays.md |
P | 打开 Portal 菜单(Manage Portals),把端口转成 Portal | md\ui\graph\organization\portals-and-chokepoints.md |
Ctrl + P | 把选中的输出连接转成 Portal 连接 | md\reference\nodes\utility\chokepoint.md |
Shift + 把 Chokepoint 拖放到目标节点上 | 插入 Chokepoint 并让 Gaea 自动重接所有连接 | md\reference\nodes\utility\chokepoint.md |
Shift + 在 Manage Portals 里转换端口 | 先创建 Chokepoint,再把它的输出转成 Portal | md\ui\graph\organization\portals-and-chokepoints.md |
X | 在 Options > Viewport 里把视口背景色重置为默认 | md\ui\interface\options\viewport.md |
Q / E | 视口向上 / 向下平移,方向可在 Navigation 里翻转 | md\ui\interface\options\navigation.md |
按住 Alt | 鼠标导航动作的修饰键,可在 Navigation 里逐项启用 | md\ui\interface\options\navigation.md |
节点短代码
文档为每个节点列出了短代码,例如 p 对应 Perlin、m 对应 Mountain、b 对应 Blur、t 对应 Transform、w 对应 Warp、c 对应 Combine、h 对应 Height、v 对应 Voronoi、s 对应 Shape、k 对应 Constant、f 对应 File、o 对应 Object、g 对应 Gabor,多字符的如 df(Deflate)、rsp(RGBSplit)、hf(HydroFix)、rv(Rivers)。Options 的 Graph 标签里 Allow Node Shortcuts Only When Cursor is Inside the Graph 管的就是这套"创建节点的键盘快捷键",完整对照见节点索引。
Data View 里大部分节点快捷键同样可用,既可以用默认设置,也可以在 Options > Graph 里自定义。
视口导航
文档把视口导航分成 Orbit、Free/WASD、Orthographic 三种模式。视口可以嵌在主界面里,也可以作为浮动窗口;工具栏还提供网格、边界、罗盘等常用元素的开关,以及相机保存与载入。
Options 的 Navigation 标签决定鼠标怎么操作。Rotate、Pan、Zoom 三个动作各自可以指定用左键、中键还是右键;Hold Alt 是每个动作的可选修饰键,启用后必须按住 Alt 加对应鼠标键才会触发,用来避免做别的事时误触导航。三个动作的 Sensitivity 分别可调,默认 100%,数值越低越慢越精确,越高越快。Invert Y Axis 反转旋转或平移的垂直方向;Flip Y Pan Direction for QE Keys 改变 Q(上)与 E(下)的方向;Invert Zoom Direction 反转滚轮缩放方向,默认滚轮向上为放大。文档说明这套设置可以贴合常见工作流,例如 Maya、Blender、3ds Max 的操作习惯。
Lazy Menu
F1 打开 Lazy Menu。Options 的 Lazy Menu 标签决定每个条目怎么显示:Hide 完全移除,Muted 以暗色显示,Bright 高亮突出(多数工具的默认值)。可配置的条目包括 2D Viewport、Lighting Options、Graph、Properties、Modifiers、Node Tree、Variables View、Build View、Build Settings。Options 的 General 标签里还有 Move cursor to target when using the Lazy Menu,启用后选择条目时鼠标会自动移到目标上。
可自定义的快捷键行为
Options 的 Graph 标签集中控制与快捷键相关的行为。Allow Node Shortcuts Only When Cursor is Inside the Graph 启用时,创建节点的快捷键只在光标位于图画布上时生效,禁用则光标不在图上时也全局生效,文档推荐用它避免在界面其他位置使用时误建节点。Hide Bookmark Shortcuts 隐藏画布上的书签快捷键按钮,Hide Graph Tabs 隐藏图顶部的标签行,Grid Snap Size 可选 10、20、25、50、100,默认 25。
其他软件的快捷键
Blender 导入流程里出现的 Shift+A → Mesh → Plane、N → Item → Dimensions、Ctrl+A → Scale 都是 Blender 自身的快捷键,与 Gaea 无关,只是文档在讲导入步骤时一并列出。
文档没有提供可导出或可打印的快捷键总表,也没有为视口操作列出独立的键位清单。需要确认某个键时,以 Options 里对应标签页的设置为准。
Gaea 2 Illustrated Tutorial
A systematic guide to Gaea 2. The tutorial chapters explain every functional area and the parameter system; the node reference covers all 182 built-in nodes and is searchable in both Chinese and English; the case studies walk through six complete builds you can follow step by step; the troubleshooting chapter is organised by symptom.
Node names, parameter names and feature descriptions follow the official Gaea 2 documentation. The illustrations were generated to demonstrate landforms and are not screenshots of the software. Use the controls at the top right to switch between the light and dark theme, and between Chinese and English.
First, the whole process at a glance
These five images are the same terrain at five stages. Remember the order — establish the large form, then erode, then add surface detail, then colorize — and you have the skeleton that every case study later on is a variation of.
How to use this tutorial
- Complete beginner: read from "What Gaea 2 is" through "Core concepts", then jump to case one in "Build from scratch" and get a full pipeline working with three or four nodes. Come back to "Functional modules" afterwards.
- Experienced, solving a specific problem: go straight to the node reference. Type what you want to do (for example erosion, colour, fracture, dunes) to locate the node, then open its parameter table.
- Debugging: the troubleshooting chapter is grouped by installation and licensing, performance, graph and nodes, terrain quality, export and import, and colour and texturing.
What Gaea 2 Is
Gaea 2 is a procedural terrain generation application for Windows, developed by QuadSpinner. It does not ask you to sculpt mountains by hand. Instead, you build a node graph: each node does one job — generate a shape, distort an outline, simulate erosion, lay down rock strata, colorize, export — and once you connect them in order, the terrain is processed step by step along that pipeline. Change one parameter and the downstream chain recomputes, so the shape changes with it.
The Gaea interface is organized around one loop: build terrain logic in the Infinity Graph, preview it in the Viewport, and tune parameters in the Property Editor. That loop defines how the tool works. Parameter changes show up in the viewport immediately, so you can iterate at a very low resolution and only build at high resolution once the shape looks right.
It is primarily an asset generator. Gaea outputs heightfields, masks, color maps, splat maps, meshes, point clouds, and tiled worlds for downstream tools such as Unreal, Unity, Houdini, and Blender. It supports the mainstream heightfield and mesh formats, and provides engine-specific output nodes plus bridge integrations such as Gaea2Unreal and Gaea2Houdini. The Gaea 2 node library contains more than 180 nodes, grouped by family into nine categories: Primitive, Terrain, Modify, Surface, Simulate, Derive, Colorize, Output, and Utility.
Gaea 2.0 is a generation rewritten from the ground up. It shares the same brand as Gaea 1, but the engine, file format, and node system have all been replaced, which matters a great deal when you migrate.
Version and Licensing Differences
The version name that appears throughout the documentation is the Gaea 2.0 generation. The silent installation example gives the installer name Gaea-2.2.7.0.exe, and the screenshots in the setup wizard are labeled 2.0.1. In the local capture of the official documentation, the Release History page contains only explanatory text and does not list the update entries for individual versions.
Gaea is divided into four edition tiers, and these are the four names that appear explicitly in the documentation:
| Edition | Description in the documentation |
|---|---|
| Community Edition | Free version, downloadable from quadspinner.com. If a license expires or is lost, a running Gaea falls back to Community Edition instead of exiting. |
| Indie | You can install and use Macros created by others. |
| Professional | You can create and use Macros, and it additionally includes Expose Parameters, Variables and Expressions, and Automation. |
| Enterprise | The same extended capabilities as Professional, aimed at enterprise licensing scenarios. |
Two hard limits are worth remembering up front: Gaea2Houdini requires a Professional or Enterprise license; and the Gaea UI and Gaea Build Swarm are two programs that both call the Gaea Engine, so each needs its own license. If you have only one license, you can choose Close and Build in the Build menu to close the interface first and free the license for Swarm.
There are three license forms:
- Online license key: the standard format is
xxxx-xxxx-xxxx-xxxx, and an online floating key carries theFL-prefix, as inFL-xxxx-xxxx-xxxx-xxxx. - Offline license file: a
.licfile containing XML, for exampleABCD1234.lic, node-locked to one machine. - Offline floating license: distributed by a locally deployed Fortress service. The workstation license file is named
floating.licand contains both the floating key and the server address.
System Requirements
Gaea depends on .NET 8.0 and the Visual C++ Runtime. The installer downloads and installs both runtimes automatically when they are needed, so the installation process requires an internet connection. Some hardware also requires the Intel CPU Runtime for OpenCL Applications with SYCL Support. If you need to install in an environment without internet access, install these prerequisites in advance.
| Item | Minimum | Recommended |
|---|---|---|
| Operating system | Windows 10 (April 2018 Update, Build 1803) | Windows 11 23H2 |
| CPU | Intel Core i5-4200U / AMD FX-8370 | Intel Core i7-4770K / AMD Ryzen 5 1500X |
| Memory | 16GB RAM | 32GB RAM |
| GPU | NVIDIA GeForce GTX 1080 / AMD Radeon RX Vega 64 | NVIDIA GeForce RTX 3070 Ti / AMD Radeon RX 6800 XT |
| Disk | 10GB | 50GB |
There are two hard prerequisites for compute capability. For CPU compute, the CPU must support the AVX2 instruction set. For GPU compute, NVIDIA cards require CUDA 12.5 and AMD cards require HIP 6.0. Memory requirements vary widely from project to project; see the memory chapter for specific estimates. QuadSpinner also recommends using Community Edition first to confirm that your hardware can run it.
Installation Methods and First Launch
Gaea offers three installation paths. The Setup Executable is the primary and recommended method. It provides both a regular installation and a portable installation, and it writes the registry entries required by the Gaea2Unreal and Gaea2Houdini bridges. The 7-Zip package contains exactly the same files as the installer but is purely portable and writes no registry entries, which suits bulk distribution or repackaging. winget installs it with a single command:
winget install gaea
The winget repository accepts versions slowly and may lag behind the official website, so machines that already have Gaea installed will receive an in-app update prompt.
A Regular Installation requires administrator rights and installs to Program Files by default. If you install to a network location, it must be mapped to a drive letter; UNC paths are not supported, and Gaea may not work correctly otherwise. A Portable Installation installs to a user-writable directory, by default C:\Users\YOU\AppData\Local\Programs\Gaea 2.0. It needs no administrator rights and does not create the registry entries required by the bridges.
For bulk deployment, the installer supports the silent parameters /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-, together with /ALLUSERS (install for all users), /CURRENTUSER (install for the current user only), /DIR="X:\PATH" (specify the installation directory), and /LOG="filename" (write a log).
On first launch, a Welcome dialog appears. It lets you set the storage path for Gaea Projects and choose the viewport navigation style, and you can enter a License Key there as well. A key can also be entered on the Start Screen shown at every launch, or under Help > About. If you received a .lic file, simply drag it onto the license dialog.
The location of the Gaea Data Folder varies with the installation mode. For a regular installation in Program Files, the data folder is <UserFolder>\AppData\Roaming\QuadSpinner\Gaea\2.0. For a portable installation, the data folder sits next to Gaea.exe; for example, an installation in D:\Programs\CG\Gaea\ creates D:\Programs\CG\Gaea\Data\. On first run, Gaea first checks whether the installation directory is writable. If it is, Data is created there; otherwise Gaea falls back to AppData. The default locations for projects and build output are Documents\Gaea\Projects\ and Documents\Gaea\Builds\ respectively, and both can be changed in the Paths panel of the Options dialog. Do not place the project directory or the user directory inside the Gaea installation directory.
License Activation
The license dialog has several entry points: the Welcome dialog on first launch (click Have a license key?), the Community Edition startup dialog, Help > Manage License, and Help > About. Enter the key and click activate; Gaea connects to the licensing server to complete activation.
Offline and unattended scenarios rely on file activation. Do not mix up the three file names:
activate.lic: a plain text file containing only the license key, with no other characters or blank lines. Place it in the Gaea data folder. At startup, if the license is not yet active, Gaea tries to activate with it.gaea2.lic: rename an offline license file to this name and place it in the data folder.floating.lic: an offline floating license. Place it in the data folder, and Gaea reads the floating key and the server connection information from it.
Offline licenses are node-locked. To request one you must provide a Hardware Thumbprint: open Help > About and click the copy icon next to the purple Thumbprint reading below the License text. Major hardware changes such as a new motherboard or processor will invalidate an offline license; you then need to contact technical support with the new thumbprint to have a replacement issued.
Floating license keys carry the FL- prefix. When Gaea starts, it requests a seat from the online licensing server. If all seats are taken, you receive a prompt and must wait for someone else to release one. Keep-alive works through a heartbeat roughly every 5 minutes, with an additional grace period of about 5 minutes to tolerate network jitter. If the network drops, Gaea releases the seat on both the client and server sides, but running instances do not exit. They merely fall back to Community Edition, and you still have a chance to save your files. If you see "Maximum Clients Assigned" when you re-request after a crash or a disconnection, it is usually because the old seat has not been released yet; wait one heartbeat cycle (within 5 minutes) and try again. The Refresh button under Help > About forces revalidation and re-acquisition of the license, while the Release button releases the current license and falls back to Community Edition. If a workstation cannot reach the internet directly, you can specify a proxy address in the Options dialog.
There are two ways to release a license. Locally, use Help > About > Release License, which returns the installation to Community Edition. This is not a permanent deactivation, and you can activate again later. The command-line equivalent is:
Gaea.exe -deactivate
If you are not at that machine, sign in to your QuadSpinner account, open the License Dashboard, click Show, go to Activations, find the computer you want to remove, and click Release. Note that the documentation states explicitly that the number of activations allowed per year is limited. Activating too frequently will cause the server to disable the license, and you will need to contact technical support to restore it.
When troubleshooting, first confirm that the data folder contains only one .lic file — multiple license files interfere with each other because of differing load order. For networking, allow TCP ports 80 and 443 for *.quadspinner.com and *.gaea.app, including all subdomains.
Migrating from Gaea 1
Gaea 1 .tor project files cannot be opened in Gaea 2. The two engine generations are entirely different, and Gaea 2 uses .terrain files. Keep maintaining old projects in Gaea 1. If you really need to bring terrain into Gaea 2, the most accurate and direct approach is to export R32 from Gaea 1 and then import it into Gaea 2. If you used fixed file names in Gaea 1, you can refresh the input in Gaea 2 after every rebuild of the output.
At the node level, Gaea 2 discontinues a large number of GeoPrimitives and all LookDev nodes, replacing them with the new Landscape and Surface nodes. Some other nodes were renamed for clarity. The node change table in the documentation lists the status of each node by Gaea 2 category: new, improved, no major change, renamed. A few renames that are easy to trip over: FlowClassic was formerly called "Flow Map", MacroPort was formerly called "Wormhole", and Edge was formerly called "Zero Borders".
The number of new nodes is large and spans every family, for example Cellular, Cellular3D, DotNoise, LinearGradient, and RadialGradient under Primitive; CraterField, DuneSea, MountainRange, and Volcano under Terrain; Erosion2, EasyErosion, Wizard2, Thermal2, and Glacier under Simulate; and PointCloud, Unreal, Unity, and TextureBaker under Output. In the interface, the Gaea 1 Post Process Stack evolved into the Gaea 2 Modifier Stack, which can be attached to most nodes for post-processing fine-tuning and uses less memory than creating new nodes.
Interface Overview
The Gaea interface is organized around one loop: build terrain logic in the node graph, preview it in the viewport, and tune parameters in the property editor. The window is divided into a few fixed areas — the main menu at the top, the Infinity Graph in the middle, the property editor and Data View on the right, and a viewport that can either sit inside the main layout or float on its own. The sections below cover each area in turn.
Main Menu
The main menu follows the usual Windows application layout and contains eight menus: File, Edit, Graph, Node, Preview, Project, Tools, Help. They cover project management, graph tools, bake/build/export actions, and diagnostics. The menu paths that appear explicitly in the documentation are:
- File > Export > Macro... and File > Import > Macro: export and import a Macro.
- Graph > Bake > Bake Required Nodes: automatically bake every node that requires baking.
- Tools > Plugins: install plugins such as Gaea2Unreal.
- Help > Manage License, Help > About: manage the license, view the hardware fingerprint, and release the license.
Build-related settings are collected in the Build Options window, where the tabs on the left switch between Resolution, Build, Tiles, Nodes, Script, Terrain, Regions, Profiles, and Commands.
Infinity Graph
The Infinity Graph is the core workspace in Gaea. This is where you place nodes and draw connections, organizing terrain logic into a flow that runs from generation to output. It is designed to hold everything from small experiments to large production graphs, and it does not force any single fixed structure.
Nodes are divided into the families Primitive, Terrain, Modify, Surface, Simulate, Derive, Colorize, Output, and Utility, plus any Macro you install yourself. A few high-frequency shortcuts are worth memorizing: P opens the Manage Portals menu, F sets the current node as the Lock Preview, G sets a node as the Underlay, V temporarily switches the viewport to planar preview, and F3 marks a node for export (Mark for Export).
How the graph behaves is configured under Options > Graph: Grid Snap Size sets the node snap spacing and offers 10 / 20 / 25 / 50 / 100, with a default of 25; Allow Node Shortcuts Only When Cursor is Inside the Graph makes node-creation shortcuts respond only when the mouse is over the canvas, which prevents accidentally creating nodes elsewhere in the interface; the other two options are Hide Graph Tabs and Hide Bookmark Shortcuts.
How the Graph Is Organized
Tabs split one project into multiple graphs. A row of tabs at the top of the graph switches between them, and that row can also be hidden under Options > Graph. The node tree in the Data View shows tabs as the first level of the hierarchy; when the project uses .tfrag content, a tab can also represent an independent .tfrag.
Groups are containers inside a graph that keep related nodes together. The Data View hierarchy is Tabs → Groups → Nodes, and both groups and tabs can be expanded or collapsed. Nodes inside a container are listed in their left-to-right order on the graph, and notes are shown alongside them, so you can read annotations from the same navigation surface.
Portals let nodes connect across long distances without drawing a visible connection, and they can cross between tabs. There are three ways to create one: right-click an existing connection and choose Convert to Portal; right-click a node and choose Manage Portals (shortcut P), then pick the port to convert, and any existing connections on that port are converted to Portal connections as well; or hold Shift while converting a port in the Manage Portals menu, and Gaea first creates a Chokepoint node and then turns its output into a Portal. Choosing Connect to Portal on an input port opens a search box that lists the available Portals.
Chokepoints are Chokepoint nodes whose only purpose is to avoid rewiring a large number of nodes; they add no memory overhead of their own. Complex graphs naturally develop bottlenecks — a node referenced by several downstream nodes has to be rewired in a circle whenever it is replaced. Place a Chokepoint before an important branch, and changing the upstream side requires editing only one place.
Underlays decide which terrain is placed underneath when displaying colors or masks. By default Gaea picks the nearest Heightfield/Terrain node; if the graph branches, it may pick the wrong node, in which case you right-click the correct heightfield node and choose Use as Underlay, or select the node and press G. A node designated as the Underlay appears as a purple link on the Data View toolbar. For the opposite need, use Exclude from Underlay: right-click a node to exclude it, and Gaea walks upward to find a parent node. Note that modifying a node before the Underlay causes every node in between to update as well, which becomes noticeably slow at preview resolutions above 2K; when Gaea detects this kind of downstream Underlay it shows a warning in the property editor.
Lock Preview pins the viewport to a node, so that afterwards any edit to a node before it propagates all the way to the locked node, letting you judge the final result while changing the upstream side. Right-click a node and choose Lock Preview, or press F. A locked node appears as a green link on the Data View toolbar. Nodes that are not downstream of the locked node do not update until it is unlocked.
Viewport
The viewport is the main preview area. It supports 3D viewing and also offers an optional 2D viewport for evaluating the shape, scale, and detail of a terrain. It can sit inside the main layout or be used as a floating window. There are three navigation modes: Orbit, Free/WASD, and Orthographic. There are also toggles for viewport elements such as grid, bounds, and compass, plus camera save and load.
The appearance of the viewport itself is configured under Options > Viewport:
- Antialiasing: choose from
None,2x,4x,8x, with a default of4x. Higher values give cleaner edges but cost performance on low-end GPUs; on a mid-range card,2xor4xis recommended. - Display Options:
Do not clear viewport when unselecting a node(keeps the previous terrain after deselecting a node),Show Grid,Show Compass,Show Base Marker,Conserve memory when displaying 4K terrains(saves memory for terrains above 4K, at a slight cost in fidelity). - Background: the viewport background color. Click the swatch to pick a color, press
Xto restore the default. - Mask Gradient: the color scheme for mask output. Choose from
Greyscale(default),Red,Blue,Spectrum.
Mouse and keyboard behavior is configured under Options > Navigation: Rotate, Pan, and Zoom can each be assigned to the left, middle, or right mouse button, and can also require holding Alt to take effect. Each of the three has its own sensitivity slider, defaulting to 100%. Three more toggles affect the feel: Invert Y Axis reverses the vertical direction, Flip Y Pan Direction for QE Keys swaps the pan direction of Q and E, and Invert Zoom Direction reverses the wheel zoom direction.
Viewport Toolbar
The viewport toolbar provides a set of quick controls:
- Preview resolution: from
512all the way to4096. - Lighting and atmosphere: controls for the sun, lights, and atmosphere.
- Render styles: the documentation gives examples in three categories: realistic, clay, and data-visualization.
- Viewport toggles and tools: including showing/hiding the 2D viewport, plus measuring and picking tools.
Property Editor
Select a node and its settings appear in the Properties panel on the right side of the interface. Changes take effect immediately and are reflected in the viewport, which is the basis of fast iteration in Gaea.
There are only a few property types: Integer (a whole number, usually a finite quantity such as a count or an angle), Decimals (a decimal number, usually a strength or an amount, where small changes often have a large effect), Toggle (on/off), Choices (a dropdown), Color (a color, used by colorizing nodes), and File (select a local file). Sliders that sit at their default value are drawn slightly dimmer, and this behavior can be controlled in Options.
Numeric properties accept a directly typed number on right-click. For properties displayed as a percentage, you can enter a value in meters, and Gaea converts it using the width from the Terrain Definition on the Build tab: when the terrain width is 5000m, entering 500m converts to 0.1, which is 10%.
Right-clicking an integer or decimal property opens the Nudge panel for higher-precision adjustments:
| Command | Effect |
|---|---|
| Halve | Halve the current value |
| Double | Double the current value |
| Minimum | Set to the lowest allowed value |
| Decrease Large | Decrease by a large step (for example 10 out of 100%) |
| Decrease Small | Decrease by a small step (for example 1 out of 100%) |
| Reset | Restore the original/default value |
| Increase Large | Increase by a large step (for example 10 out of 100%) |
| Increase Small | Increase by a small step (for example 1 out of 100%) |
| Maximum | Set to the highest allowed value |
Nudge also has a Seed Reset: the random value a node is created with is recorded as the default seed, so no matter how much you change it afterwards, resetting the Seed returns it to that original value.
Above the property editor there is also a Property Editor Toolbar with node-specific actions: replace the current node with a related node, manage state (revert / reset / save state), and enable a gizmo for nodes that support viewport manipulators.
Modifier Stack
A Modifier is a layer of post-processing attached to most nodes. It acts directly on that node's output, so the result can be adjusted without rebuilding the node. Many modifiers do the same job as a node of the same name, but using the modifier costs less than building a dedicated node.
The order in the stack can be rearranged, and this often changes the final result, especially for high-impact modifiers such as Autolevel or Height Remap. The modifier stack is the evolved version of the Post Process Stack in Gaea 1, and it is more flexible and more memory-efficient.
According to the documentation, the available modifiers are:
| Height | Effects | Blend Modes | Masks |
|---|---|---|---|
| Autolevel | Blur | Max | Influence |
| Clamp | Warp | Min | Height |
| Drop | Shaper | Difference | Slope |
| Equalize | Threshold | Invert | |
| Height Remap | |||
| Match Height | |||
| Strong |
In addition, three special modifiers are not provided as nodes: Influence, Min, and Max.
Data View
The Data View sits to the right of the graph. It is a set of tabs for inspecting project structure, build output, node diagnostics, and exposed variables. When you need to find a node in a large graph, run an audit before a build, look up a specific value, or expose parameters for automation and Macros, it is far faster than panning around the canvas looking for nodes.
The Terrain tab contains the node tree and the graph filter. The green and pink icons at the top represent the current Lock Preview node and Underlay node; hovering shows which node it is, and clicking jumps straight to it. The filter narrows nodes by type or behavior, and once enabled the other nodes are hidden from the tree and greyed out in the graph. The options are None (clear the filter), Marked for Export, Requires Baking (nodes that need baking before a Hybrid or Tiled build), Nodes with Errors, Heavy Nodes (the most time-consuming nodes, calculated from the median), Orphan Nodes (nodes that are unconnected and do not feed any output), Bypassed Nodes, Has Modifiers, and By Type (Generators, Simulations, Colorizors, Exportable, Logic, and so on).
Most keyboard shortcuts in the node tree match those on the graph, and they can also be customized under Options > Graph.
The Build tab lists the nodes marked for export, letting you verify the current build resolution, the build target and output filename format, which ports will be written out, and the output format of each export before leaving the Data View. The toolbar also has shortcuts that jump to the build configuration, the output files, and the output configuration.
The Stats tab shows detailed information about the selected node and the data it generates: node ID and name, build status and the time taken by the last build, output resolution, channel count and data type, estimated output size, the min/max/range of the heightfield and mask, per-channel information for multi-output or color nodes, and node errors and build messages. Use it when you need to supply a definite value downstream, or when a node's output looks wrong.
The Vars tab is for creating, organizing, and managing exposed parameters. A variable can be Float, Int, Range, Choice, Bool, String, or Color, and advanced workflows can also use Undefined; UI decorations such as Separator and Group are used to organize the exposed controls. Here you can edit variables, group them by node, bind and unbind properties, and copy the variable configuration string needed for the command line. Port shortcuts for plugins and Macros can create exposed controls for all ports at once, for input ports only, or for output ports only.
The appearance of the Data View is configured under Options > Data View: Icons Display offers Colorful (default), Muted, and Hide; Always Expand expands all categories by default.
Lazy Menu (F1)
The Lazy Menu is a configurable, keyboard-first quick-access hub. Press F1 to bring it up and jump straight to key areas and tools in the interface. Its entries include 2D Viewport, Lighting Options, Graph, Properties, Modifiers, Node Tree, Variables View, Build View, and Build Settings.
Each entry can be set to one of three visibility modes under Options > Lazy Menu: Hide removes it from the menu entirely, Muted keeps it but dimmed, and Bright highlights it (the default for most tools). To keep the interface cleaner, set rarely used items to Hide; to keep them reachable without drawing attention, use Muted.
Core Concepts
In Gaea a terrain is a grayscale image, and the numbers in that image are interpreted as elevation. Once this layer is clear, concepts such as nodes, resolution, build, and bake all have a single consistent explanation.
Heightfield
Gaea represents a terrain as a heightfield: a grid of pixels, where each pixel holds a value between 0 and 1 that corresponds to one elevation point on the terrain. 0 is the lowest point and 1 is the highest. The documentation gives this example: in a terrain with a maximum elevation of 100 meters, a height value of 0.5 means 50 meters of elevation.
What is stored is a ratio, not an absolute height, so the same heightfield paired with different Terrain Definitions produces terrains of different scale: the actual number of meters is determined by Height in the Terrain Definition under Build Options. Gaea stores pixel values as high-precision decimals (for example 0.005893f), so the cache is far larger than an 8-bit or 16-bit grayscale image.
A heightfield is single-channel data, while color nodes output multi-channel (RGB) data, and the data volume must also be multiplied by the number of output ports; the exact sizes are in the memory estimate at the end of this section. Coloring is based on the same set of numbers: a CLUT (color lookup table) is essentially a gradient that picks colors by height value from 0.0 to 1.0, so "the snow line sits at a certain altitude" means "the color switches at a certain height value".
Nodes, Ports, and Connections
A node is a processing step for terrain, and each node represents one specific function: generating shapes, adding erosion, creating textures, exporting. The Gaea 2 node library is organized by family:
| Family | Purpose |
|---|---|
| Primitive | Base shapes, gradients, patterns, noise sources. |
| Terrain | Starting points for large landforms: mountains, islands, ridges, dunes, craters. |
| Modify | Reshaping, filtering, warping, clamping, sharpening, and cleanup. |
| Surface | Surface features: terraces, rocks, sand, cracks, stratification. |
| Simulate | Natural processes: erosion, snow, debris, water flow, vegetation. |
| Derive | Derive masks and auxiliary maps from height, slope, flow, and curvature. |
| Colorize | Color, palettes, channel splitting and merging. |
| Output | Preview, render, bake, export, and engine delivery. |
| Utility | Data routing, graph organization, mask management, and reusable logic. |
A Port is a data inlet or outlet on a node. A node has at least one input port and one output port, and some nodes have multiple outputs — Erosion2 has 4 output ports (for example Out, Flow, Wear, Deposits), so its cache at 4096 x 4096 is 256MB, while Ridge, Adjust, and Shaper, which have only a single output, are 64MB. Ports also have a display type, for example Heightfield, Mask, or Color.
A Connection determines the direction of data flow. The graph is directed: data flows from upstream to downstream, only branches connected to a final output are computed, and isolated nodes do not take part in the build. An output port can be converted to a Portal for cross-graph connections, or attached to a Chokepoint to avoid large-scale rewiring.
To package a section of a graph into a single reusable node, Gaea provides the Macro: two MacroPort nodes enclosing several processing nodes, one set to Direction = Input and one to Direction = Output, with connections shaped like In > Shaper > Out. Export it with File > Export > Macro..., and the resulting .macro is stored under \Data\Macros once installed, after which it can be searched and used like any ordinary node. Version limit: Indie can only install and use existing Macros, while creating a Macro requires Professional or Enterprise.
Resolution and World Scale
Gaea describes the world in meters, and one unit equals one meter. The physical size of the terrain is determined by the Terrain Definition in Build Options: Width is the width (meters), Height is the maximum height (meters), Real Scale shows how many meters each pixel represents at the current build resolution, and Height-Scale Ratio shows the relationship between height and width. Resolution determines how many pixels are used to store this heightfield, with common ranges from 512 x 512 to 8192 x 8192; beginners are advised to start with 1024 x 1024 or 2048 x 2048.
Meters and pixels are two units that cannot be converted directly, so Gaea uses a vertical compression ratio to preserve proportions:
Compression ratio = Height / Size
The default world given in the documentation is 5000m x 5000m x 2500m, which works out to 2500 / 5000 = 0.5, exactly a 0.5 ratio. Another example is a terrain with a horizontal size of 2000 meters and a maximum elevation of 500 meters: 500 / 2000 = 0.25, meaning that you have to travel 4 meters horizontally before a 1-meter difference in height can occur, which reads as a gentle slope.
The most practical use of this ratio is restoring proportions when importing into 3D software: set the scale of the vertical axis (usually Z) to the calculated ratio, for example 0.25, keep the horizontal axes (X, Y) at the default 1.0, and then apply that scale. The ratio is also an adjustment tool: with the size unchanged, raising Height makes the terrain steeper, and lowering it makes it flatter.
Preview and Build
Preview and build use the same graph; they differ in scale and purpose. The preview resolution on the viewport toolbar can be switched between 512 and 4096 for day-to-day parameter tuning; a build specifies the output resolution on the Resolution tab of Build Options (for example 2K or 4K), which determines how many pixels of data are actually written out.
The remaining options on the Resolution tab: Region selects the build extent; Subdivision selects the balance between speed and quality, with the options None, Faster, Balanced, and Slower; Output selects Single Image or Tiled Images; once tiling is enabled, Tile Size sets the size of each tile and Blending sets the blend percentage between adjacent tiles.
Repeatedly testing parameters at low resolution is safe: Gaea's erosion algorithms are resolution-independent, so a 512 x 512 preview build and a full 4K or 8K build stay consistent in the main erosion features, and there is no need to guess at the output.
The rules for writing a build to disk are on the Build tab: Build Destination specifies the output directory, and you can keep a fixed directory for the latest copy, open the output directory automatically after the build finishes, and copy the .terrain along with it; Remove Primary port name in Build output removes the primary port name from the output filename; File Overwrite Mode decides whether a file with the same name is Overwrite or Increment. Build Path Tokens can be embedded in the path.
To make a node's output part of the build, right-click it and choose Mark for Export, or press F3; multiple nodes can be marked at once. The export filename format is <Name or NodeName>_<PortName>.<extension>. The global default formats are under Options > Build: Heightfield defaults to EXR (with RAW, TIFF, and others also supported), while Color Maps and Masks default to PNG16.
Baking and Linchpin Nodes
Baking locks a node's current output at a specified resolution, avoiding repeated computation. The bake resolution can be 1024 x 1024, 2048 x 2048 (default), 4096 x 4096, or 8192 x 8192.
The commands in the Bake menu are: Bake Selected (bake the selected nodes), Bake Required Nodes (bake the nodes involved in tiled computation, ensuring seams between tiles stay continuous), Force Load Baked Cache (force a reload of the baked cache), Unbake Selected (remove baking from the selected nodes so they become editable again), and Unbake All (remove all baking). Baking is not permanent; it can be undone and redone at any time.
The companion feature Cache Previews to Disk (formerly Session Cache) writes node previews to disk instead of keeping them in memory. It has two independently selectable triggers: When Closing File saves previews and build results to disk when the file is closed and persists with the file, while When Idle bakes automatically when the system is idle and a node has not been modified for several minutes, and is a session-level setting that resets the next time Gaea starts. There is also Delete Cache to clear the existing cache.
The Linchpin node is an extra benefit of baking. When loading a baked cache, Gaea loads only those nodes that are baked and connected to an unbaked node; their ancestors are not loaded. The documentation's example is: of 5 baked nodes, only the last is recognized as a linchpin and the other 4 are unloaded, reducing memory and cache usage by about 66%. These unloaded nodes are shown on the graph with a dashed border and can be loaded manually from the property editor; to modify them, the recommendation is to unbake, make the changes, and then bake again.
Regions and Tiled Builds
Regions zoom a small part of the terrain up to a high resolution on its own. The documentation's example takes one sixth of an 8192 x 8192 terrain and enlarges it to 8192 x 8192, increasing pixel density nearly 6 times. There is no limit on the number of regions, and each can be previewed separately. To add one, right-click on the Regions tab of Build Settings and choose Add Region, then drag the control point in the bottom-right corner to adjust its size and position; after exiting, an extra dropdown appears next to the preview resolution selector for switching between regions. The full terrain and the region come from the same procedural graph, so a change in one is reflected in both.
As with tiled builds, a region's initial generators must be baked before it can be built or previewed, and Gaea prompts you when a node is missing. The Gate node is a common technique: place it at the end of the node chain that needs baking, use Bake Required Nodes to bake all Gates at once, and Unbake All to remove all of them. Baking looks like it reduces quality but in practice almost never does — the initial shape may be slightly lower, but once Erosion or another simulation is attached, Gaea renders the result at full resolution, so the initial shape should be as simple as possible.
Tiled Builds process the terrain in tiles rather than building the whole thing at once: the workload is split into smaller pieces, peak CPU, GPU, and memory pressure drop; and the exported result is tiled by nature, which suits engines that stream terrain by block, reducing runtime memory and enabling on-demand loading.
Tiled results can differ from the full image, because some operations can only "see" part of the terrain: nodes that depend on information outside the current tile evaluate in isolation and produce discontinuities at tile or bucket boundaries, with common sources being screen-space generators that assume the whole canvas, filters with a very large sampling radius, and details that are implicitly normalized per region. There are three solutions: bake the upstream portion that is unsuitable for tiling into a stable base; use Hybrid Builds to provide a sufficiently large bucket and blend amount; and avoid per-tile normalization.
For organization, the recommendation is to do the macro shapes first, identify the nodes unsuitable for tiling during the macro stage and bake them into a base, and then attach erosion and surface detail after that. Before building, check: the world resolution must be evenly divisible by the tile resolution; and if you want globally consistent tone, do not let operations adjust themselves per tile.
Hybrid Builds are a mode of tiled building: the exported tiles can be small (for example 512 x 512), but they are built in larger buckets (for example 4096 x 4096) and then subdivided, so one bucket produces 8 x 8, or 64, tiles, and nodes that need neighborhood information therefore get more surrounding data. The Hybrid Subdivision options are None (only when the world fits within 8K or 16K), Faster, Balanced, and Slower. Handling buckets separately makes their boundaries mismatch, so the blend amount between buckets has to be increased; the documentation recommends starting at about 25%, and if seams remain, increase the bucket size first.
There is one more rule of thumb for working with baking: the bake resolution should be the step closest to the full world size. For example, if the world consists of 8 x 8 tiles of 512 x 512, choose 4096 x 4096 as the bake resolution.
Estimating Memory Requirements
When a build fails, the most common things you hear are "my graphics card has 8GB" and "I have 64GB of memory", but the amount of data a procedural graph represents is far beyond intuition: every node generates single-channel (heightfield) or multi-channel (RGB) data, and that must also be multiplied by the number of output ports.
| Resolution | Size in Memory (Heightfield) | Size in Memory (RGB) |
|---|---|---|
| 1024 x 1024 | 4MB | 12MB |
| 2048 x 2048 | 16MB | 48MB |
| 4096 x 4096 | 64MB | 192MB |
| 8192 x 8192 | 256MB | 768MB |
| 16384 x 16384 | 1024MB | 3072MB |
The pattern is that doubling the resolution makes the memory requirement 4 times larger. An 8K terrain graph with 20 nodes has a cache of roughly 5 to 8GB; in theory 16GB of memory is the minimum, but the official recommendation is 32GB, to reduce paging, where the disk is used as memory when memory runs out. 16K is even more extreme: with the same 20 nodes, the actual cache needs 20GB to 30GB, and including overall processing and management it can reach 96GB, so the official recommendation is at least 64GB for a 16K build, and 128GB if conditions allow.
There are three ways to save memory: split the project into multiple files (one for shape generation, one for color production); use baked nodes to move data from active memory to disk; and use as few nodes as possible, replacing nodes with Modifiers wherever possible.
Exporting a mesh is a separate account: a mesh generates one vertex per pixel, so a 2048 x 2048 terrain has 2049 x 2049 vertices, about 4 million. The Optimized option of Mesher allocates polygons by complexity and can reduce the polygon count by up to 60% in typical scenes; another approach is to export a high-resolution displacement map together with a low-resolution mesh.
The Allocated Memory readout in the bottom-right corner of the status bar updates every 5 seconds and counts only allocated caches, excluding temporary usage during intermediate processing, so it can only be used as a rough estimate.
Parameter System and Node Operations
Property Editor
Select a node and all of its settings appear in the Properties panel on the right side of the interface. Changes take effect immediately and are reflected in the viewport; there is no "Apply" button and no node rebuild. Sliders whose default value has not been changed are shown in a slightly darker color, so you can see at a glance which parameters have been touched. This behavior can be adjusted in Options.
The Property Editor Toolbar at the top of the properties panel groups several operations that concern the node itself: replacing the current node with a related node, managing node states (revert, reset, save state), and enabling the Gizmo for nodes that support viewport manipulators. A Gizmo is a draggable handle in the viewport, well suited to parameters that are faster to tune by eye than to type, such as the X/Y offset of Mountain or the outline of Island.
Parameter magnitudes vary widely. Integer parameters usually represent a count or a discrete value, such as an angle or a number of passes; decimal parameters usually represent an intensity or a ratio, where a small change can produce an obvious difference. The documentation specifically warns that if a parameter is named Iteration, Strength, Cycles or Amount, watch the processing time when raising it.
There are several ways to enter values:
- Right-click an integer or decimal parameter to type a value directly.
- Right-clicking opens the Nudge panel, which offers commands such as Halve, Double, Minimum, Maximum, Decrease Large, Decrease Small, Increase Large, Increase Small and Reset for high-precision adjustment. Reset returns the parameter to its default value.
- Seed Reset sets the "default value" to the random seed the node had when it was created, so you can return to the original look with one click after experimenting.
- A value displayed as a percentage accepts a metric value directly. For example, with the Terrain width set to
5000m, entering500mmakes Gaea convert it as500m / 5000mto0.1, that is, 10%.
Parameter Type Table
The table below is compiled from the official node data by deduplicating 1215 parameter instances across 182 built-in nodes. The left side is the type name in the data; the right side is the control form in the interface.
| Type | Official type description | Instances | Interface form |
|---|---|---|---|
| Single | A single decimal number. | 600 | Draggable slider with a value field; right-click opens Nudge |
| Enum | A selectable list of predefined options. | 187 | Dropdown list; options are mostly Low/Med/High/Ultra or style codes |
| Int32 | An integer (whole number). | 178 | Slider or integer field, used for counts, seeds and directions |
| Boolean | A true or false value. | 158 | Checkbox |
| Float2 | A pair of decimal numbers representing a range. | 31 | Two-ended range slider, such as Range, Slope, Altitude |
| Command | An executable command or action. | 20 | Button, such as Add Input, Randomize, Synthesize Colors |
| String | A text or file input. | 17 | Text or path field, such as Output Path, LOD Info |
| Byte | No description | 13 | Read-only information area, usually named Information |
| Color | No description | 8 | Color picker |
List1 / Dictionary2 | No description | 3 / 1 | Gradient editor, key-value data |
Two points need attention: Byte, Color, List1 and Dictionary2 have no type description in the official parameter data; and 25 parameter instances have an empty type description. They are essentially the special types above or pure information fields.
Enum is the type you need to know best after Single. Its options come in two common forms. One is a semantic tier, usually the four levels Low, Med, High and Ultra; Power, Depth, Scale, Deposits, Flow, Shape and Detail in Wizard2, as well as Amount in SuperColor, are written this way. The other is an algorithm or style code: Style in EasyErosion has fifteen entries such as Simple, Ancient, Alpine, Rocky, Flows and Strata, while texture nodes such as Sandstone use letters from A to L. Quality Enums commonly take the values Quarter, Third, Half and Full; they directly determine the processing resolution of the node and are the parameters with the most obvious effect on speed in the whole table.
Common Parameters
After counting the frequency of all parameter names, the parameters that occur most often are listed below. They recur across families and nodes with broadly the same meaning, so understanding them saves a great deal of node-by-node trial and error.
| Parameter name | Occurrences | Purpose |
|---|---|---|
| Seed | 73 | Randomizes the pattern or seed. A new seed gives a new set of shapes while all other settings stay unchanged. |
| Scale | 42 | Overall scale. In most nodes a larger value means larger features and less detail. |
| Height | 25 | Vertical strength or upper limit; determines how high the uplift goes. |
| Size | 23 | Scale of a single feature (ripple, crack, rock). |
| Direction | 23 | Orientation of directional shapes, such as the angle of Line or Asterisk. |
| Style | 17 | Preset style. Mountain uses geological styles; texture nodes mostly use codes from A to L. |
| Type | 15 | Subtype of the algorithm or mode, such as FBM in Perlin, Horizontal and Vertical in Curvature. |
| Strength | 14 | Effect strength. In erosion, mask and deformation nodes it means how forceful the effect is. |
| Shape | 14 | Form outline; controls whether a feature is sharp or round, bulging or ground-hugging. |
| Depth | 13 | Depth of the depression; usually also affects crack width. |
| Octaves | 12 | Number of noise layers. More layers mean more complex detail at the cost of computation. |
| Density | 12 | Number of features per unit area, or rock mass density. |
| X / Y | 12 / 12 | Horizontal and vertical offset; shifts the pattern on the plane. |
| Reverse | 10 | Reverses the mapping or the direction. |
| Quality | 10 | Processing resolution; common values are Quarter, Third, Half, Full. |
| Iterations | 10 | Number of repetitions. More repetitions accumulate the effect and take longer. |
The text for these parameters in the official documentation is almost word for word identical, which shows that they are common controls reused across families. One rule is worth remembering in practice: Seed changes only the shape, not the strength; Scale and Size change the physical size of features; Strength, Amount and Intensity change the magnitude of the effect. When tuning, set the scale first, then the strength, and only then the seed; this avoids repeatedly overturning earlier decisions.
Also note that a parameter with the same name can have different units in different nodes. Feature Scale is measured in meters in the descriptions of Erosion and Thermal2; Height is the vertical scaling of the noise in Perlin, the height of stones above the ground in Stones, and the pixel height of the normal map in TextureBaker. Direction is a Single in most directional nodes but an Int32 in Uplift and Stratify. When you see a familiar parameter name, first confirm its type and description in that node, then decide how to tune it.
Modifier Stack
Modifiers are post-processing adjustments layered on top of a node's output; they are not nodes in the graph. They cost very little: 6 Modifiers use the same memory as 1, whereas 6 nodes with the same function incur 6 times the cost. More importantly, changing a Modifier does not require rebuilding the node, only changing the post-processing result.
The available Modifiers fall into four groups:
| Category | Available items |
|---|---|
| Height | Autolevel, Clamp, Drop, Equalize, Height Remap, Match Height, Strong |
| Effects | Blur, Warp, Shaper, Threshold |
| Blend Modes | Max, Min, Difference, Invert |
| Masks | Influence, Height, Slope |
Three of them, Influence, Min and Max, exist only as Modifiers and have no node of the same name. The mechanism of Min and Max deserves a separate explanation: they compare, pixel by pixel, "the result after the node processes it" with "the node's original input". Max keeps the regions that became higher and Min keeps the regions that became lower. This differs from the Min/Max blend modes of Combine, which compare two independent inputs.
The order of the Modifier Stack can be rearranged by dragging, and the order often changes the final result, especially for strong items such as Autolevel and Height Remap. Common uses:
- Height Remap: raise the floor or compress the top when the height range of a terrain or mask is wrong. Pushing the top past
1.0can make the terrain higher than its original range. - Autolevel: when an imported terrain or a generated mask uses only a small part of the range and looks too flat and washed out, stretch the current minimum and maximum across the whole range.
- Strengthening a mask: add Autolevel or Equalize directly, or give Shaper a positive value.
- Clamp: when values overflow after heavy deformation or blending, place it at the end, after Height Remap, Shaper, Autolevel and Equalize.
- Drop: removes the empty space below the terrain and lets it settle onto the ground.
- Mask by Height and Mask by Slope: restrict a node's effect to a height or slope range. Any node with this kind of Modifier can have a DataExtractor attached to pull out the automatically generated mask on its own.
- Blur: soften the transition when a mask is too hard and shows obvious cut edges. Use just enough; over-blurring loses the region the mask was meant to enclose.
- Warp: add a little fine disturbance to the mask edges to break up the regularity.
The Modifier Stack is the successor to the Post Process Stack in Gaea 1. It is also the main way to slim down a node graph: if a small adjustment can be solved with a Modifier, do not add another node to the graph.
Two uses are easily overlooked. The first is tidying up a mask before export: Autolevel to use the full available range, Clamp to keep values legal, Blur to soften hard edges, and Threshold to turn a soft mask into a clearer selection. All four steps can be done in Modifiers without changing the graph structure. The documentation warns that if the mask has a specific meaning in other software, do not casually apply Equalize or Autolevel, as that changes the value distribution. The second is using a DataExtractor to pull out a Modifier's change on its own: set its mode to modifier and you get "exactly which regions this change affected". For example, after applying Min or Max to an erosion result, output the difference as a separate mask for routing, layering or texturing. This suits cases where the terrain itself is already correct but you still need to reuse the affected regions.
Variables and Expressions
Variables are a mechanism for centralizing values. You can create variables in the Vars panel of the Data View, or choose Bind to > New Variable from a parameter's property binding menu to generate a variable directly from that parameter. If the parameter is a decimal, its own Min and Max are used as the variable range. Variables support Float, Int, Choice, Color, Range (float2) and String, plus an Undefined type for advanced uses and error handling.
After binding, the slider is replaced by a variable control that shows the variable name and its current value. Clicking the value changes the variable's value, which in turn affects every property bound to that variable. When unbinding, you can unbind just that property and keep the variable, or delete the variable as well; deleting a variable unbinds all properties that reference it.
Variable names should use only A-Z, a-z, 0-9 and the underscore, avoiding spaces and non-ASCII characters, so that command-line automation does not break. In the Grouped By Node view, variables bound to the same node are grouped together; if a variable is bound by two or more properties, it is placed separately in the MultiBound Properties group. Switching Edit Mode lets you change values, rename and reorder by dragging in bulk, and right-clicking opens an edit dialog to change the type and range. The documentation warns that changing the type can cause incompatibility; for example, changing an Int to a String may leave a node bound to it unable to handle the value. The Create Variable menu also offers two UI decorations, Separator and Group, for organizing control panels exposed to the outside.
Expressions are modifiers that apply to a single property only; they are not centralized and not reusable. Currently only Float and Int properties support expressions. Choose Expression from the property binding menu and the slider's value is referred to as x in the expression. If the property is already bound to a variable, x refers to that variable. This is a way to reshape a variable without creating a new one.
The example in the documentation is telling: bind the Height of Mountain and the Spacing of FractalTerraces to the same variable and write the expression x * 0.3, and the terrace spacing is always 30% of the mountain height. However tall the mountain is, the terraces fall in the same place. Other forms:
1 - x reverse the value
x / Octaves divide by another variable
x * 0.01 reduce to 1%
median(Octaves, Ridge, Scale, Seed) use a function
random() + x add randomness
if(SomeVar, 0.3, 0.6) conditional branch
Expressions and the Math node share the same language. Operators include + - * / % ^, the comparisons = == <> != < <= > >=, the assignments := += -= *= /= %=, and logical operators such as and, nand, nor, not, or, xor, xnor, mand and mor. Numeric functions cover abs, sgn, floor, ceil, round, clamp, min, max, pow, sqrt, log, mod, erf and more; trigonometric functions include the direct and inverse trigonometric and hyperbolic functions as well as conversions such as deg2rad and rad2deg. Control structures include if-then-else, the ternary conditional, switch/case, while, for and repeat until, plus break and continue.
The Math node can be used alone as a generator, or take up to 3 inputs accessed as a, b and c; x and y provide the per-pixel coordinates. These names are predefined variables and cannot be used for anything else. The documentation also lists vector processing (axpy, sort, dot-product and others) and file read/write capabilities (open, read, write, getline), and recommends preferring Variables and Expressions for ordinary parameter work rather than reaching for File I/O first.
Variables can also be driven from the command line. The Commands section of Build Options offers Copy Command Line; the command it captures already contains all variables and their default values, and you can replace the values and hand it to Gaea.Swarm.exe. Variables can either be passed one by one with a repeated -v key=value, or written into an INI-style text file or a JSON file and referenced with -vars. This is also why the documentation repeatedly stresses using only letters, digits and underscores in variable names: the more regular the names, the less likely command lines and batch processing are to fail.
Functional Module Reference
Gaea 2 has 182 built-in nodes in total, distributed by family as: modify 40, simulate 25, primitive 23, surface 21, utility 20, derive 14, terrain 14, colorize 13, output 12. The sections below are organized by function, and parameter names always use the original English names as they appear in the interface.
Terrain Generation
Gaea's building blocks fall into three categories: Basic Primitives (noise, constants, file input, shapes), Geological Primitives (standalone mountains, hills, craters) and Landscapes (mountain ranges, fields, ridgelines, rolling hills). Primitives and Landscapes include a degree of natural processing of their own, most of which can be turned off, but the documentation states plainly that they are only a starting point; Erosion and Surface nodes are still needed afterwards to turn them into a believable environment.
| Node | Role | Key parameters |
|---|---|---|
| Perlin | The most basic all-purpose base noise | Type, Scale, Octaves, Gain, Height, Seed; Warp group Type/Frequency/Amplitude/Octaves; Transform group Scale X, Scale Y, X, Y |
| MultiFractal | Multi-layered noise with a very wide range of variation, often used for texturing | Noise Type, Auto Octaves, Octaves, Scale, Relative Feature Scale, Roughness, Edge Smoothing, Seed; Variation group; Position group Rotation, Anisotropy, Offset X/Y; Warp group Perturb, Relative Size, Strength, Complexity, Attenuation, Iterations |
| Mountain | Modulated Voronoi plus warping, producing a single mountain body | Scale, Height, Style, Bulk, Reduce Details, Seed, X, Y |
| MountainRange | A whole mountain range optimized for large-scale erosion | Scale, Height, Style, Bulk, Seed |
| Ridge | Ridgelines with fracturing and rock shearing | Scale, Height, Definition, Seed, Scale X, Scale Y |
| Canyon | Drainage-driven river valleys and canyons | Style, Scale, Slot, Valley, Surrounding, Depth, Structual Warp, Seed; Detail Warp, Alternate Style |
| Island | Landmass generated from a hand-drawn outline | Size, Chaos, Seed |
| Plates | A Perlin core with flat plates, suited to mesa or basin bases | Scale, Range, Falloff, Warp, Angle, Seed |
| Uplift | Tectonic uplift that shapes large-scale terrain mass | Passes, Scale, Height, Octaves, Direction, Jitter, Seed |
The Style of Mountain determines the geological and visual style, while Bulk controls how thick the mass is; the easiest path is to pick a Scale, generate a Mountain and connect Erosion directly, which is the fastest way to produce distant assets in bulk. In Canyon, Slot governs the narrow slot at the deepest point, Valley governs how open the valley floor is, and Surrounding determines how much it blends with the surrounding terrain. Island requires you to open the Editor in the Properties panel and draw an outline first; drawing it coarsely works better. The flat slanted plates of Plates suit Displace-type nodes; Passes in Uplift controls the number of uplift passes; Definition in Ridge adds detail along the ridgelines. The general principle is to start with low detail: leave detail to the erosion and surface nodes. Piling detail into the base shape makes later tiled builds very hard to handle.
Erosion and Simulation
The Simulate family has 25 nodes. Erosion is the core, alongside snow (Snow, SnowField, Dusting, IceFloe), water (Lake, Sea, Rivers), vegetation (Trees, Shrubs) and Debris. The table below lists the parameters of the erosion-related nodes.
| Node | Role | Key parameters |
|---|---|---|
| Erosion | Hydraulic erosion with every parameter exposed | Duration, Rock Softness, Strength; Downcutting group Downcutting, Inhibition, Base Level; Scale group Feature Scale, Real Scale, Terrain Scale, Verticality; Flow group Debris, Volume, Sediment Removal; Selective Processing group Area Effect, Bias Type, Bias, Reverse; Seed, Aggressive Mode, Deterministic |
| Erosion2 | New algorithm, deterministic, up to 10 times faster, supports terrain rain shadow | Duration, Downcutting, Erosion Scale, Seed, No Erosion; Suspended Load, Bed Load, Coarse Sediments, Deposition Boost, Extra Deposition Boost; Shape, Shape Sharpness, Shape Detail Scale; Enable, Directional Precipitation, Direction, Rain Shadow, Slope, Altitude, Reverse |
| EasyErosion | Preset-based erosion | Style (Simple, Ancient, Ancient 2, Alpine, Rocky, Exposed, Flows, Flows 2, Flows 3, Strata, Withered, Soft Soil, Soft Soil 2, Dessicated, Thin); Influence, Direction, Bias Angle, Seed |
| Wizard | A lightweight wrapper around Erosion, in two stages | Strength, Density, Material, Channel Depth, Channel Width, Deposits, Removal, Bulk, Seed |
| Wizard2 | A curated wrapper with fewer controls | Power, Depth, Scale, Deposits, Flow, Shape, Detail, Seed; Convert command |
| Thermal | Thermal erosion, producing scree slopes and accumulation | Duration, Strength, Anisotropy; Angle, Settling, Sediment Removal; Feature Scale, Real Scale, Terrain Scale, Verticality |
| Thermal2 | The evolved version of Thermal | Duration, Strength, Anisotropy; Angle, Sediment Removal; Feature Scale |
| HydroFix | A low-level tool that creates continuous flow paths | Downcutting |
| Crumble | Collapses terrain starting from existing cracks and erosion information | Duration, Strength, Coverage, Horizontal, Vertical, Rock Hardness, Edge, Downcutting, Depth, Direction |
| Anastomosis | Interconnected flow carving, from pitted ground to river channels | Impact, Width, Depth, Downcutting, Quality, Smooth Edges |
How Strength and Rock Softness interact. Both affect how violent the erosion is, and raising one may look similar to raising the other, but the mechanisms differ. A low Strength means the water has weak carrying capacity, so dissolved soil drops out sooner; a low Rock Softness means the rock erodes more slowly, but dissolved sediment is carried further. The result is a different sediment distribution and different gully shapes. A low Strength with a very high Rock Softness preserves the general shape, with few cracks and flow channels and some soft sediment piled on the slopes; a high Strength with a very low Rock Softness gives heavily eroded terrain covered in soft sediment. To tell the two effects apart, fix one and vary the other.
Downcutting and Inhibition. The job of Downcutting is to move sediment far away from its source. If you want short transport distances and frequent alternation between erosion and deposition, set Downcutting to 0.0, or raise Inhibition. A high Downcutting with a medium Inhibition produces many deep-cut flow channels along with surplus sediment running down the slopes; a high Downcutting with almost no Inhibition gives channels that are just as deep but with no surplus sediment. Base Level sets the lowest height downcutting can reach, and is used to fill large valleys and build valley floors.
Feature Scale. This controls the lateral size of erosion features, that is, the width between the largest valleys and ridges, in meters. The default given in the documentation is 2000 meters; setting it to 50 meters gives very fine, fragmented gullies. When Real Scale is on, the overall scale is determined automatically by the Terrain Definition; turning it off lets you change the "physics" of the erosion by hand, but the documentation does not recommend this in most scenarios.
Selective Processing. This is a strength unique to Erosion: it lets a bias mask drive Rock Softness, Erosion Strength and Precipitation Amount. This is not the same as "adding a mask to the Erosion node". Adding a mask limits the effect to inside the mask and is done by compositing, equivalent to Combine with a mask at 100% Blend; Selective Processing instead applies a correction amount within the mask region while processing outside it as usual. The mask can come from the Area input (any heightfield), or from the built-in Bias Type: Slope and Altitude. Both are normalized scales from 0 to the maximum, where 0% is the bottom and 100% is the top; to process only the top 10% of a mountain, enter 90% for the Altitude bias. Reverse inverts it. The driving relationship is linear: with Rock Softness set to 35%, the black end of the mask maps to 0% and the white end to 35%; Erosion Strength corresponds to the Strength slider and Precipitation Amount to the Duration slider.
Determinism. Deterministic forces single-core computation, making the result 100% reproducible at the cost of speed. When it is off, the main flow lines stay in the same place but fine features may differ slightly from run to run. Another approach is to make a mask for the flow starting points and feed it into Selective Processing, usually on a second Erosion node, while the first handles general erosion across the whole terrain.
Erosion and Wizard output three key data maps: Wear (the part removed by erosion), Deposits (where sediment finally comes to rest) and Flow (the path sediment takes from its original position to its endpoint). The documentation warns against overusing Flow for texturing, as it makes the terrain look very "CG".
The differences between the hydraulic erosion nodes: Erosion offers complete control but takes time to find a working combination; Wizard offers fewer options and various "recipes", with multi-pass erosion built in, where Phase 1 is fully customizable and Phase 2 is a lightweight recipe that can be used on its own or stacked. Selective Processing is available only in Erosion, though its common uses (such as eroding only the top to carve a river channel) are offered in Wizard as Phase 2 options. Bulk is used to prevent over-erosion: thickening the terrain slightly first keeps sharp peaks and fine parts from being eroded away. Erosion2 is the newer algorithm, with deterministic output, up to 10 times faster on CPU, and terrain rain shadow via Rain Shadow and Direction. EasyErosion and Wizard2 are aimed at "less tuning": the former offers 15 Style presets, the latter leaves only seven dropdowns.
On thermal erosion, Angle is the maximum slope at which material starts to slide, with lower values giving gentler slopes; Settling controls how quickly loose material accumulates (Thermal2 does not have this parameter); a higher Sediment Removal gives cleaner, crisper features. In Crumble, Horizontal biases the effect towards flow starting points or terminal deposition areas, Vertical biases it towards high or low altitude, Edge controls the strength of the effect on sharp edges, and Rock Hardness controls how resistant the material is to crumbling. Downcutting in Anastomosis is an enum; choosing Destructive carves aggressively.
HydroFix has only one parameter, Downcutting. It does not change the landform, only making small adjustments along flow lines to make the flow more coherent; the effect is obvious when used with FlowMap. It is not needed when using Rivers, because the algorithm includes it. The documentation's position is that erosion is not a mandatory last step: LookDev nodes such as Canyonizer, Stacks, Anastomosis and Shear already produce believable results on their own, and adding hydraulic erosion on top brings soft sediment that destroys the original non-hydraulic look.
Surface Shaping
The Surface family solves a long-standing problem: erosion or heavy filtering weakens or even destroys the overall shape. Surface nodes add and subtract shape at the surface level without touching the deeper structure, so volume is preserved, design volume and design surface can be separated, and assets already in a scene do not deform when their surface is modified.
| Node | Role | Key parameters |
|---|---|---|
| Warp | Overall distortion using a vector field, without directional tearing or excessive stretching | Size, Strength, Z Scale, Warp Source, Perturbation, Complexity, Roughness, Normalized, Edge Behaviour, Modulation, Modulation Direction, Seed; Iterations, Mode |
| SlopeBlur | Directional blur along the slope direction of the Guide | Intensity, Iterations, Direction, Asymmetry, Normalized, Window; Quality, Antialiasing |
| SlopeWarp | Similar to SlopeBlur, but performing directional displacement | Intensity, Iterations, Direction, Normalized; Quality, Antialiasing |
| DirectionalWarp | Uses a second input to guide displacement, suited to wind erosion and channel carving | Strength, Direction, Edge Behaviour |
| Fold | Introduces tilting, fracturing and folding; changes the terrain significantly, so place it early in the graph | Waveform, Folds, Symmetric |
| Deflate | Removes volume and leaves only detail | Amount |
| Shatter | Turns a simple shape into highly fragmented terrain | Shatters, Size, Coverage, Seed |
| Craggy | Turns the surface into a field of shattered rock | Size, Depth, Shape, Seed |
| Outcrops | Generates rock strata outcrops at a large scale | Variations, Strata, Density, Shape, Chipped, Seed; Size, Height, Rotation are all ranges |
| Stratify | Non-linear shattered rock layers, each layer independent | Spacing, Octaves, Intensity, Shape, Seed, Tilt Amount, Direction |
| Terraces | Stepped mesas | Terraces, Uniformity, Steepness, Intensity, Seed |
| FractalTerraces | Multi-octave layering, more natural than Terraces | Spacing, Octaves, Intensity, Shape, Seed; Shapes Separation, Macro Octaves, Micro Shape, Character, Thickness Uniformity, Hardness Uniformity, Strata Details, Protect Range; Apply Tilt, Tilt Amount, Direction, Warp Amount, Warp Size |
| Sandstone | Multi-layer sandstone-style terraces and depositional structure | Passes, Iterations, Spacing, Intensity, Convexity, Tilt, Direction, Chaos, Seed, Chipped, Chipping |
| Stones | Randomly scattered small rocks | Scale, Height, Density, Seed |
| Roughen | Fine-grained roughness | Width, Depth, Oriented, Quality |
The documentation is very specific about how to combine rock layers: Stratify > Sandstone > Stratify > Sandstone, or even the simple Stratify > Sandstone > Sandstone is enough; to add more fragmentation, run the terrain through an Erosion or a Rock node before the layering. What Stratify produces are sub-layers confined to local regions (for example between two fault blocks), each independent, which is closer to real rock strata; FractalTerraces offers lower-level control and suits complex graphs where you do not want Stratify or Sandstone to introduce too many features and prefer to control the erosion flow yourself.
Stones are randomly scattered, not physically driven like Debris; Oriented in Roughen gives the roughness a direction. Transpose transfers the surface features of the Reference terrain onto the Input while preserving the Input's volume and outline; its parameters are Mode, Amount, Extend, Flatten, Threshold, Boundary.
Data Maps and Masks
All of Gaea's coloring is built on masks: black-and-white masks are used to distribute gradients. Mapping the dark end of a CLUT to low altitude and the bright end to high altitude, with the greys in between distributed proportionally, is the color lookup table mechanism. If the same gradient is fed to FlowMap instead of terrain height, the texture follows the flow lines. Data Maps come in two kinds: Aspect Maps extract attributes from the terrain itself (Height, Slope, Curvature, Angle, Peaks), while Generative Maps run algorithms to generate them (FlowMap, Soil, RockMap, Occlusion, TextureBase, Texturizer).
| Node | Role | Key parameters |
|---|---|---|
| Height | Selects regions by altitude range | Range, Falloff |
| Slope | Selects regions by slope range | Range, Falloff, Type, Micro Accent |
| Angle | Selects all regions facing a given direction | Azimuth, Range, Falloff |
| Curvature | Selects outward-facing regions such as bulges and sharp edges | Range, Type, Falloff |
| Peaks | Uses prominence to select peaks and ridgelines | Falloff, Precise |
| Occlusion | Similar to ambient occlusion, but biased towards deposition processes and rock crevices | Strength, Octaves |
| Soil | Soil settling mask, denser in crevices and on gentle slopes | Amount, Bias |
| RockMap | A coverage mask that traces rock forms along the surface | Coverage, Density |
| TextureBase | Combines chaos, slope, flow areas and geological features into a texturing mask | Slope, Flows, Soil, Patches, Chaos, Peaks; Accentuate, Enhance, Reverse, Seed |
| FlowMap | How water or material moves across the surface | Flow Length, Flow Volume, Seed |
Height and Slope are the core selectors for snow lines, vegetation belts, coastlines, mesa placement and biome zoning, with Falloff controlling the softness of the boundary transition. Peaks locates features by prominence (which the documentation calls inverse curvature), so it can find the individual summits and ridgelines of terrain of varying height, and Precise makes the detection hug the true tips more closely.
The documentation for Occlusion is very practical: use a high power to focus on large-scale gullies and a low value to focus on small crevices, which lets you separate occlusion regions for different materials. The higher the Power of Soil, the more dust-fall cycles are simulated; a low value lays down only a thin layer of dust. Multiple Soil Maps can be stacked with Combine set to Max, or merged with maps such as Flow and Velocity into masks for shading. TextureBase is a general-purpose mask that gives a believable base to color nodes such as SatMap and CLUTer, with Slope, Flows, Soil, Patches, Chaos and Peaks each introducing the corresponding feature.
Shading and Texturing
The goal of shading is not only to make the viewport look good, but also to produce usable production data: control maps such as albedo or diffuse, splat masks, erosion masks, vegetation masks and moisture masks.
| Node | Role | Key parameters |
|---|---|---|
| CLUTer | Color lookup table driven by a gradient | Gradient Data, Autolevel Input, Reverse, Bias, Hue, Saturation, Lightness |
| SatMap | Preset palettes derived from real satellite data | Library, Library Item, Range, Bias; Enhance, Reverse, Rough, Hue, Saturation, Lightness; Randomize command |
| SuperColor | Procedural shading combining texture, flow, peaks and palettes | Texture, Strength, Warp, Seed; Library, Library Item, Range, Bias, Reverse; Process, Amount |
| Synth | Converts a bitmap into an editable CLUT | Data; Samples, Fuzzy, Offset, Seed; Synthesize Colors, Export JSON commands |
| Tint | A two-color lookup table, essentially a two-color CLUT | Start, End, Hue, Saturation, Lightness; Enhance, Reverse |
| Weathering | Aging: brightens bulges and darkens crevices | Scale, Creep, Amount, Washed Out, Inverse, Dirt, Darker; Hue, Saturation, Lightness |
| ColorErosion | Applies the logic of depositional erosion to color | Transport Distance, Sediment Density, Blend, Color Hold, Flow Volume, Laminar Flow, Diffusion, Seed, Version, Q 0, Q 1 |
| Mixer | Layer-based color blending with built-in masks | Blend Layers, Show Simplified, Preserve Masks, Add Input command |
| RGBMerge | Packs three heightfields into RGB | Enhance R, Enhance G, Enhance B |
| RGBSplit | Splits RGB back into separate heightfields | Autolevel Channels, Method |
| Splat | Combines RGBA channels by weight into a single scalar map | R, G, B, A, Autolevel, Clamp Product |
| TextureBaker | Bakes derived texture maps for export | Generate Normals, Information, LOD Info, Add Input command |
The SatMap library holds more than 1400 color maps derived from real satellite data. Bias pushes the color map left or right, Rough scatters pixels to create chaos, and Hue, Saturation and Lightness provide the final fine tuning. The Synth workflow is to connect a static color map plus a Height or Texture input, choose the Samples, then click Synthesize Colors to get an editable gradient.
Mixer exposes three inputs by default and can be extended to as many as 15 layers; drag to change the blend order, and each layer carries an ID color for checking the blend result in Simplified View. With Preserve Masks enabled, the built-in Height or Slope masks are exposed as output ports. ColorErosion needs only two inputs: the color map to erode and the terrain heightfield. In most cases the default settings are enough. The documentation suggests connecting TextureBase or Texturizer first and then applying ColorErosion to get decent layered depositional flow; you can also use Mixer to change the color layers before eroding. The key point to understand is that "color placed high up will travel along the existing depositional flow".
Recommended order: first lay down large color blocks with Height, Slope or SatMap, then add features with masks from erosion, soil, flow, rock and occlusion, then stack secondary variation with Mixer or CLUT-type nodes, and finally apply ColorErosion for a natural sense of transport. Remember to export separately any masks that downstream stages need, and treat them as data.
Building and Exporting
Two tabs in Build Options form the basis of a build: Resolution determines how many pixels are used to represent the terrain, and Terrain determines the physical size of the world; together they determine how many meters each pixel covers. The Resolution page contains Region, Resolution (such as 2K, 4K), Subdivision (None, Faster, Balanced, Slower), Output (Single Image or Tiled Images), Tile Size and Blending. The Terrain page contains Width and Height (in meters) and displays Real Scale (how many meters per pixel at the current resolution) and the Height-Scale Ratio; the default world is 5000 meters wide and 2500 meters high.
On format trade-offs, Heightfield defaults to EXR, with RAW, TIFF and others available; Color Maps and Masks use PNG16 or another supported format. Displacement maps should use 32-bit precision; 16-bit produces stair-stepping or quantization banding where terrain slope changes sharply, and the troubleshooting documentation recommends switching to 32-bit and avoiding lossy formats such as PNG.
To mark something for export, right-click the node and choose Mark for Export, or press F3. The file naming rule is <Name or NodeName>_<PortName>.<extension>, and the _Out suffix on the main port can be turned off in Build Options. The export menu lets you choose specific ports (Enabled, Out, Flow, Wear, Deposits), or use Primary Only to export only the primary output. The Export node's parameters are Format, Location (Build Folder, Custom, Explicit), Output Path, If File Exists (Overwrite, Increment), plus the Prepare for Bridge command.
Mesher converts a heightfield into a structured mesh and supports OBJ, FBX, DAE and glTF, with topology options of Tris, Quads and the Sophia algorithm's Adaptive Tris. Grid topology is an evenly spaced mesh with an exact polygon count, support for quads and automatic LOD, but flat areas occupy just as many polygons; Optimized subdivides according to terrain complexity, giving higher quality with fewer polygons, reducing the count by 20% to 40% depending on the terrain and by up to 80% over large flat areas, at the cost of triangles only and no automatic LOD. Scale has two settings: Normalized forces all three axes into 0..1, while Metric means 1 unit equals 1 meter; the advantage of a normalized mesh is that you can enter a scale factor on import, for example 5000 for a default terrain 5000 meters wide. All mesh exports include UVs by default using simple planar mapping; turning UVs off can shrink the file by up to 30%.
The Unreal node autolevels 32-bit height data and then converts it to Unreal's 16-bit landscape format, avoiding wasted precision on unused height headroom. The viewport may look different; this is normal. Its parameters are Automatic Size, Target Size, Dont Resize Textures, Format, Unreal Friendly Naming, plus Height/Mask/Color/Weight assignment for Map 1 through Map 10; the Unity node mainly has Target Size. The documentation adds that RAW support is currently incomplete, while PNG and R16 are fully supported.
Tiled Build treats the terrain as a grid processed in blocks, reducing peak CPU, GPU and memory pressure, and the output is already in the tiled form engines need. The risk is that some operations only "see" part of the terrain and produce discontinuities at block boundaries. Typical sources are screen-space generators and transforms, filters with a very large sampling range, and details that are implicitly normalized or autoleveled per region. The solution is to bake the unfriendly parts into a stable base first, or to use Hybrid Build with a sufficient bucket size and blending. Hybrid Build keeps the final tiles small while building with larger buckets: for example, with 512×512 tiles and 4096×4096 buckets, one bucket yields 8×8, or 64 tiles. Subdivision can be None (usable when the world is within 8K or 16K), Faster, Balanced or Slower. If seams appear at bucket boundaries, increase blending; 25% is often a good starting point. The Tiles page also has options such as Tile Suffix Pattern, Add Leading Zeroes, Organization, Flip Y Axis and Overlap Pixels.
Regions enlarge a part of the terrain to a higher resolution on its own: a one-sixth region of an 8192×8192 terrain can be built at 8192×8192, for a pixel density close to 6 times. The number of regions is unlimited, each can be previewed separately, and both the full terrain and the regions come from the same procedural graph, so changing one place updates both automatically; the initial generators need to be baked before use. Profiles, by contrast, save a whole set of Build Settings as a named preset, which is convenient for switching quickly between multiple output configurations such as preview, final and engine-specific for the same terrain.
In Build Path Tokens, angle brackets are tokens and square brackets are variables; for example, <Builds>[Filename][+++] builds into a subfolder named after the current file with an incrementing number. The available tokens are <FileLocation> and <Builds>, and the variables are [Mutation], [Region], [Timestamp], [Filename], [Username], [Domain], [Machine], [Time], [Date] and [Resolution].
Graph Management and Automation
The graph itself becomes a design problem. Basic habits are to name important nodes, separate the main stages visually, use Portals for long-distance connections, and place a Chokepoint before branches. A Portal lets an output be consumed elsewhere without drawing a long line, which suits masks or stable intermediate results shared by several branches. A Chokepoint is a neutral pass-through node: when many downstream branches depend on one result and that upstream may be replaced later, connect them all to the chokepoint, and changing the upstream requires reconnecting only once. The documentation warns against hiding structures that are still changing rapidly inside a Portal.
Accumulator exists to clean up repeated connections: when the masks of several Snow, Lake or Debris nodes need to be merged, one Accumulator collects them, supporting Snow Mask, Snow Depth, Water Mask, Water Depth, Shore Mask, Debris Mask and Debris Color Index. It collects only nodes that have already been built; connecting the final node to be used as a mask to the Accumulator input ensures that the relevant nodes are all built.
Data View is the maintenance entry point. The Terrain page provides layer-level filters: Marked for Export, Requires Baking, Nodes with Errors, Heavy Nodes, Orphan Nodes, Bypassed Nodes, Has Modifiers, By Type. The Stats page gives each node's ID, build state and time, output resolution, channel count and data type, estimated size, and minimum and maximum values. Baking locks a node at a specified resolution to avoid recomputation, with resolutions of 1024, 2048 (the default), 4096 and 8192; Cache Previews to Disk can store previews on disk, with the options When Closing File and When Idle, and baking can be released at any time.
Automation starts from a .terrain file that already builds correctly in the UI: run it once in the UI to confirm that the graph, exports, resolution and output directory are all correct; expose the values the pipeline needs to control as Variables; configure Build Options, using Profiles or Regions where necessary; capture the complete command for the current file with Copy Command Line; replace the variable values with pipeline values, or move them into .json and .txt variable files; and finally execute with Gaea.Swarm.exe, then consume the exported files or the post-action report.
Build Swarm is the standalone command-line program Gaea.Swarm.exe. It is faster because it carries no UI overhead, and the UI also uses it in the background when building high-resolution terrain. Common parameters:
-filename <filename>: the full path to the.terrainfile; wrapping it in quotes is recommended.-ignorecache: when set totrue, ignores the baking cache.-verbose,-safemode,-interactive: logging, diagnostics and interactive prompts.-seed <int>: the mutation seed used for the build.-profile <name>or-p <name>: specifies a Build Profile; quoting the name is recommended.-vor--v: the marker that starts variable key-value pairs, repeated once per variable, for example-v foo=bar -v value=0.35 -v erosion=1. It must always be the last parameter.--va <string>: comma-separated values ordered alphabetically by variable name; the count must match the number of variables declared in the.terrainfile.-vars <filename>: reads variables from a file, supporting INI-style text or JSON.
Batch Builds is under the Build menu; it queues multiple profiles for execution and can also be saved as a .bat file. After a build, Gaea saves post-action reports in both human-readable and machine-readable form, which can be consumed in an automated pipeline.
Performance, Memory, and Large Projects
Gaea builds rarely fail because "the software is not fast enough". Most failures come from a wrong memory estimate. A terrain is a stack of high-precision images in memory, and the footprint grows multiplicatively with more nodes, higher resolution, and more output ports. This chapter collects the documentation on memory estimation, caching and baking, compute devices, large project organization, and storage paths.
Estimating Memory Requirements
Every node produces single-channel (heightfield) or multi-channel (RGB) data at a given resolution, and the real footprint is further multiplied by the number of output ports on that node. The documentation gives this per-node cache baseline:
| Resolution | Single channel (Heightfield) | Multi-channel (RGB) |
|---|---|---|
| 1024 x 1024 | 4MB | 12MB |
| 2048 x 2048 | 16MB | 48MB |
| 4096 x 4096 | 64MB | 192MB |
| 8192 x 8192 | 256MB | 768MB |
| 16384 x 16384 | 1024MB | 3072MB |
Doubling the resolution quadruples the cache footprint, because the pixel count grows by the square. The port count multiplies in directly as well: at 4096 x 4096, single-port nodes such as Ridge, Adjust, and Shaper each take 64MB, while Erosion2 has 4 output ports and takes 256MB.
A typical 8K terrain with 20 nodes reaches a cache size of 5–8GB, plus the overhead of management and the process itself. The documentation concludes that 16GB of memory is only a theoretical floor and recommends 32GB to reduce the chance of "paging" (using the disk as memory when RAM runs out). The same 20 nodes at 16K need 20–30GB for the cache alone, and the peak can reach 96GB once overall processing and management are included, so a 16K build should have at least 64GB, and 128GB is better.
The status bar shows currently allocated memory in the lower right corner and refreshes every 5 seconds, but it counts only allocated cache, not temporary usage, so treat it as a reference only.
Exporting meshes adds vertex count to the calculation. Terrain meshes use an equidistant grid system with one vertex per pixel, so a 2048 x 2048 terrain produces roughly 4 million vertices. When exporting with the Mesher node, choose Optimized; the algorithm allocates polygons according to terrain complexity — more where the terrain is complex, fewer where it is flat — and can cut polygons by up to 60% in typical scenes. Another space-saving combination is to export a high-resolution displacement map with a low-resolution mesh.
Cache and Baking Strategy
Baking locks a node at a specified resolution and saves its current state, so it is not recomputed afterwards unless it is explicitly unbaked or modified. It is also the main lever for both preview speed and memory control. The relevant commands live under the Bake menu:
Bake Selected: bakes the selected nodes.Bake Required Nodes: bakes the nodes that must be baked in a tiled build, so adjusting the terrain does not require recomputing the whole region every time.Force Load Baked Cache: forces a reload of the baked cache, for cases where a change in the system or project environment kept the cache from loading automatically.Unbake Selected/Unbake All: clears the baked state from the selected nodes or all nodes, making them editable again.Resolution Settings: the bake resolution can be1024 x 1024,2048 x 2048(default),4096 x 4096, or8192 x 8192. A higher resolution gives a more accurate preview when working on detailed areas.
The biggest gain from baking comes from the Linchpin node mechanism. When loading a baked cache, Gaea loads only the "linchpin" — the baked node connected to unbaked nodes — and its ancestors are not loaded. In the documentation example, 4 of 5 baked nodes were unloaded and memory and cache usage dropped by about 66%. Unloaded baked nodes are shown with a dashed border and can be loaded manually from the properties editor; but to modify them, unbake first and then re-bake that part.
Cache Previews to Disk (formerly Session Cache) stores processed node previews on disk instead of keeping them in memory:
When Closing File: writes all previews and in-memory build results to disk when the file closes, and reads them back on the next open. This option is saved with the file.When Idle: bakes automatically when the system is idle and a node has not been modified for several minutes. This option applies to the current session only and resets when Gaea restarts.
The Cache tab in Options centralizes temporary data and autosave handling: Delete after 45 days automatically clears logs and autosaves older than 45 days; Always Cache to Disk on Close forces a write to disk on close for a cleaner next start, at the cost of a slower close; Use Smart Cache unloads 2K or 4K caches that have been idle longer than the Idle Threshold (600 seconds by default) from memory to disk and loads them back instantly when needed; Cache Output sets the cache location, and when Save in Central Cache Folder is off the cache is stored in a \Cache subdirectory next to the project file; Baked Cache keeps baked results across sessions.
The documentation's trade-off advice: on an SSD, Smart Cache greatly reduces memory usage with almost no performance impact; on a mechanical hard drive it is safer to leave it off, to avoid the delay when reloading the cache.
Compute Options and Hardware
The Compute tab in Options decides which devices do the work. Available Devices lists every available compute device and API with a performance score (higher is faster), and each device has sub-options for choosing which technology to enable for it, such as OpenCL, Level Zero, or CUDA.
Scan Hardware and Determine Speeds: scans all hardware and evaluates processing capability; when it finishes, every device and technology shows a score.Enforce Optimal Settings: automatically selects the best-performing combination of devices based on the benchmark results.
Usage advice: prefer CUDA on NVIDIA cards; use Native CPU mode when the GPU is unavailable or must be left for other tasks; turn off low-scoring devices so work is not scheduled onto slow hardware; rescan after updating drivers or changing hardware. If a device has driver problems, Gaea shows an error reading next to it, and depending on the problem the device may not load until the driver is updated.
CPU-only mode is started from the Start menu by launching Gaea Diagnostics, selecting "Run Gaea with CPU only", and clicking "Start". Once enabled, CPU mode stays on, including when running the Gaea Build CLI; to restore multiple devices, re-enable them in the Compute tab of Options. The documentation notes that CPU-only mode does not necessarily cost much performance, and that disabling the GPU and accelerators helps stability when you run into instability.
Hardware benchmarking runs in Gaea Diagnostics and tests the speed of the CPU, integrated graphics, discrete graphics, and other compatible devices. You can choose normal, High Accuracy, or Very High Accuracy; higher accuracy takes longer, and the score represents each device's performance coefficient. The documentation does not list thread-count controls item by item; what you can actually tune is the choice of devices and compute backends.
The documentation also suggests using Close and Build when building: both the Gaea UI and Gaea Build Swarm consume resources, so closing the UI before building frees resources for the Swarm and is the recommended approach in floating-license setups.
Organizing Large Projects
The first principle of a large project is to get the macro shapes clean first. Do not pile noise, breaks, and micro-ridges into the terrain at the start; build a macro shape with enough strength and very little detail, and leave believable detail to the Erosion and Surface nodes. Once the base terrain is "busy", later deformation, sculpting, and large-scale edits are masked by the existing noise, and the erosion flow no longer reads clearly.
For very large resolutions and tiled builds, the documented workflow is: build the base shape containing only large forms at a manageable resolution (such as 4K or 8K); bake those shape nodes; use TileGate to treat the baked result as a static input and scale it up efficiently during a large tiled build; then apply heavy detail, meaning Erosion, Surface, and the downstream detail and mask work. Baking micro-detail into the initial shape locks away the room for real erosion later and makes the tiled build slower and less predictable.
Audit before building with Data View. In the Terrain tab, filter for error nodes, heavy nodes, nodes that need baking, and orphan nodes: errors and nodes that need baking block the build outright, heavy nodes explain why iteration is slow, and orphan nodes are often old experiments mistaken for production logic. In the Build tab, check the nodes marked for export, output names, ports, and formats — a mask may look finished on the graph, but if it is not marked for export it will never leave the project.
The recommended audit order: errors first, then nodes that need baking (especially before a tiled or Hybrid build), then heavy nodes, then orphan nodes before handoff, and finally the Build tab, where you rename unclear outputs and run a small verification build.
Paths and Storage
Apart from project files, all Gaea application data lives in a central Data folder. In a standard installation (under Program Files) it is <UserFolder>\AppData\Roaming\QuadSpinner\Gaea\2.0; the default location for a portable installation is C:\Users\<username>\AppData\Local\Programs\Gaea 2.0, and when installed in a portable location the Data folder sits next to Gaea.exe, so an installation at D:\Programs\CG\Gaea\ puts Data at D:\Programs\CG\Gaea\Data\. On first run Gaea checks whether the installation directory is writable (whether administrator rights are needed): if it is writable, Data is created there, otherwise it is created under AppData.
The three default user file paths can all be changed in the Paths tab of Options:
| Purpose | Default location |
|---|---|
| Documents (presets, screenshots, etc.) | C:\Users\<you>\Documents\Gaea\ |
| Projects (project files) | C:\Users\<you>\Documents\Gaea\Projects\ |
| Builds (build output) | C:\Users\<you>\Documents\Gaea\Builds\ |
The Builds location is written as the <Builds> token in build targets. The documentation explicitly requires that you do not put projects or user folders inside the Gaea installation directory; for example, if Gaea is installed at D:\Gaea\, do not set the path to D:\Gaea\Docs. Keeping installation files and data separate avoids conflicts during updates or reinstallation. Project files are light, but build output can be very large, so put builds on a separate drive or location.
Diagnostic Packages
Gaea Diagnostics (codename Watson) can generate a diagnostic package for technical support and developers to investigate crashes or abnormal behavior. Diagnostics take a little time, and the resulting .zip is placed on the desktop.
Send Online: sends the Watson log directly to the official server and returns a Log Receipt code such as0A7-20241113. When contacting support, provide the code along with a description of the problem. Sharing a diagnostic package publicly carries risk, but sharing this code is safe, because only authorized official staff can access the log.Send Manually: send the.zipas an email attachment or submit it through the support form.
The diagnostic package contains Gaea's execution log (time-ordered events, technical readings, and error stacks), a copy of your settings, hardware information (CPU and GPU model, driver version, firmware version, and so on), and an installation integrity check. The log is an editable zip, so you can remove anything you do not want to share before submitting.
Build Swarm and Batch Builds
Build Swarm is represented by Gaea.Swarm.exe and is the Gaea build engine. It is a standalone command-line program with no interface overhead, so it runs faster; the Gaea UI calls it in the background to build high-resolution terrains for maximum performance. All build options for a file are set in Build Options, and some additional options are available through command-line automation. After a build finishes, a post-processing report is saved in both human-readable and machine-readable files.
Profiles saves the complete build setup as a named preset, which suits producing multiple versions or multiple output types from the same terrain. To create one: open Build Settings, choose the settings, go to the Profiles tab, and click Save Profile. Load imports the selected configuration into the current build settings, Save As.. creates a new configuration from the current settings, and Delete removes the selected configuration. Use ASCII-friendly characters in profile names, because they may be used on the command line or in batch files.
Batch builds run from the Build menu > Batch Builds dialog: queue the configurations you want to build and then run them, or save the batch as a .bat file to run or modify later. On the command line, specify a profile with -profile <name> or -p <name>; wrap <name> in "" to avoid parsing errors.
Use Mutations to produce variations in batch. The most basic approach is to update the seed of every node in the terrain (except baked nodes); the command-line argument --Seed <int> increases every node's seed by that value. To pin certain nodes so they are unaffected, bake them first. The fastest setup is to queue mutations with the Add Mutation button in Build menu > Batch Build Manager, and save the batch as a Windows batch file for repeated builds. In build targets you can use the [Mutation] token to put the current variation number into a folder name, for example <Builds>\[Filename]\[+++]\[Mutation].
Build reports are saved in the build directory: report.txt is a readable summary containing the file name, build location, build type, resolution, profile, node count, result, start and end times, elapsed time, and the fastest and slowest nodes (nodes taking under 100ms are not counted). The same data is also available as report.json in a structured format suited to automation pipelines.
Keyboard Shortcuts and Common Operations
The local documentation records very few keyboard shortcuts and has no complete list; most official pages only mention that a command "can be triggered by a key". Every entry in the table below can be traced to the documentation, and nothing the documentation does not record is guessed here.
Keys Explicitly Documented
| Key / Action | Effect | Source file |
|---|---|---|
F1 | Opens the Lazy Menu, which jumps to Graph, Viewport, Properties, Modifiers, Node Tree, Variables, Build controls, and other areas | md\ui\index.md |
F3 | Marks the selected node for export (Mark for Export), equivalent to choosing Mark for Export from the right-click menu | md\using\using-gaea\build-and-export\exporting-nodes.md |
F | Sets the selected node as Lock Preview | md\ui\graph\basic-workflow\lock-preview.md |
G | Sets the selected node as an Underlay | md\ui\graph\basic-workflow\underlays.md |
V | Temporarily toggles flat preview in the viewport | md\ui\graph\basic-workflow\underlays.md |
P | Opens the Portal menu (Manage Portals) to convert a port into a Portal | md\ui\graph\organization\portals-and-chokepoints.md |
Ctrl + P | Converts the selected output connection into a Portal connection | md\reference\nodes\utility\chokepoint.md |
Shift + drag and drop a Chokepoint onto a target node | Inserts a Chokepoint and lets Gaea reconnect all connections automatically | md\reference\nodes\utility\chokepoint.md |
Shift + converting a port in Manage Portals | Creates a Chokepoint first, then converts its output into a Portal | md\ui\graph\organization\portals-and-chokepoints.md |
X | Resets the viewport background color to the default in Options > Viewport | md\ui\interface\options\viewport.md |
Q / E | Pans the viewport up / down; the direction can be flipped in Navigation | md\ui\interface\options\navigation.md |
Hold Alt | Modifier key for mouse navigation actions, enabled per action in Navigation | md\ui\interface\options\navigation.md |
Node Short Codes
The documentation lists a short code for every node, for example p for Perlin, m for Mountain, b for Blur, t for Transform, w for Warp, c for Combine, h for Height, v for Voronoi, s for Shape, k for Constant, f for File, o for Object, and g for Gabor, plus multi-character codes such as df (Deflate), rsp (RGBSplit), hf (HydroFix), and rv (Rivers). In the Graph tab of Options, Allow Node Shortcuts Only When Cursor is Inside the Graph governs this set of "keyboard shortcuts for creating nodes"; see the node index for the complete mapping.
Most node shortcuts also work in Data View, either with the default settings or customized in Options > Graph.
Viewport Navigation
The documentation divides viewport navigation into three modes: Orbit, Free/WASD, and Orthographic. The viewport can be embedded in the main interface or used as a floating window; the toolbar also provides toggles for common elements such as the grid, bounds, and compass, plus camera save and load.
The Navigation tab in Options determines how the mouse behaves. Each of the three actions Rotate, Pan, and Zoom can be assigned to the left, middle, or right mouse button; Hold Alt is an optional modifier for each action, and once enabled the action triggers only when Alt is held with the corresponding mouse button, which prevents accidental navigation while doing something else. Each of the three actions has its own Sensitivity setting, 100% by default; lower values are slower and more precise, higher values are faster. Invert Y Axis reverses the vertical direction of rotation or panning; Flip Y Pan Direction for QE Keys changes the direction of Q (up) and E (down); Invert Zoom Direction reverses the wheel zoom direction, where the default is wheel up to zoom in. The documentation notes that this set of settings can match common workflows, such as the habits from Maya, Blender, and 3ds Max.
Lazy Menu
F1 opens the Lazy Menu. The Lazy Menu tab in Options decides how each entry is displayed: Hide removes it entirely, Muted shows it dimmed, and Bright highlights it (the default for most tools). The configurable entries include 2D Viewport, Lighting Options, Graph, Properties, Modifiers, Node Tree, Variables View, Build View, and Build Settings. The General tab in Options also has Move cursor to target when using the Lazy Menu, which moves the mouse to the target automatically when an entry is chosen.
Customizable Shortcut Behavior
The Graph tab in Options centralizes behavior related to shortcuts. When Allow Node Shortcuts Only When Cursor is Inside the Graph is enabled, node creation shortcuts work only while the cursor is over the graph canvas; when disabled, they work globally even when the cursor is not on the graph, and the documentation recommends enabling it to avoid creating nodes by accident while working elsewhere in the interface. Hide Bookmark Shortcuts hides the bookmark shortcut buttons on the canvas, Hide Graph Tabs hides the tab row at the top of the graph, and Grid Snap Size offers 10, 20, 25, 50, and 100, with 25 as the default.
Shortcuts from Other Software
The Shift+A → Mesh → Plane, N → Item → Dimensions, and Ctrl+A → Scale that appear in the Blender import workflow are Blender's own shortcuts, unrelated to Gaea; the documentation simply lists them while describing the import steps.
The documentation does not provide an exportable or printable shortcut sheet, nor does it list a separate key map for viewport operations. When you need to confirm a key, rely on the settings in the corresponding tab in Options.