Search Unity

Bug Oculus Touch controller positions incorrect through OpenXR after latest SteamVR update

Discussion in 'VR' started by emrys90, Jun 4, 2021.

  1. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    I don't know who would be responsible for fixing this (Unity, Valve, Khronos, etc), but after the latest SteamVR update the controller orientation is incorrect when playing through OpenXR. It appears to be off by around 40 degrees or so maybe.
     
    BaaWolf likes this.
  2. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    I know valve was working on a bug that caused the
    aim
    and
    grip
    poses to be the same when using SteamVR. I will check this locally and see what I see.
     
  3. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    Thanks! I believe this bug happens with the HP Reverb G2 controllers as well on SteamVR for OpenXR. Vive and Index controllers are correct, as well as Oculus Touch controllers when Oculus is the OpenXR provider.
     
  4. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    Using latest beta of SteamVR runtime when I run the controller sample I still only see one pose and it is the grip pose, but it looks like it is rotated to the left by quite a bit.

    This is the controller on the Oculus, which has both grip and aim axis felt aligned.
    upload_2021-6-8_12-30-45.png

    This is the controller on STeamVR, held in same position relative to the headset

    upload_2021-6-8_12-31-40.png

    The Aim pose is not there and it seems to be quite off. Just looking at it in the headset feels off. Is this what you are seeing? I will report this to valve right now though.
     
  5. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    So what I see on my end is the aim pose is off by about 35 degrees on the x axis, and the grip pose is off by around 0.0762 meters in the z axis. I'm not on the beta though, so it might be different there than what I have.
     
  6. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    I am seeing this as well and have reported it to valve. I checked the non-beta version of SteamVR and it seems to not be an issue there, though in both cases there is still only one axis when there should be two.
     
  7. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    The issue I mentioned above about 35 degrees and z position being incorrect are on the non-beta version. Maybe its because I am trying to use the grip and aim positions for hand position and rotation?
     
  8. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    Well the grip and aim are the same when using SteamVR, that is something they are aware of. If you run again the Oculus runtime you will see there are two different poses. Have you tried the beta version?
     
  9. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    Also are you sure this isnt with the beta stream? I see exactly what you are saying with SteamVR beta 1.17.15 but not on the non-beta version.
     
  10. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    They aren't the same when ran through SteamVR OpenXR for me. I do get two different values, one reflecting a position and another reflecting a rotation. The values just do not match what they should be.

    I'm on SteamVR version 1.17.12.
     
  11. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
  12. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    Yeah I'm on 1.17.12, updated my message above. Was looking at release notes, but then I ran it and saw the actual version instead.
     
  13. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    I can move my hands around in game and the position and rotation are different, it registers both. My issue is that the rotation and position are both off compared to what is expected.
     
  14. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    When I run my test against 1.17.12 things look ok to me for my test, but when I run it against 1.17.15 things are off by about 30-40 degrees. So I am seeing the issue you are seeing, but am not seeing it in the same situation which is weird.
     
  15. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    Yep that is quite strange. I'm definitely not on the beta though
    upload_2021-6-8_16-40-20.png

    My positions used to be closer to correct though, before an update to SteamVR. I don't recall what version that was though. As far as I am aware, this affects Oculus controllers when ran through OpenXR for SteamVR. I am testing on an Oculus Quest 1 through Oculus Link, so it could also be related to that.
     
  16. the_real_apoxol

    the_real_apoxol

    Unity Technologies

    Joined:
    Dec 18, 2020
    Posts:
    467
    I am using an oculus 2 on link myself for this test. I dont have a G2 I can try though, would need to get another co-worker to try that. I could try the Samsung odyssey though to see if it is a general WinMR related issue.
     
  17. emrys90

    emrys90

    Joined:
    Oct 14, 2013
    Posts:
    755
    Okay, thanks.
     
  18. jackpr

    jackpr

    Unity Technologies

    Joined:
    Jan 18, 2018
    Posts:
    50
    Hello emrys90,

    This appears to be a runtime issue. If you engage with Valve directly through the SteamVR forums you may find some better answers. We at Unity do not have the ability to modify the SteamVR code.

    As far as experience with this goes, here is what I see:

    unity editor 2020.3.11f1
    openxr 1.2.2
    steamvr beta 1.17.16
    Oculus App Version 30.0.0.27.502 (30.0.0.27.502)

    With Oculus+SteamVR
    Both the aim and grip pose appear at an odd position as shown in the attached photos.

    Oculus Runtime Only
    There are 2 distinct poses and they appear in more reasonable feeling positions.

    Whether I set my SteamVR runtime to be on the beta track or not, I see the version reported as 1.17.16. I observe the same pose positions for both beta and not beta.

    oculus-controller-front.jpg oculus-controller-side.jpg
     
  19. jackpr

    jackpr

    Unity Technologies

    Joined:
    Jan 18, 2018
    Posts:
    50
    As for the Oculus Touch poses when using the Oculus runtime, I think those are OpenXR spec compliant. The grip pose is in line with the physical controller handle, and the aim pose is also in general alignment with the handle.

    The grip and aim poses are provided by the Oculus runtime. The way the OpenXR spec works, we at Unity have no way to know which physical controller is actually connected.

    I'm afraid that you may need to discuss this on the Oculus forums. We will see what discussion we can have with Oculus on our end, but ultimately how to define those poses is the choice of the runtime.

    One workaround I can suggest is this: your app can have settings to allow a user to manually set hand/controller offsets in position and rotation.
     
  20. unitydreamer29

    unitydreamer29

    Joined:
    Dec 27, 2020
    Posts:
    47
    Just checked the offset/rotation issue with Oculus controller + SteamVR OpenXR runtime on SteamVR Beta 1.18.1, and issue is still present. Hope they can fix it soon.
     
  21. jackpr

    jackpr

    Unity Technologies

    Joined:
    Jan 18, 2018
    Posts:
    50
    We have been in contact with the SteamVR team. They are working on getting new poses pushed out right now.
     
  22. rahul_noob

    rahul_noob

    Joined:
    Oct 3, 2017
    Posts:
    26
    Hello,

    I am using OpenXR 1.2.8 and added Oculus touch profile to the OpenXR settings under XR Plugin Management also I enabled the Oculus Quest support on that. The build works, but the controller alignment feels extremely weird. There seems to be a tilt offset between virtual and real hands of around 45-90°. It's now very difficult to grab/pinch things and to select UI buttons. For example, in order to teleport, you now have to tilt your hand down in an awkward way which feels quite uncomfortable.

    Are there any solution on this issue?
     
    ConorHigginsFC, fsycdt and andyman404 like this.