Procedural foliage, specifically trees.

So this system is pretty great, however i am running into a very large issue.

when you have a large landscape (8x8 x 4 so 16km x 16km) and you generate your trees.

that’s all great. however when you go to modify the terrain it takes AGES just to even click once and this wasn’t a issue prior to having the trees generated.

if this could be optimized that would be amazing. otherwise i’m going to have to kill the trees, mold my landscape then regenerate them in the end, but this leaves me
with a large issue that small changes after the fact are just not feasible as 1 click on the sculpting tool takes ~30 seconds to 1 minute to compute, if you click and drag for 10ft
its 2-3 minutes of compute time…

landscape for reference.


Wow!! how many instances are actually in that scene?

Do you have LOD’s set up on the mesh?
Will the player ever need to see all of those trees at any one time? If not, take advantage of the distance culling feature.

The whole scene will be used. you are looking at pictures with draw distance set to “cinematic” so they draw to the edges, the draw distance adjusts how far they draw, from very close to whole map.
about half of the trees are from the kite demo and speedtree and all have ~3 LOD’s and the draw distance modifies how far each level of LOD shows.

with a 980 ti on this map and 1440p i can get 200 fps on lowest settings 100% resolution.
and ~40-50 fps on max settings and i find that acceptable for gameplay imo. so a modern mid tier card will get 60 fps on “high ish” settings 1080p

i have a second desktop for testing with a olddd low end card (amd 5450 )and a i5 2500(non k) and lowest settings 1080p it gets around 40 fps.

Thanks for the concern tho! if the graphic options setting tree draw distance wasn’t setup the game would be brutal on almost every computer haha.

Fair enough. I actually reread your original post and can see your problem is terrain editing and not low fps in game…

My bad…

Do you think the issue is purely down to the foliage actors transforms all being recaculated? Perhaps you could compromise and reduce the foliage density whilst developing the terrain.

Sorry I couldn’t be more helpful here.

well with the terrain that size recalculating takes a very long time no matter how dense i choose for it to be. so my options are to remove it completely while editing then regenerate but i want to be able to keep my trees where they are and mold my landscape around them.

i am working on a offroading game and i am going to be building trails through the trees on the landscape.

so both options of remove trees or have less density are not really the best options. as i am working on this game solo and the idea of regenerating trees after the fact then
going through ~100km of trails again for tree removal sounds brutal to me haha.

on the side i am also trying to find if there is a way via blueprint or spline actors to make the terrain auto generate based on place paths, but that’s a whole different issue.

i just thought of what might work in the current iteration but is a lot of work, and that is to create a whole bunch of small procedural tree generators that are maybe .5 km x .5 km each and put them all side by side, but then i would lose some of the procedural features of going across large landscapes :frowning:

maybe you have a idea for this one?


Where do you set draw distances to “cinematic”? I can’t seem to find that option.

Couldnt you use a dedicated material layer for the trails and have the trees not be placed on that layer?

Like here, midway in the article. Where the trees are not on the trails:…/TipsAndTricks

Just an idea…