Tree LOD System for Unity Terrain

Unity has a great Tree Creator included in the Editor, and these trees can be painted onto a Terrain with ease, and allow the tree to interact with Wind Zones and have randomised heights and sizes.

There is a problem that trees can only have two levels of detail (LOD), that being the full resolution tree and a billboard of the tree (which is automatically created when being painted onto the terrain).

So if you want more LOD groups for your trees, you need to create a separate game object with various LOD of the tree as child objects and save it as a prefab. If you decide to paint in the prefab as a tree on the terrain, the trees no longer become affect by wind, and the only other option left is to manually paint on the trees as individual game objects.

This asset allows for the user (you) to just put a simple script onto the terrain and you're good to go! The script will let you paint on your tree LOD prefab as a regular tree through the terrain tree painter, with all the different sizes and heights you like, and at runtime it'll create the trees at the correct positions on the terrain, under the same sizes and rotations that you painted on and they will also interact with the wind! Now you can have all the LOD you like for your tree with no need for any expensive tree-creating software for this simple issue to work properly. The script will bunch each tree prototype you add to the tree painter under one parent object per tree, and it'll add it to the correct scene (assuming you're working with multiple additive scenes).

Marvel at the low amount of setpass calls and high frame rate as you see your numerous trees.

Video Demo

Forum (more details and perfomance comparisons

Windows x86 Demo ZIP