Foliage Performance + Speed Tree

I’ve been looking around and I see where everyone are able to put together massive forests with lots of grass, bushes, trees, flowers, etc. I’ve messed around with my foliage settings, but for some reason I’m not able to get that same performance. My FPS is down in the 10’s and I would like to keep it as close to 30 as possible (need to optimize my blueprints also).

What settings are you all commonly using to achieve massive thick foliage? Are you streaming smaller terrains to help achieve this effect? Any and all help would be greatful! Also Any advise with using Speedtree in UE4 would be helpful also. I am mostly making custom trees.

-use low poly meshes → e.g I use trees with around 2000 tris for LOD0
-use strong LOD’s → the 3rd one from a tree should be a billboard
-use stuff to block the players view → hills
-cull the small plants → grass, flowers,… :slight_smile:

-use stuff to block the players view -> hills
what do you mean by this?

Also you might want to wait for 4.7, since it comes with a massive Foliage improvement.

When the player cant see everything, you can cull all the meshes behind those hills/mountains/… → a really wide view will kill the performance :wink:

Thanks for all the input! My Speedtree Models are coming out to about 30,000 tris average. The Billboards are prettly low poly, but I’m not sure if my trees are using them at all. Right now I added a light fog to cover the distance and I’m trying to learn about streaming volumes since my terrain is 8k, I want to use the volumes to sort of split it up and stream portions of it within the fog. I messed around with the settings on my grass and I’m clumping them together and then I will Cull them. Any personal suggestions on Culling settings? Like what works for you?

Speedtree seems to have some very high polycounts then.

Another option is to use trees designed by an artist so they are very low in polycounts. You could alto try out ForesterPro(google that and see some awesome stuff) I am using that software as well.

The trees made with ForesterPro are at most 6000 Faces and 3-4000 verts at high resolution. You can get them down to 10 procent of that. I still remember me making my first forest ever with high resolution trees and seeing my machine running out of memory and the game engine crash :smiley: Ah that was some fun times testing out the max limits of the stuff :stuck_out_tongue:

If you then use some more awesome texture on those trees from like game texture then you have some really good looking low poly trees that wont eat up all your machines memory.

Also use some fog, make the view distance smaller etc.

Also I never make that big worlds/levels unless they are split up in zones and levels(use to do so and testing them out in other game engines). By doing that I can better control the memory use, easily finish a level one at the time(lots of triggers, events and level design in each area have to be done). Anyway some zoning or streaming has to be done or else no normal machine can run that.

Are you making a MMO or is it a landscape for show?

Wish you a happy new year!

  • 30k for a tree is insane, even with LODs. There are number of things you can do, I’d start with raw reduction of all your meshes.

  • F1 running the game will show wireframes and you can see if your billboards are functioning. Make sure the last LOD isn’t culling before it billboards, otherwise you will gain nothing by having them.

  • Clustering, this is changing in 4.7. Right now the cluster settings define how many foliage actors in a group share an LOD at a given time. You’ll want to play with this so you get lots of trees billboarding in the distance.

do you have any examples of what ForesterProlook like in UE4, tried downloading the demo but it keep coming up with errors when I tried to export it to see what it looks like.

Remember to run the installer as an administrator, after the installation you should also run the program as an administrator.

The picture below is an Oak from the lite version. I have customized it a little in ForesterPro(I cut the roots as they looked bad and interfered with the mobility of the character). I have also added some other texture to give a more not so realistic look(texture are from one of my favorite 3D artist I use).

You can pretty much design your own trees. Under export you have to chose the UDK/Unreal 4 option under the drop down menu.

thanks I will give it ago again.

You’re doing something wrong if your speedtrees come out as 30k tris on average (unless you want them to).
I used to use Forester Pro and bought a license a while back because I felt like the old version of SpeedTree wasn’t very good at very lowpoly models.
With the new release however, there is nothing Forester can do that SpeedTree can’t do better. You can make trees that look way better with the same poly count since it’s way easier to control geometry in Speedtree.

The problem with SpeedTree is it generates a lot of meshes for leafs. Most of the polycount is spent there while if you make trees manually you can put a lot of leafs and branch variation into quite a few planes.

There is nothing in SpeedTree that prevents you from generating fewer leaf meshes. You can also import your own meshes to use and you can move, scale, rotate and delete them by hand. You have just as much control as you do when doing it by hand in your 3D application of choice.

Of course you can generate fewer leaf meshes, and that results in fewer leafs and an empty tree. Since it’s 1 mesh per 1 leaf/branch that’s where the problem is. It’s always better to lay the leaves and branches on meshes by hand.

I don’t see how 1 mesh would be more than one branch in any other software, care to explain?

You are welcome :slight_smile:

How complex are your trees? That’s a pretty darn high count.

Honestly, you confused me there, I’m afraid. I can achieve the same results in SpeedTree as I can by modelling everything from scratch in Maya.

The sheer amount of options in SpeedTree is mind blowing and you can fine-tune everything.

Are you aware of the concept of a leaf map maker? We have a documentation page here, and we have a video about it here.

Basically, it’s a process that lets you create leaf mesh textures inside the SpeedTree Modeler, with all the procedural randomization stuff that makes SpeedTree quick and easy. We make most of our leaf textures this way without having to leave the SpeedTree Modeler.

Once you have a texture that works well, you can edit your tree to optimize it for real time. Our mobile trees are often in the 1k poly range.

Now that is actually pretty cool. Might gonna check that out :slight_smile: