How to Optimize Vegetation with Simplygon
We take a closer look at five different tools for automated vegetation asset optimization.
If we compare old 3D video games to new ones a striking difference is that older video game contains quite few vegetation assets. In modern games, vegetation is everywhere, even in very urban environments. The reason for this is that vegetation assets are very hard to render efficiently. Those are also some of the trickier assets to optimize.
In this blog, we will look at five different tools for automated vegetation asset optimization. We will go in order from those suitable for closer distances to those to be used when the vegetation is further away.
Triangle reduction
For LOD levels that are close to camera Simplygon's Triangle Reducer works fine. Depending on how dense the vegetation is we can often reduce it down by some order of magnitude.
Left: 56k tri, Middle: 43k tri, Right: 21k tri
If we go to far with reduction, we will see that the vegetation asset will start to break apart and loose density. Then it is time to switch tools.
56k tri, Middle: 1k tri, Right: 512 tri
Vegetation billboards clouds
For vegetation that is further away from the camera, Simplygon's Billboard cloud for Vegetation is suitable. This tool is specifically designed to optimize vegetation assets and preserve the parallax effects of branches intersecting each other.
It can also separate out the trunk from leaf and small branches. The trunk is often better handled with traditional triangle optimization. We can see in the images above that the trunk was preserved quite well even at low triangle count, while the leaf and tiny branches became a mess.
There are a few rendering tricks that often can improve the appearance of vegetation billboards:
- Fade orthogonal planes
- Noise normals
We do through these in detail in the blog Rendering vegetation imposters
Vegetation flipbooks
If the bottleneck is triangles, then flipbook is the nuclear option. It will create a simple quad and bake the vegetation from different angles into a texture. While this require a bit more shading work and texture space, it is a useful tool to have up your sleeve.
Vegetation impostors from single view
If we only expect to look at the vegetation asset from one direction, or it is very symmetrical from all directions then we can use impostor from single view instead of flipbook. It is pretty much a flipbook with only one viewing angle. Impostor from single view optimizes the asset to a single quad and bakes textures and normal maps.
Impostors from single view can be used to create cross billboard impostors if the game engine does not support custom shaders to rotate the billboard towards the camera.
Remeshed vegetation proxies
We normally suggest avoiding using Simplygon's remesher on vegetation assets. this because remeshing tends to cause the asset to become bloated.
Left: 56k tri, Middle: 774 tri, Right: 572 tri
There are however some exceptions to this rule:
- If the game has a cartoony art style and vegetation assets are blocky and very dense.
- Extremely dense assets like bushes and hedges.
- For very distant vegetation as part of HLOD.
In these cases, remeshing can help to optimize the assets for distant viewing.
Which tool to pick?
We have now covered five tools. Each tool has its strengths and weaknesses, and the best choice depends on the specific use case. In most cases you want to use a combination of them.
The most common case is that you use reduction for LODs close to camera, and switch to a billboard impostor for distant vegetation.
If you are porting the game to a weaker platform, it you might want to perform LOD0 optimization and directly go for a billboard representation of your asset. This can be combined with flipbook or impostor from single view techniques if you need an ever-cheaper impostor for distant viewing.
Lastly if your game has an art style which allows you to use remeshing you can use reduction for close LOD levels and remeshed proxies for the last level.