Browse Source

修复编辑时的bug

蓝色星空 1 year ago
parent
commit
bb1b9c479a

+ 174 - 172
Assets/MRNavigatorPro.unity

@@ -1953,7 +1953,7 @@ MeshFilter:
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 375338274}
-  m_Mesh: {fileID: 614360315}
+  m_Mesh: {fileID: 723697558}
 --- !u!114 &375338278
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -2385,7 +2385,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 06ff28a23a97e50428b6a6b63f3d0814, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  netSpeedStr: 
 --- !u!114 &561349959
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -2489,6 +2488,7 @@ MonoBehaviour:
   - {fileID: 1911990708955312460}
   m_IsRuning: 0
   m_UIAnchorsPanel: {fileID: 1180406930700069014}
+  EditorToggle: {fileID: 1884715972}
 --- !u!4 &588301977
 Transform:
   m_ObjectHideFlags: 0
@@ -2562,170 +2562,6 @@ Transform:
   m_Father: {fileID: 210725851}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!43 &614360315
-Mesh:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: 
-  serializedVersion: 10
-  m_SubMeshes:
-  - serializedVersion: 2
-    firstByte: 0
-    indexCount: 0
-    topology: 5
-    baseVertex: 0
-    firstVertex: 0
-    vertexCount: 0
-    localAABB:
-      m_Center: {x: 0, y: 0, z: 0}
-      m_Extent: {x: 0, y: 0, z: 0}
-  m_Shapes:
-    vertices: []
-    shapes: []
-    channels: []
-    fullWeights: []
-  m_BindPose: []
-  m_BoneNameHashes: 
-  m_RootBoneNameHash: 0
-  m_BonesAABB: []
-  m_VariableBoneCountWeights:
-    m_Data: 
-  m_MeshCompression: 0
-  m_IsReadable: 1
-  m_KeepVertices: 0
-  m_KeepIndices: 0
-  m_IndexFormat: 1
-  m_IndexBuffer: 
-  m_VertexData:
-    serializedVersion: 3
-    m_VertexCount: 0
-    m_Channels:
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 3
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    - stream: 0
-      offset: 0
-      format: 0
-      dimension: 0
-    m_DataSize: 0
-    _typelessdata: 
-  m_CompressedMesh:
-    m_Vertices:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_UV:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Normals:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Tangents:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Weights:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_NormalSigns:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_TangentSigns:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_FloatColors:
-      m_NumItems: 0
-      m_Range: 0
-      m_Start: 0
-      m_Data: 
-      m_BitSize: 0
-    m_BoneIndices:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_Triangles:
-      m_NumItems: 0
-      m_Data: 
-      m_BitSize: 0
-    m_UVInfo: 0
-  m_LocalAABB:
-    m_Center: {x: 0, y: 0, z: 0}
-    m_Extent: {x: 1.7014117e+38, y: 1.7014117e+38, z: 1.7014117e+38}
-  m_MeshUsageFlags: 0
-  m_BakedConvexCollisionMesh: 
-  m_BakedTriangleCollisionMesh: 
-  m_MeshMetrics[0]: 1
-  m_MeshMetrics[1]: 1
-  m_MeshOptimizationFlags: 1
-  m_StreamData:
-    serializedVersion: 2
-    offset: 0
-    size: 0
-    path: 
 --- !u!1 &647507121 stripped
 GameObject:
   m_CorrespondingSourceObject: {fileID: 8030973376965847205, guid: 7e724082e3f166747b1152780155e212,
@@ -3186,6 +3022,170 @@ Transform:
     type: 3}
   m_PrefabInstance: {fileID: 706104185}
   m_PrefabAsset: {fileID: 0}
+--- !u!43 &723697558
+Mesh:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: 
+  serializedVersion: 10
+  m_SubMeshes:
+  - serializedVersion: 2
+    firstByte: 0
+    indexCount: 0
+    topology: 5
+    baseVertex: 0
+    firstVertex: 0
+    vertexCount: 0
+    localAABB:
+      m_Center: {x: 0, y: 0, z: 0}
+      m_Extent: {x: 0, y: 0, z: 0}
+  m_Shapes:
+    vertices: []
+    shapes: []
+    channels: []
+    fullWeights: []
+  m_BindPose: []
+  m_BoneNameHashes: 
+  m_RootBoneNameHash: 0
+  m_BonesAABB: []
+  m_VariableBoneCountWeights:
+    m_Data: 
+  m_MeshCompression: 0
+  m_IsReadable: 1
+  m_KeepVertices: 0
+  m_KeepIndices: 0
+  m_IndexFormat: 1
+  m_IndexBuffer: 
+  m_VertexData:
+    serializedVersion: 3
+    m_VertexCount: 0
+    m_Channels:
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 3
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    - stream: 0
+      offset: 0
+      format: 0
+      dimension: 0
+    m_DataSize: 0
+    _typelessdata: 
+  m_CompressedMesh:
+    m_Vertices:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UV:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Normals:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Tangents:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Weights:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_NormalSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_TangentSigns:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_FloatColors:
+      m_NumItems: 0
+      m_Range: 0
+      m_Start: 0
+      m_Data: 
+      m_BitSize: 0
+    m_BoneIndices:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_Triangles:
+      m_NumItems: 0
+      m_Data: 
+      m_BitSize: 0
+    m_UVInfo: 0
+  m_LocalAABB:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 1.7014117e+38, y: 1.7014117e+38, z: 1.7014117e+38}
+  m_MeshUsageFlags: 0
+  m_BakedConvexCollisionMesh: 
+  m_BakedTriangleCollisionMesh: 
+  m_MeshMetrics[0]: 1
+  m_MeshMetrics[1]: 1
+  m_MeshOptimizationFlags: 1
+  m_StreamData:
+    serializedVersion: 2
+    offset: 0
+    size: 0
+    path: 
 --- !u!224 &745343613 stripped
 RectTransform:
   m_CorrespondingSourceObject: {fileID: 7742697447022607696, guid: 7f34641aa9b798d4980647aff233a880,
@@ -4735,8 +4735,7 @@ MonoBehaviour:
   m_UseGeoPoseLocalizer: 0
   m_UseServerLocalizer: 0
   m_MapIds: []
-  webTex: {fileID: 0}
-  deviceName: 
+  m_UseYUV: 0
 --- !u!1 &1330922971
 GameObject:
   m_ObjectHideFlags: 0
@@ -5492,7 +5491,7 @@ PrefabInstance:
     - target: {fileID: 2656584712679981451, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.0049359384
+      value: 0.000023327515
       objectReference: {fileID: 0}
     - target: {fileID: 2656584712838976906, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
@@ -5622,7 +5621,7 @@ PrefabInstance:
     - target: {fileID: 2656584713474595953, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.0057459436
+      value: -0.0042255605
       objectReference: {fileID: 0}
     - target: {fileID: 2656584713571100915, guid: 3e8996c442fe40541beb734ca45f2bf6,
         type: 3}
@@ -6482,6 +6481,9 @@ MonoBehaviour:
   windowAnchor: 4
   windowOffset: {x: 0, y: 0}
   defaultWindowRotation: {x: 0, y: 0}
+  InstantFollowing: 0
+  LinearFollowing: 0
+  menu_size: {x: 0, y: 0}
 --- !u!114 &1775082050
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -8308,7 +8310,7 @@ PrefabInstance:
     - target: {fileID: 486518953982833418, guid: 6693e68f506a6c944b1783fb7e52a498,
         type: 3}
       propertyPath: m_AnchoredPosition.y
-      value: -0.00043588993
+      value: -0.00051455287
       objectReference: {fileID: 0}
     - target: {fileID: 486518953989235048, guid: 6693e68f506a6c944b1783fb7e52a498,
         type: 3}
@@ -12154,7 +12156,7 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 1}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -0.00507855}
+  m_AnchoredPosition: {x: 0, y: -0.0050063664}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 1}
 --- !u!114 &1180406930876628118

+ 40 - 0
Assets/Scripts/Blue/Patch/Patch_ModelController.cs

@@ -0,0 +1,40 @@
+using System.Collections;
+using Blue;
+using SC.XR.Unity.Module_InputSystem;
+using UnityEngine;
+using UnityEngine.UI;
+
+public class Patch_ModelController : AbstractController
+{
+    [SerializeField] private ManipulationHandler manipulationHandler;
+    void Start()
+    {
+        if (GetComponent<ManipulationHandler>() != null)
+        {
+            Destroy(manipulationHandler);
+        }
+        toggle = GameObject.Find("SetBtn/Canvas/Parent/EditorBtn/Toggle").GetComponent<Toggle>();
+    }
+
+    private Toggle toggle;
+
+    private void Update()
+    {
+        if(!toggle.isOn)
+        {
+            if(manipulationHandler!=null)
+                Destroy(manipulationHandler);
+        }
+        else
+        {
+            if (manipulationHandler == null)
+            {
+                manipulationHandler = gameObject.AddComponent<ManipulationHandler>();
+                if(manipulationHandler.enabled==false)
+                {
+                    manipulationHandler.enabled = true;
+                }
+            }
+        }
+    }
+}

+ 11 - 0
Assets/Scripts/Blue/Patch/Patch_ModelController.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 25a17a30a2296954d9bfa8febecdcd29
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 40 - 13
Assets/Scripts/Blue/Patch/Video/Patch_VideoController.cs

@@ -1,8 +1,10 @@
+using System.Collections.Generic;
 using System.Collections;
 using Blue;
 using SC.XR.Unity.Module_InputSystem;
 using UnityEngine;
 using UnityEngine.UI;
+using static BoundingBox;
 
 public class Patch_VideoController : AbstractController
 {
@@ -15,6 +17,12 @@ public class Patch_VideoController : AbstractController
         {
             Destroy(manipulationHandler);
         }
+
+        if (GetComponent<BoundingBox>() != null)
+        {
+            Destroy(boundingBox);
+        }
+        
         /*
         this.RegisterEvent<Patch_VideoEvent>(e=>
         {
@@ -38,30 +46,49 @@ public class Patch_VideoController : AbstractController
     }
 
     private Toggle toggle;
-    private bool des;
     private void Update()
     {
         if(!toggle.isOn)
         {
-            if(des)
-            {
-                if (transform.Find("BoundingBox").gameObject != null)
-                    Destroy(transform.Find("BoundingBox").gameObject);
-                boundingBox.enabled = false;
+            if (transform.Find("BoundingBox").gameObject != null)
+                Destroy(transform.Find("BoundingBox").gameObject);
+            if(manipulationHandler!=null)
                 Destroy(manipulationHandler);
-                des = false;
-            }
+            if(boundingBox!=null)
+                Destroy(boundingBox);
         }
         else
         {
-            if(!des)
+            if (manipulationHandler == null)
             {
                 manipulationHandler = gameObject.AddComponent<ManipulationHandler>();
-                //Debug.LogError("manipulationHandler:"+manipulationHandler==null);
-                boundingBox.enabled = true;
-                manipulationHandler.enabled = true;
-                des = true;
+                if(manipulationHandler.enabled==false)
+                {
+                    manipulationHandler.enabled = true;
+                }
+            }
+            if (boundingBox == null)
+            {
+                boundingBox = gameObject.AddComponent<BoundingBox>();
+                if(boundingBox.enabled==false)
+                {
+                    boundingBox.enabled = true;
+                    StartCoroutine(Set());
+                    Debug.LogError(boundingBox.ActiveHandle);
+                }
+                else
+                {
+                    boundingBox.FlattenAxis = FlattenModeType.FlattenZ;
+                    boundingBox.ActiveHandle = HandleType.Rotation | HandleType.Scale;
+                }
             }
         }
     }
+
+    private IEnumerator Set()
+    {
+        yield return null;
+        boundingBox.FlattenAxis = FlattenModeType.FlattenZ;
+        boundingBox.ActiveHandle = HandleType.Rotation | HandleType.Scale;
+    }
 }

+ 2 - 1
Assets/Scripts/LayoutTemplate/TemplateModel.cs

@@ -71,7 +71,8 @@ public class TemplateModel : BaseTemPlate
                 //if (ab.LoadAllAssets<GameObject>()[0].name == "MRVideo")
                 //m_ModelObj.AddComponent<MovieScreen>();
 
-                gameObject.AddComponent<ManipulationHandler>();
+                //gameObject.AddComponent<ManipulationHandler>();
+                gameObject.AddComponent<Patch_ModelController>();
                 gameObject.AddComponent<BoundingBox>();
                 yield return new WaitForSeconds(0.3f);
                 ab.Unload(false);

+ 29 - 1
Assets/Scripts/UI/GameManager.cs

@@ -205,6 +205,7 @@ public class GameManager : MonoSingleton<GameManager>
         set { m_AnchorChild = value; }
     }
 
+    public Toggle EditorToggle;
     private void Awake()
     {
         
@@ -329,7 +330,6 @@ public class GameManager : MonoSingleton<GameManager>
         InitCrystals();
         InitBoxColliders();
 
-       
     }
 
 
@@ -1314,9 +1314,37 @@ public class GameManager : MonoSingleton<GameManager>
                 SpoitIndex = i;
                 ListCrystals[SpoitIndex].gameObject.SetActive(false);
                 m_EditorPanel.SetSpoit(SpoitValues[i]);
+                if(!EditorToggle.isOn)
+                    StartCoroutine(patch());
                 return;
             }
         }
+        StartCoroutine(patch());
+    }
+
+    private IEnumerator patch()
+    {
+        yield return new WaitForSeconds(0.005f);
+        if (PosRotScale.PosRotScalePatchList.Count != 0)
+        {
+            int temp = 0;
+            for (int i = 0; i < GameManager.Instance.ObjsParent.childCount; i++)
+            {
+                if (i != 0)
+                {
+                    for (int j = 0; j < GameManager.Instance.ObjsParent.GetChild(i).childCount; j++)
+                    {
+                        for (int k = 0; k < GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).childCount; k++)
+                        {
+                            GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localPosition = PosRotScale.PosRotScalePatchList[temp].PosPatch;
+                            GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localEulerAngles = PosRotScale.PosRotScalePatchList[temp].RotPatch;
+                            GameManager.Instance.ObjsParent.GetChild(i).GetChild(j).GetChild(k).localScale = PosRotScale.PosRotScalePatchList[temp].ScalePatch;
+                            temp++;
+                        }
+                    }
+                }
+            }
+        }
     }
     /// <summary>
     /// 当人物退出触发器范围