HMD inputs/VR/Pitch-Yaw-Roll


I have been playing about with controls for a Head Mounted Display like the Durovis Dive etc… Using the “InputAxis - Add Controller Pitch Input” works great for looking up and down, though I can’t get any of the other movements (Yaw and Roll) to be anywhere near as smooth. Is there any other way of doing this at the moment?

Also, as mentioned in an earlier post, the SBS 3D effect. Any way to enable this apart from the awkward “stereo on” on launch?


Hi VXTfour,

I am moving this thread to the proper section: VR Development. Please post any VR related concerns or questions there. Thank you!

Are you using the InputAxis to drive the Durovis? If so, i’d recommend actually implementing a version of IHeadMountedDisplay, and letting the engine drive the rotational additions. By using that interface, you allow the HMD to be sampled multiple times during the frame, which does a lot to reduce latency. That will also take care of putting the engine into stereo 3d mode automatically, so you won’t have to do “stereo on”

Hi Nick,

Thanks for the reply.

Yes I was using the InputAxis to try to get Pitch/Yaw and Roll on the device.

Does the IHeadMountedDisplay work with phone sensors? This is to use with an Android phone, not an Oculus Rift. If so, then this is exactly what I am looking for :slight_smile: Thank you.

Also: interesting that Google themselves are opening their eyes to this.

Yeah, the IHeadMountedDisplay interface is designed to be used with any head mounted display, so if you fill in the functionality for your device, it should map into the engine exactly the same way that the Rift does. We made it to be our generic hook for all HM devices so that people can use any device they want without having to make a custom interface for each.

Thanks for the reply Nick,

I don’t suppose anyone knows of any tutorials for this? I’m having a hard time understanding it (being a noob).


Unfortunately, there’s not really a tutorial for this, since it’s a pretty advanced (and rare) thing that you’d want to integrate a new device into the engine. Most people have followed the OculusRift plug-in, which has full source in the subscription build. I’d recommend starting there, and seeing what’s done for the various IHMD interface functions.