Extension for Mixture enabling Procedural Terrain Generation.
Status: 🚧 Proof Of Concept 🚧
With inclusion of Terrain Topology Nodes, Mixture becomes a powerful tool for Procedural Terrain Generation.
Unlike other Editor-Centered solutions, Mixture batches entire graph as single Compute Buffer and executes on GPU in background.
Mixture allows using both Fragment and Compute Shaders for Node implementations.
This package aims to provide a Procedural Terrain Generation framework utilizing Mixture as Node-Based Procedural Engine.
Texture Outputs, such as Terrain Heightmap, Splat Maps, Detail Density Maps are simple to generate using Mixture's powerful arsenal.
Additionally, Compute Buffer support allows for placing Tree Instances.
- Output various Terrain data from Static Mixture Graphs:
- Terrain Height
- Splat Maps
- Detail Output via Details Output Node
- Tree Instances via Trees Output Node
- Background Terrain sync with configurable amount of Runtime Skipped Frames.
- NavMeshes.
- Unity.AI.Navigation
- AnyPath
- In-Editor setup with realtime previews (using Editor Coroutines).
- Runtime Tile-based "endless" setup.
- Biome Blending.
- Stamps.
- Scene Capture feature, projecting Terrain Objects and other Geometry into Texture Masks.
- Usability Improvements.
- Node Consistency Validations w/ Messages.
- Better Node UI's.
- Create new Terrain Mixture Asset from Menu:
Assets/Create/🧪Terrain Mixture🏔/⛰️Terrain Mixture Graph
- Use custom Terrain Mixture nodes to define Terrain Outputs:
- For now, there's only In-Editor workflow:
- Create Terrain GameObject
- Attach
TerrainMixtureSingleTerrain
MonoBehaviour - Assign Graph property to your graph created in step 1.
- Assign Terrain property to your Terrain.
- Terrain Mixture will react to runtime changes in Graph and update Terrain accordingly.
Comes with pre-defined parameters which are mandatory and I forbid to delete those:
- Seed (42)
- Terrain Dimensions (1000)
- Terrain Height (300)
- World Scale (3000)
- World Offset (0,0,0)