[Bug] FirstPersonCharacter blueprint Oculus issues

Hi,

Since updating to 4.11 ( and now to 4.11.1) , the FirstPersonCharacter default blueprint doesn’t behave properly when running in VR. The following happens:

  • The camera position on the Z axis is really low, almost at ground level

  • When I am rotating my head horizontally, the character also has a weird panning motion.

Steps to reproduce:

  1. Create a new project from the 1st person template

  2. Preview in VR

OS: Windows 10 x64

Oculus Runtime: 1.3.0 ( also happens with 0.8 )

Engine version: 4.11 and 4.11.1

Same issue, hoping for an answer :frowning:

Hello George_Cristian_Tudor,

I was able to reproduce this issue on our end. I have written up a report (UE-29408) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

Hmm… I can’t repro it. 4.11.1, 1.3.x runtime (newer than 1.3.0, but doubt it is important). FPS/BP template. Looks good in VR Preview. Does this also happen if you run it as a game (in VR)?
Where did you get the UE4 from? Is it from Perforce, github (which tag), or pre-built one from EpicGames launcher? Which headset do you use?

I just posted a solution to the Oculus forum, but it is “waiting for moderation”, which is really weird as it’s my 135th post and I never had to be moderated before.

Just post it here too :slight_smile:

Apparently my message got lost in the world of moderation at the Oculus forums, so I’ll rewrite it here.

I was having the same problem with my DK2 with UE4.11.1, Oculus 1.3.0, Windows 10.
I found out that UE’s camera system was reworked in 4.11, and that broke DK2’s out-of-the-box functionality. I really hope Epic fixes this so it works automatically again, but while that doesn’t happen there’s a relatively simple solution.

1 - Open your character’s blueprint, then go to the “viewport tab”, select the camera and uncheck “Lock to HMD” (some people are suggesting to uncheck “use pawn control rotation”, but if you do that the “forward direction” when moving will be fixed, no matter where you’re looking at, which is very uncomfortable, so keep it checked).

2 - The camera is probably behind de character’s capsule, and that is causing the weird rotation. Move it to 0,0 (X,Y), so that it’s pivot point (the lens) is exactly in the middle of the capsule.

3 - If your game is a sitting experience, set camera height (Z value) to the desired in-game height. Remember that Z=0 is already the capsule’s half height. So if you have a capsule half height of 90 and you set your camera’s Z to 0, the camera will be 90 cm from the ground. To make it 1,5 m, for example, set it’s Z to 60 (90+60=150).
OR
4 - If your game is a standing experience, set camera height to ground level (which will be exactly the negative of the capsule’s half height), go to the “event graph” tab and create a “set tracking origin” node, and set it to “floor level”. This will read rift’s runtime pre-configured floor position (set during initial setup of sensor), so any user will have the camera at his/her correct height.

5 - Buy me a beer if it works for you, as it took me hours to figure this out.

Hey, thanks a lot for the answer. Just tested the workaround and it works. It appears that the “Lock to HMD” flag is the culprint for the camera rotation issues. Someone already submitted a bug for it:

It’s weird that it doesn’t happen on the CV1 though. Hoping for a fix from Epic. Cheers :slight_smile:

When I do this:
“go to the “event graph” tab and create a “set tracking origin” node, and set it to “floor level”. This will read rift’s runtime pre-configured floor position (set during initial setup of sensor), so any user will have the camera at his/her correct height.”
It helps a little, but the game-floor is still like 1-2 feet below my real-world floor. In other games/apps, and Oculus Home, the floor height is perfectly correct. Only UE4 is off, for some reason. :frowning:

If you put rift on the real floor, is your virtual camera on the virtual floor as well? What is the WorldToMeters scale?