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 }
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 }
public void RunWithConfig(ARKitFaceTrackingConfiguration config) { StartFaceTrackingSession(m_NativeARSession, config); }
public void RunWithConfigAndOptions(ARKitFaceTrackingConfiguration config, UnityARSessionRunOption runOptions) { StartFaceTrackingSessionWithOptions(m_NativeARSession, config, runOptions); }