Runtime Procedural Foliage Generation

This document describes the runtime procedural generation tool, and how to use it.

 

Installation


Ensure the custom ProceduralTools plugin is installed.

Obtain any number of optimized ( including LOD and vertex/uv animation for wind distortion ) boulder, rock, tree and any bush/plant ground cover per biome.

 

 

Usage


Blueprint

Create an instance of ARuntimeProceduralManager Blueprint Actor that will be placed in the level. Note this Actor does not contain any visual elements, and is code only.

Generators ( Biomes ) are driven by height currently ( may be driven by perlin noise maps later on )

 

 


RuntimeProceduralManager

  • Debug/Trace/Debug Generators

    • Enable debugging various internal operations

  • Do Not Spawn Generators

    • Used with debugging options above, to debug terrain sweeps

  • Generator Classes

    • Each element in here represents a biome, that is driven by an accompanying Layer Height by index.

  • World Tile Size

    • The tile size used to tile foliage, the world will be broken up into infinite tiles of this size.

    • Foliage will only be generated in the tile the player is currently in, and each side’s accompanying tile.

  • Layer Height

    • Each Generator will be activated according to it’s corresponding height ( by index ), this can be used to create biomes, driven by height.

Generators

Each Generator needs to be an instance of the ARuntimeProceduralGenerator

These properties work the same as the editor procedural tool, except these properties are evaluated at runtime, and there will be no visual representation of them during edit time. ( in the editor )

 

 

Each generator is comprised of layers, and each layer is scattered on top of the previous layer per spawn cycle.

Notable properties listed below.

RuntimeProceduralGenerator

  • No Spawn

    • Dont spawn anything, used in combination with the debug options.

  • Layered Procedural Properties

    • Each layer in this array consists of meshes, and spawn properties to control how densely to spawn them.

  • World Extent

    • This property controls how large area the layer will spawn, this can be used to overlap the world tile size, and may be bigger or smaller than the world tile size. Useful for layering trees or boulders in the distance for example.

  • Min Spawn Amount

    • The minimum amount of meshes to spawn in this layer per tile

  • Min/Max Density Scale

    • Used to supplement the density scale to create variance per tile and layer.

 

Demo


This demonstration was done in real time.