Unisex Bathrobe Posted March 18, 2024 Posted March 18, 2024 Problem: XRInputModalityManager (on the XRIT rig) cannot distinguish between Vive HandTracking and Vive Controllers; hands are deemed to be Controllers. Starting with either Hands or Controller, InputModalityManager raises a "Controller Started" event, and no amount of input switching causes any additional events to fire, including "Controller Exited". What happens: Tracked hands are rendered and treated as Controllers by XRIT. Pinch acts as Trigger, but the model (and therefor the ray origin) appear to be anchored behind the wrist joint. What I expect: Putting the controllers down should switch the input modality to Hands, wherein hands should render over tracked hand poses, and the Hand Interaction profile is used for interactions. Picking up the controllers should render controller models over tracked devices, and use the Controller Interaction profile for interactions. My project prioritizes hardware flexibility over robustness, so I must find a solution to this using only OpenXR features and XRIT. The steps to replicate are as follows: Open a new Unity project in 2022.3+ using the 3D core template. Remove all packages, and import latest versions of the following: Universal Render Pipeline OpenXR plugin XR Plugin Management XR Interaction Toolkit (and Samples) XR Hands (and Samples) Vive OpenXR Plugin (com.htc.upm.vive.openxr) Switch build platform to Windows Fix all problems in Project Settings > XR Plugin Management > Project Validation Add HTC Vive Controller Profile & VIVE XR Hand Interaction to XR Plugin Management > OpenXR > Interaction Profiles Add VIVE XR Hand Tracking to XR Plugin Management > OpenXR > Feature Groups Open and Play Assets/Samples/XR Interaction Toolkit/2.5.3/Hands Interaction Demo/HandsDemoScene.unity Optional: Create a small script that logs a message to the console that can be targeted by the UnityEvents of InputModalityManager Observe the aforementioned issues In order to test the scene on the XR Elite, I have allowed USB debugging, started VIVE Business Streaming, and am running SteamVR Home before hitting the play button. I am hopeful that the answer is obvious and I'm missing something silly, as I have been developing with this device for all but 12 hours now. Nevertheless, this behavior has me pulling my hair out. Any information or resources to point me in the right direction is greatly appreciated.
VIVE_chengnay Posted April 11, 2024 Posted April 11, 2024 Hi @Unisex Bathrobe, I think this explains current status of VBS. Sorry for the inconvenience.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now