Search Unity

XR input system for VR with Native/VRTK v4 gripes

Discussion in 'AR/VR (XR) Discussion' started by ROBYER1, Jul 31, 2019.

  1. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    278
    Hopefully this feedback is of use and any suggestions would be welcomed, we are getting stuck with specific controller issues with every new device we test our application on, as well as issues with setting up a VR project with Unity first time everytime we start a new project.

    1. Difference in inputs between controllers with/without touch pad - like the Windows mixed reality controllers have touch pad and analog sticks whereas the vive controllers have touchpads only which lead to issues with our teleportation/movement mechanisms as WMR controls usually rely on you snapping the analog stick forward to see the teleportation arc then you let go of the analog stick so it snaps back and you teleport.

    2. With WMR and Quest analog sticks, they are very sensitive to input, VRTK v4 teleportation by default has a rotational ability where once you have held the stick forward, you can rotate the way to face once teleported before letting the analog stick snap back to default position by letting go of it. The issue with the Quest is the analog stick snaps back and slightly moves over to the opposite side so you often end up facing 180 degrees off your intended direction(!). Further to this, the WMR analog sticks are just as sensitive and prone to this also. We are thinking of just removing VRTK v4 and writing something custom or adding a deadzone to all analog stick input vectors.

    3. Sometimes the tracked pose driver for left and right controllers just picks up the left and right controller by default when left as a 'Generic XR' device with the Vive, on some other headsets like the Quest or WMR Lenovo Explorer, it often assigns both devices to be the left controller, or none at all so nothing works. The workaround for this seems to be to set both left and right trackables to be the Left and right hand control devices respectively.

    4. When we used to start unity projects, a 'VR LWRP' preset existed with a nice little VR setup, in 2019 that seems to be gone - will this be replaced by some sort of VR template? Unreal Engine has an easy VR setup with some very basic preset teleportation and analog stick free move defaults which would be very handy to have for quick set up of VR projects. Whereas any time we make a new project we start from scratch, have to use something like VRTK or other community made solutions that could have support or documentation dropped/unfinished (like VRTK v4)
     
    newguy123 likes this.
  2. andybak

    andybak

    Joined:
    Jan 14, 2017
    Posts:
    161
    It might be the fact that I've always had a roomscale set up so I've always assumed people turn in VR by actually turning around - but I've always hated this feature. Does one get used to it with sufficient practice? I find it fairly hard to do and unintuitive.

    I suspect it's bad UX - especially in situations where someone is new to VR controls - or new to this particular input "feature".
     
    ROBYER1 likes this.
  3. Matt_D_work

    Matt_D_work

    Unity Technologies

    Joined:
    Nov 30, 2016
    Posts:
    57
    if I'm understanding you correctly, the problem is determining which input type is in use?
    we're hoping that we can leverage the new input system for these kinds of features. (eg: treating a touchpad like a joystick)

    good to note however.

    i'd be watching for a significantly large motion vector towards the origin as the trigger, rather than a return to some deadzone center. not sure how vrtk4 are doing their input however.

    I'm not sure im following here. The TPD should correctly determine left/right hand assignments as long as you're using the 'Generic XR Controller' selection. you should also be able to query which device is attached to what using https://docs.unity3d.com/Manual/xr_input.html#AccessingInputDevices

    If things arent working correct when setup that way, please raise a bug!

    Thanks for the feedback. this is something we're looking into.
     
  4. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    278
    The response is appreciated, we are in the process of evaluating how we set up our project which may involve removing VRTK and writing some parts ourselves.

    I will submit a bug report for the TPD not recognizing left/right controllers as it happens with both the Lenovo explorer WMR controllers and on the Quest.

    Looking forward to any news about VR project presets with Unity or even a template/asset store VR example pack like Unity did for the GearVR!
     
  5. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    278
    As a personal preference, I prefer free-locomotion controls with analog sticks. However with teleporting, I would usually assign the left analog stick to be the teleport caster, and the right stick to be a snap or smooth turning mechanism. Haven't figured out how to do this with VRTK v4 and not sure I can be bothered to figure out how to.. going to write it myself in C#