Jump to content

Question about optimizing Grass Object Imposters


photo

Recommended Posts

Hi all, 

I am in the process of optimizing my personal project which includes large numbers of imposters of vegetation assets (grass objects) to be viewed over large(ish) distances (about 200 metres).

I want to increase the speed that the imposters of my vegetation assets are loaded at run-time. For now there a few things I want to understand better: 

1. Are there any particular settings in the landscape / streaming (or other sections) which can be 'turned up' to increase the loading speed of my imposters?

2. Does a large step size for the imposters mean that they take longer to load? 

3. When using the imposter creator tool for any object it seems the step size generated is far larger than compared to the asset it is based on. For instance, the asset that I am basing the imposter on has a step size of 20, and then using the imposter creator tool it gives me a step size of 400. This strangely (at least to me) matches perfectly, however I wonder if this large step size is to blame for the slow loading of these imposters? And whats weird is if I make the step size of the imposter and the mesh it is based from the same, the positions DO NOT match when trying to get them to blend together at a distance. Is this expected behaviour? 

 

Apologies for this long post, but I would really like to understand how I can go about optimizing my grass object imposters to load far quicker at runtime and do not know enough about how they work to start optimizing.

 

Many thanks, 

 

Ben

Link to comment

Hello!

Ben, indeed there is a few tricks that you can implement in terms to make loading those object faster. As a first thing that I want you to suggest it's check out following articles in our documentation:

Optimizing Grass

More about step for cell division

This mostly should answer your second and third question.

Step size for both objects should be set up simultaneously. According on formulas in our documentation geometry objects will always have step value less then impostors - as an example 200 step and 8 subdivision for ObjectGrass (impostors) requires to set step value of 25 (200/8) for ObjectMeshClutter to keep the geometry repetition between those objects. Size of the field should be divided by Step exactly. Otherwise, if there is a remainder of a division, it may result in visual artifacts and unexpected behavior.

22 hours ago, Ben_93 said:

1. Are there any particular settings in the landscape / streaming (or other sections) which can be 'turned up' to increase the loading speed of my imposters?

Speaking of vegetation objects exactly and according on my own research, "Mask Terrain" feature for ObjectLandscapeTerrain will always be slower then using "Mask Mesh" or "Mask Texture" options. With "Mask Terrain" vegetation depends on LandscapeLayerMap density and resolution where higher values will produce decreasing speed of loading objects.

So, if you stick with "Mask Terrain" then you need to find "sweet spot" between acceptable surface visual quality and loading speed. Otherwise using "Mask Mesh" or "Mask Texture" will always be faster and you will be able to maintain a high level of the details respectively.

I hope it helps. If you have any questions, please feel free to ask.

Thanks!

Link to comment

Thank you @bmyagkov very much for your suggestions!

That makes sense,I use mask terrain for the vegetation bounds and have a high LandscapeLayerMap density and resolution, so I will experiment using Mask Textures to see if that yields a quicker loading time. 

 

Many thanks, 

Ben

  • Like 1
Link to comment
×
×
  • Create New...