VR - Buffered frames and "Follow Hmd Orientation" missing

This appears to be new to 4.11 Preview 5.

Testing with the HTC HMD, the game world and chaperon bounds seem to be out of sync. Specifically the game world seems to lag behind the chaperon bounds. In my project settings I’ve turned off frame smoothing and set the FPS to 90, but it makes no visible difference.

I’ve also noticed that the “Follow Hmd Orientation” option is now missing from the Camera Manager class.

This feels very similar to an old issue from back in 4.8 when support was first being integrated:
https://steamcommunity.com/app/358720/discussions/0/535150948613944888/#c535151589886133544

There is no perceived latency in the previous 4.11 preview as well as 4.10.3

Hello,

I have a few questions for you that will help narrow down what issue it is that you are experiencing. As a side note the issue with Follow Hmd Orientation is a known issue (UE-27134).

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed set of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any code and/or blueprints that may be involved?

The de-sync with the chaperon appears to reproduce for me in a clean project.
I used New Project, C++, Basic Code, and than started up the VR preview once UEd opened.
No modifications were required.

I also noticed that my first impressions of what was lagging was incorrect:

  • The chaperon bounds are lagging behind the game world by a few frames (very nauseating)
  • The game is actually quite smooth and no frames are dropped while playing
  • However, when I bring up the Steam VR menu (Big Picture Mode for VR) everything starts jittering and I drop frames non-stop
  • This only occurs when running a 4.11 preview 5 project (any other VR game or UE4 version and the compositor is fine)

Currently I’m running:

  • UE4 4.11 Preview 5
  • nVidia GeForce Driver 361.91 on a 980 card
  • Windows 7 Enterprise
  • HTC (The version with wireless controllers, but is not a Pre)
  • Steam VR Beta 1455674454 (I think, it’s the most recent beta at the time of finding this issue)

Please let me know if there’s anything I can do to help narrow down the issue. :slight_smile:

Thanks for the report and apologies. The “buffered frames” part is an inadvertently disabled HMD late-update. I’ve submitted a fix so 4.11 release will be good to go.

If you need to get it working ASAP you can go to:

\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVR\Private\SteamVRHMD.cpp

and uncomment the code body for the “PreRenderView_RenderThread” function.

As for the missing “Follow Hmd Orientation” that is intentional and part of the new VR camera setup. Camera’s will follow the Hmd so long as they have “Lock to Hmd” checked on the camera component(on by default).

This worked for me, but the build is randomly crashing. Will this be fixed in preview 7?

Where is it crashing? Does it happen in non-VR mode?

Hello,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you.

Did you get this solved ? My workarround is not to use a camera at all. But then I can’ get the offset of the in the play area.

Ok I solved this. You need to decativate the property “automanage active camera target” in your player controller.
If I do this then the lag is gone.

89594-ue4editor_2016-05-06_00-53-15.png

This solves the floaty chaperon problem even with the new 4.11 camera setup :smiley:

Thanks!

Ugh… yeah, same “Controller Offset” problem… With “Auto Manage Active Camera Target” set false, the camera rotation no longer matches the pawns rotation. You can work around it by rotating the player spawn point to align to the camera, but it’s far from ideal. :frowning:

Yeah, and by 4.11 system I’m referring to the setup where the camera is on the player pawn

Nice! Stupid question. 4.11 Setup is character based, right? I have the issue that my controllers are centered not with my hmd (despite they are a child of it). Do you experience this too?

I don’t get it. How do you set the players spawn point? Whatever I tried, I failed.

No worries :smiley:
Every level starts off with a “PlayerStart” actor by default, you should see it in the “World Outliner” window (top right corner window that has a list of all the entities in your map).

It looks like a controller with a little flag by it (both in editor and in the outliner). If you’re still having trouble finding it make a note of where the center of your chaperon is when you preview your map, you should be able to find the “PlayerStart” in the same location in the editor.

thank you. I know that object. But all relocation etc did nothing here. But I got it working. I have a setup with a character. Just remove the camera from the character blueprint and you will see that you hmd will work anyway. But magic happens: the method ‘Get Position and Orientation’ starts to return values other than 0. Then you can calculate the hmd offset easily in you move scripts.

Hey Weberl, just doing some clean-up here. Considering this bug was for chaperon lag, pre pawn based camera, I’m going to mark the original fix as valid and let this thread sink. The issue we’ve been investigating is more closely related to “Chaperone bounds lag behind geometry” and we should probably support that thread instead. Thanks for all the help looking into this behaviour! :smiley: