Forum Discussion
petra.oneil.37
2 years agoHonored Guest
Unity + OpenXR + OVRSpatialAnchor + Passthrough = Wobbly models
Previously we were using the Oculus XR Plugin with OVRSpatialAnchors and passthrough and all was working as intended. We needed to switch from the Oculus XR Plugin to OpenXR (for a separate package) and managed to get everything working except for when we put an OVRSpatialAnchor on a model with passthrough active, the model appears to be very wobbly compared to it's intended stable state. Once the spatial anchor has been removed off the model it appears much more stable but obviously doesn't have the other characteristics of having a spatial anchor that we need.
Does anyone know how to fix this? I saw this post with a similar issue and I updated the AndroidManifest.xml via the Oculus tools menu but that did not seem to fix it.
Potentially relevant details:
- Unity 2020.3.36
- MRTK v2.7.2
- OpenXR plugin v1.5.3
- Oculus XR plugin v1.12.0
- Oculus Integration v53.1
- Minimum Android API Level: Android 10 (API level 29)
- OpenXR settings:
- Render mode: Single Pass Instanced/Multi-view
- Depth Submission Mode: Depth 16 Bit
- Interaction Profiles: Oculus Touch Controller Profile
- OpenXR Feature Groups:
- Hand Tracking
- MetaXR Feature
- Oculus Quest Support
I have tried turning off passthrough and saw that the models became stable again but that is not acceptable. I tried updating the AndroidManifest.xml as stated in the linked post but that did not change anything. My code hasn't changed going from the Oculus XR Plugin to the OpenXR Plugin but it can be summed up to just adding the OVRSpatialAnchor component:
model.AddComponent<OVRSpatialAnchor>();
2 Replies
- petra.oneil.37Honored Guest
I built a minimal project with the least amount of things needed to get this to reproduce. To reproduce it I just need to have a GameObject with the OVRManager script and Anchor Support enabled. Once I remove the OVRManager script the wobblyness goes away (and I'm assuming the functionality of the OVRSpatialAnchor's). Therefore passthrough is not the cause of the wobblyness.
- Unity 2020.3.36
- OpenXR plugin v1.5.3
- Oculus XR plugin v1.12.1
- Oculus Integration v53.1
- XR Plugin Management v4.3.3
- XR Interaction Toolkit v2.3.2 (This was to get the controllers working without MRTK, just in case it was a MRTK issue)
- Minimum Android API Level Android 10 (API level 29)
- OpenXR settings
- Render mode: Single Pass Instanced/Multi-view
- Depth Submission Mode: Depth 16 Bit
- Interaction Profiles: Oculus Touch Controller Profile
- OpenXR Feature Groups:
- MetaXR Feature
- Oculus Quest Support
- EudenOneExplorer
EDIT: SOLVED in my case
It's related to Unity Tracked Pose Driver (Used in XRI); set its update type to Before Render, that's it, no more jiggling or wobbling.
Also another possible thing, disable Meta Quest Support in OpenXR (that's all handled by OVR Manager if you have one, I have mine in XR Rig that has XR Origin component)
Tested on SDK 76, Unity 6.0.45, URP, OpenXR 1.14.3, Passthrough and spatial anchors.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 month ago
- 1 year ago