Billboard System

Billboard System

Vegetation Studio includes a billboard system that can create a billboard on any tree model added to the VegetationSystem Component. These are used for long range when displaying trees in the terrain. Billboard creation is automatic when adding a tree prefab in editor mode.

In order to use the billboard system add a BillboardSystem Component to the same GameObject as the VegetationSystem Component. This is done by default when adding Vegetation Studio to a scene.

If billboards are not needed you can disable or remove this component.

Billboards are highly optimized and can render up to 10 000 billboards per drawcall.

Billboards in distance.

Billboards on a ship simulator scene. 7km visible tree range.

Billboard types
Surface Shader
Normals
VR Support
Settings Tab
Editor Tab
Debug Tab
Adding billboards to Vegetation Item trees
Changing lighting model Linear/Gamma

Billboard types

2D

There are 2 types of billboards used in Vegetation Studio. The basic billboard will render 8 images of the tree in different angles. Based on the cameras view of the tree the correct image will be selected from the Atlas.

3D

The 2nd version will render images of the tree from various angles including from above.

3D billboards are still in an experimental stage and are not advised for production. The end functionality is still not decided. An even higher sample resolution might be required for a better result. Images from below is also in test to show better billboards when looking up at billboards on high mountains etc.

 

Surface Shader

The billboard shader is created as a Unity Surface Shader and should work in most light conditions.

 

Normals

In addition to a normal image a normal map atlas is created to light the billboard better.

VR Support

Vegetation Studio billboards support single pass VR and does not have the strange rotation and bend behavior of some other billboards.

Settings Tab

Cutoff

The cutoff parameter will adjust cutoff level for the alpha channel of the generated billboards. On scenes with a huge tree visibility it could be useful to increase this value a bit to remove darker outlines in the distance.

Showing adjusted cutoff value on a scene with billboards

Billboard cell size

Billboards are grouped in cells for batched rendering and culling on larger terrains. On huge terrains with a lower tree density it could be useful to experiment with a larger cell size.

Preload around camera

with preload around camera the BillboardSystem will spawn all billboard cells within billboard visible range in all directions. This will eliminate loading time the first time you turn the camera.

Additional cache distance

Additional distance will pre cache billboards at a longer distance in when initializing the billboards.

Clear invisible cells at floating origin change

When system is used with a floating origin system and terrain is moved during gameplay it has to recalculate billboard positions. On larger terrains it will speed up the process to only translate the currently visible billboard cells and clear the cache of all other. The other cells will spawn normally when visible later.

Editor Tab

Render billboards will turn on and off billboard rendering in the scene. They are still created and loaded as you move the camera. Only rendering loop is disabled.

 

Disable and enable rendering of billboards

For use on large terrains billboards are culled in cells as well as camera distance. This is done to optimize loading on larger scenes. We have used system with scenes with multiple terrains with a total terrain size of 80×80 km.

Displaying billboard cells.

The disable in editor mode allows you to disable billboard loading and rendering while in editor mode. When entering playmode everything will work as normal.

 

Baked Billboards Tab

There is an option to bake out all billboards to unity meshes. Depending on the billboard cell size and tree density up to 10 000 billboards will be saved in each mesh. This will reduce loading time but the billboards will no longer be dynamic if you change rules, mask out areas etc. Enable save to project to save the meshes and materials to the project. This allows you to save this to asset bundles with the terrain.

Debug Tab

The total count of billboards is the number of currently loaded billboards. Load state is dependent on the billboard visibility range set in the VegetationSystem component.

Adding billboards to Vegetation Item trees

You can add billboards to any tree in Vegetation Studio by enabling the “Enable billboards” setting on trees in the VegetationSystem component. This is done by default for new trees.

There are currently 6 different quality settings. 3 for 2D and 3 for 3D billboards.

Normal, High and Max. The settings control the size of the Atlas texture and sizes are 1024, 2048 and 4096.

Changing lighting model Linear/Gamma

When changing lighting model in Unity you need to manually regenerate the billboards of all trees in the package.
Go to the Vegetation Tab in the VegetationStudio Component, select the trees and press “Regenerate billboards”

Select the trees in the VegetationSystem Component

Shadows

Billboard shadows is exposed as a setting on BillboardSystem Components

Shadows disabled

Shadows enabled