Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
Aleksey33's avatar
9 years ago

Camera rotation in OVRCameraRig

Hello,
At first I worked in Unity 5.3.5p6 and plugin worked properly. But after I imported the project in Unity 5.5.1f1 I got a problem with cameras. Center Eyes wrong per gram VR devices. In unity of all working properly.
I have not changed anything in the hierarchy, and a script
I added screenshots
1) In Unity 
 

2) In device 

1 Reply

Replies have been turned off for this discussion


  • Hi,

    This is a known bug in Unity described here. This is being fixed in the 1.11 version of Oculus Utilities due out soon.

    In the mean time, you can use this code I've copied below from the thread above to work around this issue:

    For now, you can work around this by modifying OVRCameraRig.cs. If OVRCameraRig.usePerEyeCameras is true, comment out the lines in the following that refer to centerEyeAnchor. Else comment out the lines that refer to left/rightEyeAnchor.

    	trackerAnchor.localRotation = tracker.orientation;
    centerEyeAnchor.localRotation = VR.InputTracking.GetLocalRotation(VR.VRNode.CenterEye);
    leftEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : VR.InputTracking.GetLocalRotation(VR.VRNode.LeftEye);
    rightEyeAnchor.localRotation = monoscopic ? centerEyeAnchor.localRotation : VR.InputTracking.GetLocalRotation(VR.VRNode.RightEye);
    leftHandAnchor.localRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.LTouch);
    rightHandAnchor.localRotation = OVRInput.GetLocalControllerRotation(OVRInput.Controller.RTouch);

    trackerAnchor.localPosition = tracker.position;
    centerEyeAnchor.localPosition = VR.InputTracking.GetLocalPosition(VR.VRNode.CenterEye);
    leftEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : VR.InputTracking.GetLocalPosition(VR.VRNode.LeftEye);
    rightEyeAnchor.localPosition = monoscopic ? centerEyeAnchor.localPosition : VR.InputTracking.GetLocalPosition(VR.VRNode.RightEye);
    leftHandAnchor.localPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.LTouch);
    rightHandAnchor.localPosition = OVRInput.GetLocalControllerPosition(OVRInput.Controller.RTouch);






    Thanks! its work !!!