PolyTerrain authoring
Authoring is non-destructive: Prefabs store Base + modifier parameters; Preview rebuilds on load. Prefer the six-tab mode for day-to-day work; Outliner and Landscape Canvas are alternatives for stack surgery and graph-style graphs.
Six-tab Poly Terrain Mode
Requires /O3DE/PolyTerrain/Enabled and EditorModeEnabled. Entry: Tools → Poly Terrain Mode (checkable).
| Tab | Purpose |
|---|---|
| Create | New Poly Partition entity; MPD wizard (path, section size, vertices, layer / channel lists) |
| Edit | Select active partition; Rebuild Preview; Build Compiled Sections; Convert Selected Mesh; Refine / Coarsen; Focus Load WS Cells |
| Modifiers | Open Outliner; one-click add Sculpt / WeightPaint / Boolean / Spline / Noise / Texture on the partition |
| Sculpt | Enter Sculpt brush ComponentMode (Push / Flatten / Smooth / Pinch / Inflate / Erosion cluster) |
| Paint | Enter Weight Paint brush ComponentMode; channel inspector (Registry PaintChannelInspectorEnabled, default on) |
| Shapes | Place Box / Sphere / Cylinder as Boolean operands (creates Boolean if missing) |
Active partition resolution: selected partition > modifier’s target > last selection still registered > sole partition in the level.
Tablet pressure scales stamp strength when /O3DE/PolyTerrain/TabletPressureEnabled is on (default on). Mouse strokes use strength 1.0× brush settings.
Poly Partition Outliner
Tools → Poly Partition Outliner (also opened from Modifiers Tab).
| Feature | Use |
|---|---|
| Tree | Partition → Priority Layers → Modifiers; Sections with last eval ms / ContentHash tooltip |
| Enabled checkbox | Toggle m_enabled without deleting |
| Drag reorder | Reassign layer / sub-priority (one undo batch) |
| Palette | Drag modifier types onto partition / layer / modifier rows |
| Build To | Truncate Preview stack to a layer |
| Build | Build Compiled Sections |
| Section context menu | Refine / Coarsen; Boolean → Create Shape Operand |
| Partition context menu | Open PCG Graph Editor; Focus Load WS Cells |
Base mesh sources
| Source | How |
|---|---|
| Auto plane | Create Tab / partition defaults |
| MPD wizard | Create Tab second button |
| Convert Selected Mesh | Edit Tab: selected mesh LOD0 becomes the sole explicit Base Section |
| Heightfield sample | Heightfield Bridge → Sample Into Base |
| Texture heightmap | Texture Modifier (displacement) |
| Boolean solids | Shapes Tab operands + Boolean Add |
Refine and Coarsen
Non-uniform density on an explicit Base Section:
- Refine: conforming midpoint subdivision (refused if Preview
MaxSectionComplexitywould be exceeded). - Coarsen: weld-decimate with border vertices locked so neighboring sections do not crack.
After Refine, modifier displacement can open curvature-scale seams at borders; the Skirt Transformer covers them. Prefer Refine only where detail is needed.
Landscape Canvas
When Landscape Canvas is available, a Poly Terrain palette category exposes a Poly Partition wrapper node and twelve modifier extender nodes (same TypeIds as editor components). Wire Boolean operands, Spline entity, Noise gradient, Mesh Projection / Patch source meshes via Bounds-style entity slots. Texture image assets are still assigned in the Inspector (Path slot resolves Gradient Baker / streaming image where wired).
Recommended recipes
Open hills (heightmap start)
- MPD with channels Grass / Rock / Dirt; layers Base → Sculpt → WeightPaint.
- Texture Modifier (Base): project heightmap as displacement.
- Noise Modifier (Base, higher sub-priority): large-scale amplitude.
- Sculpt refinements; Paint Grass low / Rock high (
normalize splatoptional). - Build Compiled Sections → PIE.
Cliff and overhang
- Sculpt Push (Normal) for the face; second Sculpt with CameraFacing for overhangs.
- Remesh the cliff region; Paint Rock / moss channels.
- Use Build To at Sculpt while iterating.
Cave (Boolean Subtract)
- Sculpt or Texture the hill.
- Shapes Tab: Sphere inside the volume → Boolean Subtract.
- Optional Boolean Trim for soft entrances.
- WeightPaint after Boolean (weights reset on topology replace).
- Confirm Collision stage in the MPD pipeline.
Spline road
- Spline entity as centerline.
- Spline Modifier: Flat profile, width / depth / falloff.
- Optional Remesh on the road band; Paint Gravel channel.
Heightfield + mesh enclave
- Heightfield Bridge: sample or blend at the boundary (
Heightfield Blendmodifier). - Sync collision exclusion so heightfield and mesh do not double-collide.
- Gameplay queries:
GetUnifiedSurfacePointD. See Integrations.