Browse Source

8 旋转场景:场景转转方向与手柄移动方向相反

蓝色星空 1 year ago
parent
commit
926e9b98e5
1 changed files with 14 additions and 7 deletions
  1. 14 7
      Assets/Scripts/Blue/Temp/MoveChange.cs

+ 14 - 7
Assets/Scripts/Blue/Temp/MoveChange.cs

@@ -42,10 +42,6 @@ public class MoveChange : MonoBehaviour
         {
             TempVector3 = OpenXRCamera.Instance.head.position-goRefrence.transform.position;
         }
-        else
-        {
-            TempVector3 = ControllerTracker.localEulerAngles-goRefrence.transform.localEulerAngles;
-        }
         mesh_test.transform.parent = goRefrence.transform;
 
 /*
@@ -105,8 +101,20 @@ public class MoveChange : MonoBehaviour
             }
             else
             {
+                if(ControllerTracker_Y==0) // 下次值大于上次值
+                {
+                    ControllerTracker_Y = ControllerTracker.localEulerAngles.y;
+                }
+                else
+                {
+                    v3.y = ControllerTracker_Y - ControllerTracker.localEulerAngles.y;
+                    goRefrence.transform.localEulerAngles +=v3;
+                    ControllerTracker_Y = ControllerTracker.localEulerAngles.y;
+                }
+                /*
                 goRefrence.transform.localEulerAngles = ControllerTracker.localEulerAngles - TempVector3;
                 goRefrence.transform.localEulerAngles = new Vector3(0, goRefrence.transform.localEulerAngles.y, 0);
+                */
             }
             //moveGame.transform.eulerAngles = new Vector3(0, moveGame.transform.eulerAngles.y, 0);
         }
@@ -114,12 +122,11 @@ public class MoveChange : MonoBehaviour
         {
             ARSpace.isFind = true;
         }
-
     }
-
+    private Vector3 v3 = Vector3.zero; // 用于存放手柄上次与下次的差值
+    private float ControllerTracker_Y = 0; // 上次手柄的旋转Y值
     private bool IsRot;
     private Vector3 TempVector3;
-    private Vector3 headPos;
     public GameObject goRefrence // 参照物
     {
         get =>SceneIOCContainer.Instance.Pull("goRefrence")as GameObject;