Here are the things we plan to work on in the coming months. In no specific order.
Writing to landscape weightmaps from spawned instances
You will be able to write to landscape weightmaps from sub-biomes and spawned instances. This will enable new, revolutionary workflows. You will be able to define your biomes, landscape weightmaps, foliage all in one tool.
When you create spawning logic for a species/sub-biome, you get access to "small-scale" context. Small-scale means that you can get information such as altitude, slope, mask, landscape weightmap at the exact position where an object is to be spawned.
It is much harder to obtain large-scale information, such as:
- are there mountains nearby?
- is the ground generally flat around here?
- am I close to the cliff?
- am I in the lowest point in within a certain radius?
- is another sub-biome/weightmap nearby?
Such information may be passed using textures, but it isn't very convenient. What we plan to do is to add support for global masks/materials, which can process information from the whole map, before the actual generation starts. Such global materials would process textures which could deliver large-scale context to the species.
Automatic generation of metadata ("splatmaps")
Automatically generating masks for precipation, sun exposure, erosion, wind etc. There would be no need to import such info from other programs. Metadata would always be up to date with the world.
Inter sub-biome dependencies
Sub-biomes will be able to base their growth on the placement of other sub-biomes.
An easy way to know which species/sub-biome spawned a given object
When multiple artists wokr on the same map, they don't know all the biomes by heart. They need a tool to quickly investigate what spawned a given object.
An easy way to inspect exact values of spawning probability on the map
Debug view let's you see values between 0 and 1 as color, but doesn't tell you exactly what value a given pixel is. All the values below 0 are black, and all the values above 1 are fully bright. We would like to add some display of exact values to make creating/debugging species easier.
Spawning on non-landscape meshes
HLOD setup tools
Right now you need to manualy set up HLODs (Hierarchical Level of Detail) for spawned meshes. We plan to add settings for that in the species asset.
Precise positions for where other species instances have spawned accesible in mask materials
Currently a species/biome may access the area where another species grows, not the exact locations of the spawned instances.
Easy way to generate signed distance fields from masks
A signed distance field will answer the question - "How far am I from the forest sub-biome?", or "How far am I from the rock species?". Such information can be used to spawn different objects as we move away from a certain area or fade beteween two distinct areas.
Currently you need to rely on the growth mask value smoothly decreasing on the edges of a region. The smaller the value the further you are from that region.
User defined spawn points and more presets
Right now we only have one kind of noise for instance positions. This noise affects where exactly the instances spawn, based on the growth mask.
In the future you will be able to use different patterns. Such as using a regular grid to create farm fields or vine farms.
Editor commandlets for regenerating map on builder machines
Generating tiles currently visible in the viewport
Converting instances to actors in-game
Instances in the proximity of the player could switch to actors. The conversion would allow for custom logic defined in a blueprint/code. This would allow interacting with spawned instances. Ex: chopping down trees, enabling destructible physics etc. Actors would also convert back to instances.