Biome

BP_PCG_Biome

Spawn and Manage PCG Biome


BP_PCG_Biome spawns regular biomes like forests, meadows, deserts, fields etc. and  handles biome intersections. It is designed to be flexible and efficient, providing multiple biome parameters to adjust. Each biome can have various preset. Biomes and presets are stored in Data Tables. More info at Biome Presets.

Our assets are not designed to be used with world partitioned levels. They still may work, but be ready to get unexpected bugs.

Create new regular level with landscape actor and add "/EasyBiomes/Blueprints/BP_FoliageManager". You don’t necessarily need to use our material with your landscape, our assets are independent from landscape material.

How to use

1

Place "/EasyBiomes/PCG/BP_PCG_Biome" where you want your biome to be. This actor includes spline, which is used as a biome boundaries. To adjust spline, move each point individually. Note that you cant scale or rotate spline. You can remove points by selecting it and pressing delete. You can add points by selecting point, holding shift and dragging it.

2

Once you happy with your biome shape, select BP_PCG_Biome and press Spawn Chunks. This will prepare all necessary data for PCG. Next press Start Growing, this will start PCG calculations and spawn your Biome.

3

Now your Biome should be spawned. Some options are disabled by default to speed up testing and experimenting process. Feel free to enable them at any point. Most noticeably, there is no grass and plants, you can enable them in Spawn Options section of BP_PCG_Biome. There are more details about each option on this page below.

You need to respawn biome if you change any option. To do that, first press Clear Chunks. This will remove everything spawned by  BP_PCG_Biome. Now repeat step 3. I’ve enabled everything in this example and respawned biome. As you can see, grass, cover, plants and even campfire spawned there.

4

If you have some manually placed geometry on a level, areas under it would be automatically excluded from biome, so that foliage wont spawn on top or inside of it. Like in my example I’ve placed this wooden huts, and all plants are only spawned around them.

5

You can have as many biomes as you want on the same level. By default if one biome overlaps another, they both would cover the same area. You can enable collision for overlapping biomes and set biome priorities. Biomes with higher priorities would override area of biomes with lower priorities, like it is shown in my example below. Biome with priority = 2 replaces two other biomes. Biome with priority = 1 only replaces biome with priority = 0, and is replaced by biome with priority = 2. Biome with priority = 0 is replaced by all other biomes.

6

Water Biome has highest priority and always replaces any other biome, no matter if intersection is toggled on or of for it. Like in this case river cuts through the forest.

7

8

If you want to remove any specific foliage from any specific area, there is a tool for that. You can find details on this page: Remove Foliage.

Actor Options

BP_PCG_Biome

  • Biome Preset - allows to assign biome to BP_PCG_Biome and select its variation.

  • Data Table - it stores all biome data (PCG logic, meshes, attributes, etc.)

  • Row Name - biome preset. Biomes can have variations, like forest, meadow, field.

  • Quality Preset - changes biome generation quality. It affects foliage density, draw distances, WPO, shadows and GI. High preset targets 60-70 fps on rtx 4090 4K resolution at 50% Epic settings. Cinematic preset has same foliage density as High, but it disables mesh culling and all meshes drop real shadows and affect GI. Use it for Cinematics :-) Lowest preset has WPO disabled. Path Tracing preset made specifically to be used with Path Tracer.

  • Chunk Size - PCG logic is very resource intensive. It can fill up RAM very quickly. We have made chunks system to prevent it. Biome is spawned in a small chunks one after another. This value sets desired chunk size, but don’t make it exact. It tries to fill your generation area with optimal number of chunks, close to your desired chunk size.

  • Biome Seed - seed is the core of biome generation, it affects generation outcome. Each seed will produce different meshes and areas placement.

Biome Preset

Collision

  • Intersect - allows to replace one biome with another if two or more biomes cover the same area. If this option is disabled, all biomes would cover the same area like there are no other biomes.

  • Biome Priority - biomes with higher priority will replace areas of biomes with lower priority if they overlap and if Intersect option is enabled.

  • Terrain - spawns terrain elements (like cliffs and rocks) if biome has any.

  • Cover - spawns biome cover (grass, fallen leaves, dirt patches, branches, etc.)

  • Roads - spawns roads, if BP_PCG_Road spline overlaps biome. Not all biomes have roads (like water biomes). Disabling this will leave area under road spline empty.

  • Sound - spawns sound actors if biome has any.

  • Particles - spawns particle actors (insects, falling leaves etc.) if biome has any.

  • Structures - spawns manmade structures (like campfires) if biome has any.

Spawn Options

Controls

  • Clear PCG Link - removes all PCG logic from biome and creates Instanced Static Mesh Components out of biomes meshes.

  • Clear Chunks - removes all chunks, actors and meshes spawned by biome.

  • Spawn Chunks - spawns chunks and prepares all PCG data.

  • Start Growing - spawns biome in generated chunks.

  • Pause Regeneration - prevents biome from updating when you make changes to the scene (like sculpt terrain, edit splines etc.)

  • Resume Regeneration - resumes biome updating.

Regeneration