LOD screen sizes need to be halved in vr

Ok, made a simple BP with a static mesh with 3 lods:

  • base/0: cube, screen size 1
  • lod 1: cone, screen size .5
  • lod 2: uv sphere, screen size .25

In viewport and PIE lods behave correctly, while in VR i need to halve lods screen sizes to have the same behavior.

I suspect this is due unreal rendering the scene twice before sending final render to hmd, so the actor occupy twice the screen size in the end.

Changing screen sizes value from bp on On Begin Play event its not an option, since those values are not exposed to bp.
Could make a second static mesh with the correct values and swap them on the On Begin Play event, but this workaroung still looks awful to me.

Anyone else found this problem during development? Any solution?

1 Like

I was just working on some LODs today in a VR project and found the same thing.

I figure it’s because the object only ever takes up 50% of the screen max. So Screen values above 0.5 will never get triggered.

You should be able to use “r.StaticMeshLODDistanceScale” which should work as a global multiplier.

1 Like

Thanks gelliot. Based on your reply, I’m using this blueprint and it is working well for me:

2 Likes

Thats a nice idea :smiley: ty

Hello, sorry to bumb an old topic but have you found any solution for fix LOD on VR for Skeletal meshes? Because there is no such console command for Skel mesh