Wrong NeckToEye distance for GearVR

Hey,

I’m developing a VR project that works both on GearVR and Oculus. I noticed that NeckToEye distance seems to be very big for GearVR compared to Oculus. Also, there’s no common HMD API to change this. Oculus reads this from user profile so it’s ok. Gear uses some defaults that seem ridiculously high.

This seems related to similar problem that happened in Unity:
https://forums.oculus.com/viewtopic.php?t=20885

Also, I found that GearVR uses its own settings for head model in GearVR::FSettings class ( HeadModel variable) instead of common FHMDSettings::NeckToEyeDistanceInMeters.

This inconsistency should be removed.

Hi,

I’m working on a VR Gear project too and I see something wrong since 4.9 in the distorsion calculation which appears to be off in Unreal. I can see objects moving now when I just look on the right or the left (impression also to be on a moving ground). Also with a new project created from scratch.

Does this bad setting of NecktoEyeDistance could make this effect?

thanks

We noticed the same problem with 4.9 and the neck to eye distance appearing really big. I added this to my DefaultEngine.ini:

[GearVR.Settings]
HeadModelScale=0

It seemed to revert back to the old behavior, although my guess is there are things that need to change on the Epic side for this to be integrated properly.

Hi!

Thanks for your feedback! I’ve tested with this line and it seems to correct a little but not completly the problem.

I’ve tryed something also with the “world to meters” parameter in the world properties. Trygin with “10” instead of “100” seems to correct the problem for me.

So, I’m agree with you, it seems that this headmodel and settings are strange in this new version. Actually, I’ve talked with someone from Oculus who tell me that the “lens distorsion” is probably Off. Don’t know really where we could find it in Unreal?

Thanks again for you help

[GearVR.Settings] HeadModelScale=0 kills the head motion but also the eye stereo disparity and because of this the stereo effect.
This is not a workable solution in my case. There is almost no point in a GearVR VR app without stereo rendering.
I still need a solution for locking or disabling the head motion. I can’t remove it myself by substracting the head position back because I can’t get the actual position on GearVR with with “Get Orientation and Position”. It always output 0,0,0 for position.

This can be tweaked in an easier way. Just use commands (AFAIR):
stereo ps=1.0
Where 1.0 is substituted by factor you want to multiply by
You can invoke the “Execute console command” BP node somewhere during the start of the application (e.g. BeginPlay of PlayerController).

I’ve written article that has some info about VR Head model in UE4 for UE4 blog: Creating Escape Velocity for Samsung Gear VR: A Postmortem - Unreal Engine

Maybe you’ll find it helpful

Will test it as soon as I get back to work.
You probably saved my day. THANKS a LOT !!!

Sorry for the question, but how exactly is the syntax of the command inside the “Execute Console Command” BS?
I’ve tried he following inside the level-BS:

stereo ps=0.1
stereo ps 0.1
StereoPs=0.1
StereoPs 0.1

but nothing seams to be executed.
Plus I’m using a Vive to quickview in VR from the Editor and the commands don’t work inside the Vive either.
Is there a specific node/order where the command need to be placed to work?