How to optimize vegetation with Simplygon

Vegatation

Written by Jesper Tingvall, Product Expert, Simplygon

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 asset is very hard to render efficiently. Those are also some of the more tricky 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.

3 identical trees
Left: 56k tri, Middle: 43k tri, Right: 21k tri

LOD0: 56k triangles, LOD1: 43k tri, LOD2 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 tool.

Poorly optimized trees
Left: 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 specificly 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.

Tree and flat image plane of tree

Impostors from single view can be used to create cross billboard impostors if the game engine does not support custom shaders to rotate the billbiard towards the camera.

Remeshed vegetation proxies

We normally suggest to avoid using Simplygon's remesher on vegetation assets. this because remeshing tends to cause the asset to become bloated.

Poorly optimized trees
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 vegetion 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 platforms 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.

⇐ Back to all posts

Request 30-days free evaluation license

*
*
*
*
Industry
*

Request 30-days free evaluation license

*
*
*
*
Industry
*