Force engine to use HLOD meshes only

HLOD meshes are great for reducing draw calls. However, I can’t make them working from the very close distance. Basically, I would like to configure HLOD to work as automated ‘Merge Actors’ feature and that’s all. I would like to configure the following scenario:

  1. I setup only HLOD Level 0;
  2. Proxy meshes are generated, lightmaps are built for them;
  3. HLOD meshes are used from any possible distance, since there is only one LOD level, no mesh swapping occurs.
  4. Precomputed visibility is caclulated for proxy meshes.

What I’ve tried is to max out the ‘Transition Screen Size’ value to 1.0. As a result, proxy mesh was popping from quite short distance, but its appearance was quite random anyway.

This would bring a huge performance impact for my mobile project, because the main bottleneck on mobile platforms is a draw calls count, for both closeup and distant objects.

Hi Diamond,

There isn’t any specific setting to allow this without being some hacky workaround.

We have the console command r.HLOD.DistanceScale and using a lower value than 1 will force the transition changes here. If you’re using a single HLOD level this wouldn’t be too difficult to use a lower value to force it. When you start using multiple HLOD levels it becomes much more complex trying to get that result.

I really don’t think this approach is the best, to be honest, and instead using the Merge Actor tool or even letting HLOD generate the meshes in chunks and then just open the HLOD folder and rebuilding your level with these generated HLOD static meshes is better than just forcing a LOD level to be always shown.

Precomputed visibility is calculated
for proxy meshes.

And to touch on this as well. Precomputed Visibility Volumes for these larger generated chunks is not likely to bring you much benefit. Precomputed Visibility works best with small to medium scale levels, and small meshes that don’t have a larger scale. The generated HLOD chunks that are bigger just wouldn’t be the best use for this. I would use Cull Distance Volumes over Precomputed Visibility Volumes.

-Tim