public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
        {
#if !UNITY_EDITOR && UNITY_IOS
            StartFaceTrackingSessionWithOptions(m_NativeARSession, config, runOptions);
#elif UNITY_EDITOR
            CreateRemoteFaceTrackingConnection(config, runOptions);
#endif
        }
        private static void CreateRemoteFaceTrackingConnection(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
        {
            GameObject go = new GameObject("ARKitFaceTrackingRemoteConnection");
            ARKitFaceTrackingRemoteConnection addComp = go.AddComponent <ARKitFaceTrackingRemoteConnection>();

            addComp.enableLightEstimation = config.enableLightEstimation;
            addComp.resetTracking         = (runOptions & UnityARSessionRunOption.ARSessionRunOptionResetTracking) != 0;
            addComp.removeExistingAnchors = (runOptions & UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors) != 0;
        }
        public void RunWithConfig(ARKitFaceTrackingConfiguration config)
        {
#if !UNITY_EDITOR && UNITY_IOS
            StartFaceTrackingSession(m_NativeARSession, config);
#elif UNITY_EDITOR
            UnityARSessionRunOption runOptions = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
            CreateRemoteFaceTrackingConnection(config, runOptions);
#endif
        }
Exemplo n.º 4
0
        void InitializeARKitFaceTracking(serializableARKitInit sai)
        {
#if !UNITY_EDITOR
            //get the config and runoption from editor and use them to initialize arkit for facetracking on device
            Application.targetFrameRate = 60;
            m_session = UnityARSessionNativeInterface.GetARSessionNativeInterface();
            ARKitFaceTrackingConfiguration config     = sai.config;
            UnityARSessionRunOption        runOptions = sai.runOption;
            m_session.RunWithConfigAndOptions(config, runOptions);
            UnityARSessionNativeInterface.ARFrameUpdatedEvent      += ARFrameUpdated;
            UnityARSessionNativeInterface.ARFaceAnchorAddedEvent   += ARFaceAnchorAdded;
            UnityARSessionNativeInterface.ARFaceAnchorUpdatedEvent += ARFaceAnchorUpdated;
            UnityARSessionNativeInterface.ARFaceAnchorRemovedEvent += ARFaceAnchorRemoved;
#endif
        }
 private static extern void StartFaceTrackingSessionWithOptions(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration, UnityARSessionRunOption runOptions);
 private static extern void StartFaceTrackingSession(IntPtr nativeSession, ARKitFaceTrackingConfiguration configuration);
 public void RunWithConfig(ARKitFaceTrackingConfiguration config)
 {
                 #if !UNITY_EDITOR
     StartFaceTrackingSession(m_NativeARSession, config);
                 #endif
 }
 public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
 {
                 #if !UNITY_EDITOR
     StartFaceTrackingSessionWithOptions(m_NativeARSession, config, runOptions);
                 #endif
 }
Exemplo n.º 9
0
 public void RunWithConfig(ARKitFaceTrackingConfiguration config)
 {
     StartFaceTrackingSession(m_NativeARSession, config);
 }
Exemplo n.º 10
0
 public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions)
 {
     StartFaceTrackingSessionWithOptions(m_NativeARSession, config, runOptions);
 }