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.
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.
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.
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.
This is the controller on STeamVR, held in same position relative to the headset
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.
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.
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.
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?
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?
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.
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.
1.17.12 is the non-beta, 1.17.15 is beta and was released yesterday
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.
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.
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.
Yep that is quite strange. I’m definitely not on the beta though
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.
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.
Okay, thanks.
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.
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.
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.