Esempio n. 1
0
 private static void _user_anchor_removed(UnityARUserAnchorData anchor)
 {
     if (UnityARSessionNativeInterface.ARUserAnchorRemovedEvent != null)
     {
         ARUserAnchor userAnchorFromAnchorData = GetUserAnchorFromAnchorData(anchor);
         UnityARSessionNativeInterface.ARUserAnchorRemovedEvent(userAnchorFromAnchorData);
     }
 }
 static void _user_anchor_removed(UnityARUserAnchorData anchor)
 {
     if (ARUserAnchorRemovedEvent != null)
     {
         ARUserAnchor arUserAnchor = GetUserAnchorFromAnchorData(anchor);
         ARUserAnchorRemovedEvent(arUserAnchor);
     }
 }
        public UnityARUserAnchorData AddUserAnchor(UnityARUserAnchorData anchorData)
        {
#if !UNITY_EDITOR && UNITY_IOS
            return(SessionAddUserAnchor(m_NativeARSession, anchorData));
#else
            return(new UnityARUserAnchorData());
#endif
        }
        public UnityARUserAnchorData AddUserAnchorFromGameObject(GameObject go)
        {
#if !UNITY_EDITOR && UNITY_IOS
            UnityARUserAnchorData data = AddUserAnchor(UnityARUserAnchorData.UnityARUserAnchorDataFromGameObject(go));
            return(data);
#else
            return(new UnityARUserAnchorData());
#endif
        }
        void Start()
        {
            // creating a user anchor at the gameobject's position and rotation
            UnityARUserAnchorData anchor = UnityARSessionNativeInterface.GetARSessionNativeInterface().AddUserAnchorFromGameObject(this.gameObject);

            m_AnchorId = anchor.identifierStr;

            //UnityARSessionNativeInterface.ARUserAnchorRemovedEvent += RemoveAnchor;
        }
Esempio n. 6
0
        public static UnityARUserAnchorData UnityARUserAnchorDataFromGameObject(GameObject go)
        {
            Matrix4x4             matrix4x = Matrix4x4.TRS(go.transform.position, go.transform.rotation, go.transform.localScale);
            UnityARUserAnchorData result   = default(UnityARUserAnchorData);

            result.transform.column0 = matrix4x.GetColumn(0);
            result.transform.column1 = matrix4x.GetColumn(1);
            result.transform.column2 = matrix4x.GetColumn(2);
            result.transform.column3 = matrix4x.GetColumn(3);
            return(result);
        }
        public static UnityARUserAnchorData UnityARUserAnchorDataFromGameObject(GameObject go)
        {
            // create an anchor data struct from a game object transform
            Matrix4x4             arkitTransform = UnityARMatrixOps.UnityToARKitCoordChange(go.transform.position, go.transform.rotation);
            UnityARUserAnchorData ad             = new UnityARUserAnchorData();

            ad.transform.column0 = arkitTransform.GetColumn(0);
            ad.transform.column1 = arkitTransform.GetColumn(1);
            ad.transform.column2 = arkitTransform.GetColumn(2);
            ad.transform.column3 = arkitTransform.GetColumn(3);
            return(ad);
        }
Esempio n. 8
0
        public static UnityARUserAnchorData UnityARUserAnchorDataFromGameObject(GameObject go)
        {
            // create an anchor data struct from a game object transform
            Matrix4x4             matrix = Matrix4x4.TRS(go.transform.position, go.transform.rotation, go.transform.localScale);
            UnityARUserAnchorData ad     = new UnityARUserAnchorData();

            ad.transform.column0 = matrix.GetColumn(0);
            ad.transform.column1 = matrix.GetColumn(1);
            ad.transform.column2 = matrix.GetColumn(2);
            ad.transform.column3 = matrix.GetColumn(3);
            return(ad);
        }
        public static UnityARUserAnchorData UnityARUserAnchorDataFromPositionAndRotation(Vector3 position, Quaternion rotation)
        {
            // create an anchor data struct from a game object transform
            Matrix4x4             arkitTransform = UnityARMatrixOps.UnityToARKitCoordChange(position, rotation);
            UnityARUserAnchorData ad             = new UnityARUserAnchorData();

            ad.transform.column0 = arkitTransform.GetColumn(0);
            ad.transform.column1 = arkitTransform.GetColumn(1);
            ad.transform.column2 = arkitTransform.GetColumn(2);
            ad.transform.column3 = arkitTransform.GetColumn(3);
            return(ad);
        }
Esempio n. 10
0
        private static ARUserAnchor GetUserAnchorFromAnchorData(UnityARUserAnchorData anchor)
        {
            ARUserAnchor result = default(ARUserAnchor);

            result.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);
            Matrix4x4 transform = default(Matrix4x4);

            transform.SetColumn(0, anchor.transform.column0);
            transform.SetColumn(1, anchor.transform.column1);
            transform.SetColumn(2, anchor.transform.column2);
            transform.SetColumn(3, anchor.transform.column3);
            result.transform = transform;
            return(result);
        }
Esempio n. 11
0
        static ARUserAnchor GetUserAnchorFromAnchorData(UnityARUserAnchorData anchor)
        {
            //get the identifier for this anchor from the pointer
            ARUserAnchor arUserAnchor = new ARUserAnchor();

            arUserAnchor.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);
            Matrix4x4 matrix = new Matrix4x4();

            matrix.SetColumn(0, anchor.transform.column0);
            matrix.SetColumn(1, anchor.transform.column1);
            matrix.SetColumn(2, anchor.transform.column2);
            matrix.SetColumn(3, anchor.transform.column3);
            arUserAnchor.transform = matrix;
            return(arUserAnchor);
        }
        static ARUserAnchor GetUserAnchorFromAnchorData(UnityARUserAnchorData anchor)
        {
            #if PLATOFORM_IOS
            //get the identifier for this anchor from the pointer
            ARUserAnchor arUserAnchor = new ARUserAnchor();
            arUserAnchor.identifier = Marshal.PtrToStringAuto(anchor.ptrIdentifier);

            Matrix4x4 matrix = new Matrix4x4();
            matrix.SetColumn(0, anchor.transform.column0);
            matrix.SetColumn(1, anchor.transform.column1);
            matrix.SetColumn(2, anchor.transform.column2);
            matrix.SetColumn(3, anchor.transform.column3);

            arUserAnchor.transform = matrix;
            return(arUserAnchor);
            #else
            Debug.LogError("Not available on non iOS platform");
            return(new ARUserAnchor());
            #endif
        }
 private static extern UnityARUserAnchorData SessionAddUserAnchor(IntPtr nativeSession, UnityARUserAnchorData anchorData);
Esempio n. 14
0
 public UnityARUserAnchorData AddUserAnchorFromGameObject(GameObject go)
 {
     return(AddUserAnchor(UnityARUserAnchorData.UnityARUserAnchorDataFromGameObject(go)));
 }
Esempio n. 15
0
 public UnityARUserAnchorData AddUserAnchor(UnityARUserAnchorData anchorData)
 {
     return(SessionAddUserAnchor(m_NativeARSession, anchorData));
 }