Browse Source

Fix issue with MM crashing VR

I only have a vive so I don't know if this issue persists with oculus
or FOVE.
habeebweeb 4 years ago
parent
commit
a5e7e14996
1 changed files with 7 additions and 1 deletions
  1. 7 1
      MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Update.cs

+ 7 - 1
MultipleMaids/CM3D2/MultipleMaids/Plugin/MultipleMaids.Update.cs

@@ -163,8 +163,14 @@ namespace CM3D2.MultipleMaids.Plugin
                                                                                                          && !Input.GetKey(KeyCode.D)
                                                                             && !Input.GetKey(KeyCode.S))
             {
+                string VRCamera;
+                GameMain.VRFamilyType VRFamily = GameMain.Instance.VRFamily;
+                if (VRFamily == GameMain.VRFamilyType.Oculus) VRCamera = "TrackingSpace/CenterEyeAnchor";
+                else if (VRFamily == GameMain.VRFamilyType.FOVE) VRCamera = "Fove Interface";
+                else VRCamera = "Main Camera (eye)"; // implies VRFamilyType.HTC and VRFamilyType.NON
+
                 Vector3 maid = GetFieldValue<OvrCamera, Vector3>(GameMain.Instance.OvrMgr.OvrCamera, "v")
-                               + UTY.GetChildObject(mainCamera.gameObject, "TrackingSpace/CenterEyeAnchor", false).transform.rotation
+                               + UTY.GetChildObject(mainCamera.gameObject, VRCamera, false).transform.rotation
                                * Vector3.forward
                                * (Input.GetAxis("Mouse ScrollWheel") * (float)(5.0 * Time.deltaTime * 2.0 * 5.0));
                 SetFieldValue3<OvrCamera, Vector3>(GameMain.Instance.OvrMgr.OvrCamera, "v", maid);