private void OnDestroy() { //turn off hand tracking: if (MLHandTracking.IsStarted) { MLHandTracking.Stop(); } }
/// <summary> /// Stops MLHandTracking if it has been started. /// </summary> public static void Stop() { #if PLATFORM_LUMIN if (MLHandTracking.IsStarted) { MLHandTracking.Stop(); } #endif }
private void StopMLInput() { RemoveAllHandDevices(); //turn off hand tracking: if (MLHandTracking.IsStarted) { MLHandTracking.Stop(); } IsReady = false; }
private void Start() { MLHandTracking.Start(); _gestures = new MLHandTracking.HandKeyPose[5]; _gestures[0] = MLHandTracking.HandKeyPose.Ok; _gestures[1] = MLHandTracking.HandKeyPose.Finger; _gestures[2] = MLHandTracking.HandKeyPose.OpenHand; _gestures[3] = MLHandTracking.HandKeyPose.Fist; _gestures[4] = MLHandTracking.HandKeyPose.Thumb; MLHandTracking.KeyPoseManager.EnableKeyPoses(_gestures, true, false); pos = new Vector3[3]; }
private MLHandTracking.HandKeyPose[] gestures; // Holds the different hand poses we will look for. void Awake() { PNConfiguration pnConfiguration = new PNConfiguration(); pnConfiguration.PublishKey = "pub-c-270dafe4-6c23-47e4-b9eb-62d9590a9846"; pnConfiguration.SubscribeKey = "sub-c-2e822568-1d76-11eb-8a07-eaf684f78515"; pnConfiguration.Secure = true; pubnub = new PubNub(pnConfiguration); MLHandTracking.Start(); // Start the hand tracking. gestures = new MLHandTracking.HandKeyPose[3]; //Assign the gestures we will look for. gestures[0] = MLHandTracking.HandKeyPose.Fist; gestures[1] = MLHandTracking.HandKeyPose.Thumb; gestures[2] = MLHandTracking.HandKeyPose.Finger; MLHandTracking.KeyPoseManager.EnableKeyPoses(gestures, true, false); // Enable the hand poses. }
// Start is called before the first frame update void Start() { MLHandTracking.Start(); // Start the hand tracking. m_gestures = new MLHandTracking.HandKeyPose[7]; //Assign the gestures we will look for. m_gestures[0] = MLHandTracking.HandKeyPose.Fist; m_gestures[1] = MLHandTracking.HandKeyPose.Thumb; m_gestures[2] = MLHandTracking.HandKeyPose.Finger; m_gestures[3] = MLHandTracking.HandKeyPose.OpenHand; m_gestures[4] = MLHandTracking.HandKeyPose.Ok; m_gestures[5] = MLHandTracking.HandKeyPose.NoPose; m_gestures[6] = MLHandTracking.HandKeyPose.NoHand; MLHandTracking.KeyPoseManager.EnableKeyPoses(m_gestures, true, false); // Enable the hand poses. EnableRaycast(_raycastHead); }
private bool StartMLInput() { if (!MLHandTracking.IsStarted) { if (!MLHandTracking.Start().IsOk) { Debug.LogError("Failed to initialize ML Hand Tracking"); } else { MLHandTracking.KeyPoseManager.SetKeyPointsFilterLevel(MLHandTracking.KeyPointFilterLevel.Smoothed); MLHandTracking.KeyPoseManager.EnableKeyPoses(supportedGestures, true, false); } return(false); } else { return(true); } }
/// <summary> /// Starts up MLHandTracking. /// </summary> /// <param name="initializeValues">Bool that determines if MLHandTracking should automatically run with all poses and high filter levels.</param> public static MLResult Start(bool initializeValues = false) { #if PLATFORM_LUMIN MLResult _result = MLHandTracking.Start(); if (!_result.IsOk) { Debug.LogErrorFormat("Error: MLHandTrackingStarterKit failed starting MLHandTracking. Reason: {0}", _result); } if (initializeValues) { bool success = false; success = EnableKeyPoses(); if (!success) { MLHandTracking.Stop(); _result = MLResult.Create(MLResult.Code.UnspecifiedFailure, "MLHandTrackingStarterKit failed to start correctly because MLHandTrackingStarterKit.EnablePoses failed because MLHandTracking.KeyPoseManager.EnableKeyPoses failed."); } success = SetKeyPointsFilterLevel(MLHandTracking.KeyPointFilterLevel.ExtraSmoothed); if (!success) { MLHandTracking.Stop(); _result = MLResult.Create(MLResult.Code.UnspecifiedFailure, "MLHandTrackingStarterKit failed to start correctly because MLHandTrackingStarterKit.SetKeyPointsFilterLevel failed because MLHandTracking.KeyPoseManager.SetKeyPointsFilterLevel failed."); } success = SetPoseFilterLevel(MLHandTracking.PoseFilterLevel.ExtraRobust); if (!success) { MLHandTracking.Stop(); _result = MLResult.Create(MLResult.Code.UnspecifiedFailure, "MLHandTrackingStarterKit failed to start correctly because MLHandTrackingStarterKit.SetPoseFilterLevel failed because MLHandTracking.KeyPoseManager.SetPoseFilterLevel failed."); } } return(_result); #else return(new MLResult()); #endif }
//Init: private void Start() { //turn on inputs: if (!MLHandTracking.IsStarted) { if (!MLHandTracking.Start().IsOk) { enabled = false; } else { MLHandTracking.KeyPoseManager.SetKeyPointsFilterLevel(MLHandTracking.KeyPointFilterLevel.Smoothed); } } //setup hand tracking: List <MLHandTracking.HandKeyPose> handPoses = new List <MLHandTracking.HandKeyPose>(); handPoses.Add(MLHandTracking.HandKeyPose.Finger); handPoses.Add(MLHandTracking.HandKeyPose.Pinch); handPoses.Add(MLHandTracking.HandKeyPose.Fist); handPoses.Add(MLHandTracking.HandKeyPose.Thumb); handPoses.Add(MLHandTracking.HandKeyPose.L); handPoses.Add(MLHandTracking.HandKeyPose.OpenHand); handPoses.Add(MLHandTracking.HandKeyPose.Ok); handPoses.Add(MLHandTracking.HandKeyPose.C); handPoses.Add(MLHandTracking.HandKeyPose.NoPose); MLHandTracking.KeyPoseManager.EnableKeyPoses(handPoses.ToArray(), true, false); _right = new ManagedHand(MLHandTracking.Right, this); _left = new ManagedHand(MLHandTracking.Left, this); //ready: Ready = true; OnReady?.Invoke(); }
private void OnDestroy() { MLHandTracking.Stop(); }