Terrain Graph¶
The Terrain Graph is the core of Metaplanets Creator: a visual, graph-based workflow for defining terrain, biomes, and planetary features — similar to Unreal's Blueprints, but for planets.
How it works¶
- Nodes are generation stages — noise fields, height shaping, biome masks, surface detail, and more.
- Connections flow the planet's parameters from one stage to the next.
- Real time — tweak values and watch the planet update live in the editor.
Building a terrain graph¶
A minimal rocky-planet graph, step by step.
1. Create the generator asset¶
Create a Terrain Height Generator asset from the Content Browser (Metaplanets → Terrain Height Generator). It lives alongside your level.
2. Add a noise source¶
Open the asset. The editor shows the graph canvas, a live Preview, and a compile log. Add an FBM noise node and an Output node.
3. Wire it up and compile¶
Connect the noise's Out to the Output node's Value, then Compile. The heightmap preview updates with live min / mean / max stats.
4. Place the planet actor¶
Place a Metaplanet Actor in your level, then point its Generation settings at your generator asset and pick a Terrain Mode and Planet Kind.
Create and assign a material to your planet to add visual detail:
5. Tune the surface¶
Raise the noise Amplitude for stronger relief, and wire bump and normal maps into the planet's surface material for detail.
6. Add a biome mask¶
Normalize the height into a 0–1 biome mask (Add → Divide → Saturate) and drive a Biome Output channel — this is what the foliage system scatters against.
7. Baked noise¶
Metaplanets can bake noise into textures. Here the same noise shown raw (quad) versus wrapped and lit on the planet:
What you can build¶
From stylized low-poly worlds to cinematic-quality planets, the same graph workflow scales to your vision. Each release expands the library of terrain generation techniques.
Tips¶
- Build in layers: base height first, then detail, then biomes.
- Watch the min / mean / max in the preview while tuning amplitude.
- Keep biome masks 0–1 and saturated so downstream scattering stays stable.