Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Question Teleportation with MRTK3 and hand tracking?

Discussion in 'XR Interaction Toolkit and Input' started by CWatsonT2, Oct 18, 2022.

  1. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    114
    I can't find any information about how to make this work. MRTK2 had built in hand tracking where you pointed with your palm facing up and closed your index finger to teleport. But they seem to have removed that functionality in MRTK3 and now teleportation is handled by XR Interaction Toolkit. If I add the teleportation provider, locomotion system and teleportation area as described in the XR interaction toolkit its a worse implementation of pointing with the palm and pinching to teleport. It kinda works except when I teleport it puts the head position at ground level which breaks it. Is there a way to get back to the superior pointing version or to at least make the teleport take into account the head position?
     
  2. keveleigh

    keveleigh

    Official Microsoft Employee

    Joined:
    Jun 19, 2015
    Posts:
    35
    Thanks for the questions and reports!
    The next preview of MRTK3 (3.0.0-pre.12) should fix the "head position at ground level" issue, as we've adapted the rig to enforce a 1.6m offset from the rig root on devices that don't support a floor-space origin mode. Teleportation should now maintain that offset, instead of the current behavior which starts your camera at the rig root, which then gets moved to the teleportation spot (along with your head...).
    The teleportation gesture is definitely a gap in MRTK3 right now and something we'll need to investigate.
     
    bjornsyse likes this.
  3. bjornsyse

    bjornsyse

    Joined:
    Mar 28, 2017
    Posts:
    92
    I'm also trying to Teleport and I can do it via the regular Hand ray + pinch. However, as soon as I move the XR origin (MRTK XR Rig GameObject in this case) my hands go all wobbly and hand rays don't come out from the hands anymore.

    Same goes if I start the app with the `MRTK XR Rig` at a position that is not 0,0,0.

    What's going on there?
     
    Last edited: Oct 19, 2022
  4. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    114
    That is exactly what I get too.
     
    bjornsyse likes this.
  5. bjornsyse

    bjornsyse

    Joined:
    Mar 28, 2017
    Posts:
    92
    Oh ok, good to hear I'm not alone there. I was confused because this was my first go at MRTK and I never tried MRTK2 so wasn't sure what to expect. But I assume there ought to be some way to reposition the actual XR Rig :)

    I also tried placing it under a parent and move that one, or move the rig within the parent but the same thing happened.
     
  6. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    114
    I changed the Tracking Origin Mode on the MRTK XR Rig to Floor and now I don't end up at floor level when I teleport but the hands break as soon as I move the MRTK XR Rig. The position the hands are tracked from seems to stay at the origin because I can see the raycasts happening from there. The hand models begin flashing like they are bouncing back and forth from the origin as well.
     
  7. keveleigh

    keveleigh

    Official Microsoft Employee

    Joined:
    Jun 19, 2015
    Posts:
    35
    We did some work in the 3.0.0-preview.12 release (released yesterday!) to align and improve our logic around the rig moving and the various pieces of data that need to report themselves relative to the rig. I'll run some additional tests as well and see if I can repro.
     
    bjornsyse likes this.
  8. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    114
    I'm using the MRTK3 demo project on github (found at https://github.com/microsoft/MixedRealityToolkit-Unity/tree/mrtk3). I used the Mixed Reality Feature Tool to update the entire MRTK3 folder and now teleportation is working. Thank you so much! For the future it would still be nice to have the same functionality as MRTK2 with the palm up pointing. That way the user isn't accidently teleporting when they are actually trying to grab something and missing. But this gets me working again and I really appreciate your help.
     
    bjornsyse likes this.
  9. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    114
    I did come across one issue still. If I put a reticle in the teleport area component it gets positioned at the hand instead of the teleport location. I'd like a larger reticle for teleportation since the default one for grabbing is very small and hard to see on the ground. What would be the best way to set this up?
     
  10. bjornsyse

    bjornsyse

    Joined:
    Mar 28, 2017
    Posts:
    92
    Anyone has any good ideas on how to implement Snap rotation to go with teleportation using hand tracking. What would be a suitable gesture or way?

    I'm talking about the snap turn provider that it.
     
    Last edited: Nov 2, 2022