unity-game-enginevirtual-realityoculusunity-ui

Oculus Unity VR - Separate UI Camera Not Working


I have a VR project for which I am trying to render a canvas to be "always on top" of everything using a separate UI camera as noted here.

I made my UICamera object a child of the main camera - which is the centerEyeAnchor object in the OVRCameraRig.

camera object hierarchy

And I set the culling mask for my UICamera to only show its layer and removed that layer from the main camera (CenterEyeAnchor).

CenterEyeAnchor Inspector UICamera Inspector

But in fact the perspective is weird and it seems like the UICamera is offset a little bit but its transform is zero'd out in the inspector, so I don't why it's displaying so weird.

If I set the culling mask to "Everything" for both cameras it's still offset a little.


Solution

  • In general you don't need the UI camera to be a child of CenterEyeAnchor. Move it out to to the top level and zero out the coordinates. The Oculus rig might be doing some magic with IPD or something else and it screws up the pixel-perfectness of UI.