Browse Source

优化Immersal定位脚本

蓝色星空 1 year ago
parent
commit
e69bfeda32

+ 6 - 6
Assets/Prefab/BluePrefabs/BlueRoot.prefab

@@ -53,9 +53,9 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 1691766442}
-  - component: {fileID: 1691766443}
+  - component: {fileID: 4085329947062313590}
   m_Layer: 0
-  m_Name: ControlLocalizer
+  m_Name: ImmersalLocalizerController
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -76,19 +76,19 @@ Transform:
   m_Father: {fileID: 5886227751517987777}
   m_RootOrder: 2
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1691766443
+--- !u!114 &4085329947062313590
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1691766441}
-  m_Enabled: 1
+  m_Enabled: 0
   m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: ee7e6d4fe3022624dbedb3cea308fd58, type: 3}
+  m_Script: {fileID: 11500000, guid: a9c34e33224fe894eb17fb42e89185f6, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  NRLocalizer: {fileID: 0}
+  XRLocalizer: {fileID: 0}
   rateTime: 2
 --- !u!1 &4965398655029255260
 GameObject:

+ 0 - 29
Assets/Script/ControlLocalizer.cs

@@ -1,29 +0,0 @@
-using Immersal.AR;
-using Blue;
-using UnityEngine;
-
-public class ControlLocalizer: AbstractController
-{
-    [SerializeField] public XRLocalizer NRLocalizer;
-    [SerializeField] private float rateTime = 2f;
-    private float time = 0f;
-    private bool startLocalizer=false;
-
-    private void Awake()
-    {
-        this.SubscribeEvent<StartImmersalLocalizerEvent>(e =>
-        {
-            startLocalizer = true;
-        }).UnSubScribeWhenGameObjectDestroyed(gameObject);
-    }
-    void Update()
-    {
-        time += Time.deltaTime;
-
-        if(time > rateTime  && startLocalizer)
-        {
-            NRLocalizer.Localize();
-            time= 0;
-        }
-    }
-}

+ 34 - 0
Assets/Scripts/Blue/Controller/ImmersalLocalizerController.cs

@@ -0,0 +1,34 @@
+using Immersal.AR;
+using UnityEngine;
+using Blue;
+
+/// <summary>
+/// 控制Immersal定位
+/// </summary>
+public class ImmersalLocalizerController: AbstractController
+{
+    [SerializeField] private XRLocalizer XRLocalizer;
+    [SerializeField] private float rateTime = 2f;
+    private float time = 0f;
+    private bool startLocalizer=false;
+
+    private void Awake()
+    {
+        this.SubscribeEvent<StartImmersalLocalizerEvent>(e=>
+        {
+            XRLocalizer = GameObject.Find("ImmersalSDK").GetComponent<XRLocalizer>(); // 获取XRLocalizer
+            this.enabled = true; // 开启脚本
+            startLocalizer = true; // 开始定位
+        }).UnSubScribeWhenGameObjectDestroyed(gameObject);
+    }
+    void Update()
+    {
+        time += Time.deltaTime;
+
+        if(time > rateTime  && startLocalizer)
+        {
+            XRLocalizer.Localize();
+            time= 0;Debug.LogError(1232);
+        }
+    }
+}

+ 1 - 1
Assets/Script/ControlLocalizer.cs.meta → Assets/Scripts/Blue/Controller/ImmersalLocalizerController.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: ee7e6d4fe3022624dbedb3cea308fd58
+guid: a9c34e33224fe894eb17fb42e89185f6
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2