Unity
MixedReality
WinMR

WindowsMixedRealityモーションコントローラーの左右識別

WinMRモーションコントローラーのトリガー押下時に、左右の識別で詰まったのでメモします。

現状、トリガー入力をハンドルするIInputClickHandlerのInputClickedEventDataでは、コントローラーの左右の情報が取れない?(ちゃんと調べてない)ので、gestureRecognizerを使うとうまくできました。サンプルコードは以下。

    private void Awake()

{
//InputClickedEventDataではどちらのコントローラーが押されたかを識別できないのでGestureRecognizerを使う
gestureRecognizer = new GestureRecognizer();
gestureRecognizer.Tapped += GestureRecognizer_Tapped;

gestureRecognizer.StartCapturingGestures();
}

public void GestureRecognizer_Tapped(TappedEventArgs obj)
{
if(obj.source.handedness == InteractionSourceHandedness.Left)
{
Debug.Log("left Trigger");
}

else if (obj.source.handedness == InteractionSourceHandedness.Right)
{
Debug.Log("right Trigger");

}
}