蓝色星空 vor 1 Jahr
Ursprung
Commit
2a6a1f6707

+ 17 - 5
Assets/ImmersalSDK/Core/Scripts/AR/LocalizerBase.cs

@@ -14,6 +14,7 @@ using System;
 using System.Collections;
 using System.Collections.Generic;
 using Immersal.REST;
+using NRKernal;
 
 namespace Immersal.AR
 {
@@ -157,11 +158,22 @@ namespace Immersal.AR
 		public virtual void OnApplicationPause(bool pauseStatus)
 		{
 			Reset();
-			
-			if (!pauseStatus)
-				SetBurstMode(burstMode);
-		}
 
+            if (!pauseStatus)
+            {
+				var poseTracker = NRSessionManager.Instance.NRHMDPoseTracker;
+				poseTracker.ResetWorldMatrix(false);
+                SetBurstMode(burstMode);
+            }
+        }
+
+		public void NewLocalize()
+		{
+			Reset();
+            var poseTracker = NRSessionManager.Instance.NRHMDPoseTracker;
+			poseTracker.ResetWorldMatrix(false);
+			SetBurstMode(burstMode);
+		}
 		public virtual void Localize()
 		{
 			Debug.Log(string.Format("Successful localizations: {0}/{1}", stats.localizationSuccessCount, stats.localizationAttemptCount));
@@ -302,7 +314,7 @@ namespace Immersal.AR
 		}
 		
         #endregion
-
+		
 		private void SetBurstMode(bool on)
 		{
 			m_BurstStartTime = Time.unscaledTime;

+ 2 - 0
Assets/Scripts/Blue/Controller/IsLocation.cs

@@ -2,6 +2,7 @@ using Immersal.AR;
 using Blue;
 using UnityEngine.UI;
 using UnityEngine;
+using Immersal;
 
 /// <summary>
 /// 是否定位功能
@@ -32,6 +33,7 @@ public class IsLocation : AbstractController
             N_Location_Toggle.transform.Find("Background").GetComponent<Image>().color = white;
             N_Location_Toggle.transform.Find("Background/Checkmark").GetComponent<Image>().color = white;
 
+            ImmersalSDK.Instance.Localizer.NewLocalize();
             XRLocalizer.enabled = true;
 
             this.SendCommand(new SetImmersalLocalCommand(true));