rendering issues at screen edges


I am experimenting with UE4 and an HTC Vive, and I am experiencing various issues at screen edges that seem all related, e.g.:

  • meshes change their LOD when rotating the head, more specifically a more detailed level is rendered when the object gets close to screen edges
  • when using dynamic shadows, you can clearly see the switch between cascades or the switch between cascaded shadows / ray traced distance field shadows

My hypothesis is that to trigger the above mentioned transition, UE4 uses, instead of the distance between the camera and the object (which should stay the same when rotating the head),
its computed screen size, which gets bigger and bigger as one rotates the head to move the object to the edges of the screen.
While for LODs computation this is quite expected (but not ideal with an HMD), for dynamic shadows all parameters to control cascades refer to distance from the camera, not screen size.

My questions are:

  • anyone else experiencing the same issues? if yes, did you find any workaround?
  • would it be possible for Epic to add options to use distances from camera instead of screen sizes to control LODs and shadows?


You are not the first one, see this: Static Mesh LOD switch at screen edge - UE4 AnswerHub
To work around this I used blueprints to force switching lods based on distance.
In one of the recent github commits they adjusted the formula for the screensize but I haven’t had time to check out if they fixed this issue

Thanks for the blueprint tip, at least for LODs that should be a workaround. I would like to here from someone at Epic about shadow cascades, if you rotate your head you can clearly see the shadows changing their quality, so it must be the same kind of behavior …

EDIT: are you talking about this pull request?