Problems trying to access hand pinch and aim transforms using input actions

Give us as much detail as possible regarding the issue you're experiencing:

I am trying to use tracked hand positions to drive my XRi toolkit interactors, as per other platforms. I set up the following test -

  • I added four cubes to the 'Hands' test scene in the latest Magic Leap samples project, and added a 'Tracked Pose Driver (Input System)' component to each. I wanted one each to track the left and right hands' pinch and aim transforms, which on other platforms are used for aiming and grabbing.
  • Since the 'Tracked Pose Driver' component expects separate position and rotation inputs, but the ML pose and pinch actions in 'MagicLeapInput.inputactions' are configured as 'pose' type, I added separate position and rotation actions to the left and right hand pinch and aim actions, as per the image -
  • Then I assigned the new input actions to each cube's Tracked Pose Driver, as per the image (right aim transform shown only) -

After deploying and running the app on device, I expect to see coloured cubes tracking the pinch and aim transforms of each hand. Instead, I can see the cubes tracking a maximum of one hand, with only the pinch transform tracking position and rotation, and the aim transform only tracking position. I also see a lot of errors in the log, and after a few seconds the cubes stop tracking altogether. It is unclear to me what is happening but it's not what I am expecting.

Unity Editor version: 2022.3.30f1
ML2 OS version: 1.7.0
Unity SDK version: 0.22.0
Host OS: (Windows/MacOS) MacOS

Sorry to hear that you are running into that issue. You may want to reference our XRI Hand Interaction guide : XRI Hand Interaction Demo | MagicLeap Developer Documentation

The guide walks you through setting up the XRI Hands Interaction Demo for Magic Leap 2. This demo uses both the pointer position/rotation and pinch position rotation for its interaction logic.


Based off of your description, I recommend verifying that the input actions are pointing to the following paths and that the assets was saved.

Left:

  • AimPosition:<HandInteraction>{LeftHand}/pointerPosition
  • AimRotation:<HandInteraction>{LeftHand}/pointerRotation
  • Pinch Position: <XRHandDevice>{LeftHand}/pinchPosition or <HandInteraction>{LeftHand}/pinchPose/position

Right

  • AimPosition:<HandInteraction>{RightHand}/pointerPosition
  • AimRotation:<HandInteraction>{RightHand}/pointerRotation
  • Pinch Position: <XRHandDevice>{RightHand}/pinchPosition or <HandInteraction>{RightHand}/pinchPose/position

Thanks - I was able to get the inputs working using the input actions you specified. I was able to get hand interactions working using XRi Toolkit 3.0.3, including the 'NearFar' interactor.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.