/// <summary> /// Set the script function to callback once prediction is run on each frame. /// </summary> /// <param name="name">The name of the callback function on the object target.</param> public static void SetCallbackFunctionTarget(string name) { #if UNITY_IOS FritziOSPoseManager.SetCallbackFunctionTarget(name); #elif UNITY_ANDROID FritzAndroidPoseManager.SetCallbackFunctionTarget(name); #endif }
/// <summary> /// Set the max number of poses to detect. /// </summary> /// <param name="numPoses">The number of poses</param> public static void SetNumPoses(int numPoses) { #if UNITY_IOS FritziOSPoseManager.SetNumPoses(numPoses); #elif UNITY_ANDROID FritzAndroidPoseManager.SetNumPoses(numPoses); #endif }
/// <summary> /// Configure the Fritz project. Should be called first. /// </summary> public static void Configure() { #if UNITY_IOS FritziOSPoseManager.Configure(); #elif UNITY_ANDROID FritzAndroidPoseManager.Configure(); #endif }
/// <summary> /// Checks to see if a frame is being processed. /// </summary> /// <returns>true/false if the model is currently processing</returns> public static bool Processing() { #if UNITY_IOS return(FritziOSPoseManager.Processing()); #elif UNITY_ANDROID return(FritzAndroidPoseManager.Processing()); #endif return(false); }
/// <summary> /// (iOS only) Run pose estimation on an XRCamera Frame (async) /// </summary> /// <param name="frame">The camera frame to run prediction on</param> public static void ProcessPoseFromFrameAsync(XRCameraFrame frame) { IntPtr buffer = frame.nativePtr; if (buffer == IntPtr.Zero) { Debug.LogError("buffer is NULL!"); return; } FritziOSPoseManager.ProcessPoseAsync(buffer); }
/// <summary> /// (iOS only) Run pose estimation on an XRCamera Frame (synchronized) /// </summary> /// <param name="frame">The camera frame to run prediction on</param> public static List <FritzPose> ProcessPoseFromFrame(XRCameraFrame frame) { IntPtr buffer = frame.nativePtr; if (buffer == IntPtr.Zero) { Debug.LogError("buffer is NULL!"); return(null); } string message = FritziOSPoseManager.ProcessPose(buffer); return(ProcessEncodedPoses(message)); }