diff --git a/Runtime/Scripts/WorldAnalysisARFoundation.cs b/Runtime/Scripts/WorldAnalysisARFoundation.cs index 0292ec05538f7bc565d76d5ebf7404ddcee15bd2..cb2abda0a9791a7af680aa8accc1689f0b547da4 100644 --- a/Runtime/Scripts/WorldAnalysisARFoundation.cs +++ b/Runtime/Scripts/WorldAnalysisARFoundation.cs @@ -157,7 +157,6 @@ public class WorldAnalysisARFoundation : MonoBehaviour, WorldAnalysisInterface foreach (KeyValuePair<Guid, SubscriptionInfo> subPose in m_subscriptionsPoses) { RelocalizationInformation information = m_relocalizationInformations[subPose.Value.uuidTarget]; - RelocObjects firstRelocInfo = information.RelocObjects.First(); Dictionary<Guid, RelocObjects> temp = information.RelocObjects.ToDictionary(relocObject => relocObject.Trackable.UUID, relocObject => relocObject); /// Trackable selection @@ -234,8 +233,9 @@ public class WorldAnalysisARFoundation : MonoBehaviour, WorldAnalysisInterface // For now we just ignore it : we could also send not tracked todo continue; } - - Matrix4x4 tr = WorldStorageUnityHelper.ConvertETSIARFTransform3DToUnity(firstRelocInfo.Transform3D); // Changed to WS / SylR + + Matrix4x4 tr = WorldStorageUnityHelper.ConvertETSIARFTransform3DToUnity(temp[bestTrackableCandidateID].Transform3D); // Changed to WS / SylR + UnityEngine.Vector3 tr_trans = WorldAnalysisUnityHelper.ExtractTranslationFromMatrix(tr); UnityEngine.Quaternion tr_rot = WorldAnalysisUnityHelper.ExtractRotationFromMatrix(tr);