Unity GestureRecognizer ManipulationStarted and -updated are not working

Please look at the code below, if I use this structure for Tap, Hold and Navigation, it works as expected. But Manipulation does not even get called. I looked at Holokit but I could not understand how holoKit is firing them. I also do not want to import this heavy Holokit on my simple, light project. I am really thankful, anybody can tell me how I can use Gesture Recognizer Manipulation delegate.

using UnityEngine;
 using UnityEngine.UI;
 using UnityEngine.XR.WSA.Input;

 namespace Assets.Scripts
 {
     public class GestureRecognizerManager : MonoBehaviour
     {
         private GestureRecognizer _recognizer;

         private void Awake()
         {
             _recognizer = new GestureRecognizer();

             _recognizer.ManipulationStarted += RecognizerOnManipulationStarted;
             _recognizer.ManipulationUpdated += RecognizerOnManipulationUpdated;

             _recognizer.StartCapturingGestures();
         }

         private void RecognizerOnManipulationUpdated(ManipulationUpdatedEventArgs obj)
         {
             Debug.Log("D");
         }

         private void RecognizerOnManipulationStarted(ManipulationStartedEventArgs obj)
         {
             Debug.Log("K");
         }        

         private void OnApplicationQuit()
         {
             _recognizer.ManipulationStarted -= RecognizerOnManipulationStarted;
             _recognizer.ManipulationUpdated -= RecognizerOnManipulationUpdated;

             _recognizer.StopCapturingGestures();
             _recognizer.Dispose();            
         }
     }
 }

Answers

  • edited October 2018

    Ok, it works by this line of code in initialization stage:

    _recognizer.SetRecognizableGestures(GestureSettings.ManipulationTranslate);

Sign In or Register to comment.