Faryal Posted October 11, 2023 Posted October 11, 2023 Hello, We've been exploring different interaction SDKs for our multiplatform app. Currently, we use separate SDKs for different headsets, but now we're looking to unify and support all headsets with a single interaction SDK. After researching, we've chosen the XRI Toolkit and XR Hands with OpenXR as our foundation. While the Hands demo scene in the XRI Toolkit works perfectly on Oculus devices, we've encountered issues on VIVE Focus 3 headsets. Hand gestures, ray interaction, and direct touch functionalities are not functioning as expected. On the VIVE Focus 3, I can only visualize my hands (with minor deformations in the skinned mesh). I'm interested to know if there are plans to make VIVE headsets fully compatible with the XRI Toolkit and XR Hands? Additionally, I'm wondering if there's a way to run a direct preview using OpenXR without enabling WaveXR from the plugin provider. Enabling WaveXR isn't ideal for our debugging purposes, as we want to address issues using the OpenXR backend directly? Any insights or guidance on these matters would be greatly appreciated. Thank you.
VIVE_chengnay Posted October 11, 2023 Posted October 11, 2023 Hi @Faryal, To answer your questions, #1: Did you try import below feature? #2: It is working in progress, may release when it is done.
Faryal Posted October 11, 2023 Author Posted October 11, 2023 Hey @VIVE_chengnay No, I haven't tried it yet. I'll give it a shot and keep you posted on how it goes. sounds good! Your quick response is greatly appreciated. Thank you!
Ryan Chapman Posted May 1, 2024 Posted May 1, 2024 Just want to cycle back here: is the Unity XR Hands package supported by Vive Elite? If so, what plugin(s) are required? I have only installed "VIVE OpenXR Plugin 2.2.0" so far, but from the above comment it looks like XR Hands needs some of the Wave XR plugins as well? A brief how-to would really help here.
VIVE_chengnay Posted May 2, 2024 Posted May 2, 2024 Hi @Ryan Chapman, Did you try enable the features listed below?
VirtualDiscoveryGuy Posted June 27, 2024 Posted June 27, 2024 Hi @VIVE_chengnay I'd also like to ask again concerning this topic. We are currently trying to set up a universal OpenXR project with Hand Tracking using Unity XR Hands (https://docs.unity3d.com/Packages/[email protected]/manual/index.html). We have removed any platform-specific SDKs (Wave, Meta and Pico) and are using only OpenXR packages with XR Hands. This works flawlessly on Meta Quest and Pico, but sadly does not seem to work on VIVE Focus 3. We have enabled the Hand Tracking Subsystem, VIVE XR Hand Tracking and VIVE XR Support in the feature settings and the Vive Focus 3 Controller Interaction in the Profiles (exactly according to the Screenshot). In the scene, we have the Hand Visualizer from the XR Hands package (1.4.1), but the hands are not visible within the application, even though they are recognized by the HMD (visible in the menu). https://developer.vive.com/resources/openxr/unity/tutorials/hand-tracking/ In this Tutorial, the script seems to access some VIVE-Specific namespace (VIVE.OpenXR.Hand), which seems to suggest there is the need for some custom implementation for hand tracking, which in this case we'd like to avoid to keep everything consistent. Any chance we can get the standard Unity XR Hands running with VIVE Focus 3 or is this currently just not supported? Thank you!
VIVE_chengnay Posted June 28, 2024 Posted June 28, 2024 Hi @VirtualDiscoveryGuy, 9 hours ago, VirtualDiscoveryGuy said: We have enabled the Hand Tracking Subsystem, VIVE XR Hand Tracking and VIVE XR Support in the feature settings and the Vive Focus 3 Controller Interaction in the Profiles (exactly according to the Screenshot). In the scene, we have the Hand Visualizer from the XR Hands package (1.4.1), but the hands are not visible within the application, even though they are recognized by the HMD (visible in the menu). Could you try downgrade Unity XR Hands to 1.3.0? https://developer.vive.com/resources/openxr/unity/download/latest/
VIVE_chengnay Posted June 28, 2024 Posted June 28, 2024 9 hours ago, VirtualDiscoveryGuy said: In this Tutorial, the script seems to access some VIVE-Specific namespace (VIVE.OpenXR.Hand), which seems to suggest there is the need for some custom implementation for hand tracking, which in this case we'd like to avoid to keep everything consistent. Any chance we can get the standard Unity XR Hands running with VIVE Focus 3 or is this currently just not supported? You might need to manually implement OpenXR APIs like what we did in ViveHandTracking.cs.
MPOT_uniroma2 Posted October 4, 2024 Posted October 4, 2024 (edited) Hi everybody, For the HTC VIVE XR Elite, I found a possible solution to use the XR Interaction Toolkit and XR Hands without the VIVE OpenXR Plugin and Wave. I'm using this setup in an application streamed from the PC via SteamVR and VIVE Streaming Hub. The images speak better than words, so I'll try to explain using the images: Install the XR Interaction Toolkit and XR Hands (it's recommended to install the samples, particularly the Hands Interaction Demo from the XR Interaction Toolkit package). In Project Settings > XR Plug-In Management > OpenXR, check the option for "Hand Tracking Subsystem", and in the Interaction Profiles, add the "HTC VIVE Controller Profile" option. This is the image to reduce misunderstandings: https://ibb.co/b51gyQ2 (the option "HTC VIVE Tracker Profile" does not pertain to Hand Tracking). At this point, without any other settings, the device detects hands, and the application shows them, but the interactions are managed by the controllers. By using the following simple script, it's possible to change the interactions from controllers to hands, as expected by the XR Hands package: public class Hand_XR_Origin_Activator : MonoBehaviour { public GameObject RightController; public GameObject LeftController; public GameObject RightHand; public GameObject LeftHand; void Update() { if (RightController.activeSelf) { RightController.SetActive(false); } if (!RightHand.activeSelf && !RightController.activeSelf) { RightHand.SetActive(true); } if (LeftController.activeSelf) { LeftController.SetActive(false); } if (!LeftHand.activeSelf && !LeftController.activeSelf) { LeftHand.SetActive(true); } } } The public GameObjects are shown in this image: https://ibb.co/drGmxdL. With these settings, I use XR Hands with the VIVE XR Elite without any problems. Edited October 4, 2024 by MPOT_uniroma2
MUKKI00 Posted October 14, 2024 Posted October 14, 2024 On 10/4/2024 at 11:05 AM, MPOT_uniroma2 said: Hi everybody, For the HTC VIVE XR Elite, I found a possible solution to use the XR Interaction Toolkit and XR Hands without the VIVE OpenXR Plugin and Wave. I'm using this setup in an application streamed from the PC via SteamVR and VIVE Streaming Hub. The images speak better than words, so I'll try to explain using the images: Install the XR Interaction Toolkit and XR Hands (it's recommended to install the samples, particularly the Hands Interaction Demo from the XR Interaction Toolkit package). In Project Settings > XR Plug-In Management > OpenXR, check the option for "Hand Tracking Subsystem", and in the Interaction Profiles, add the "HTC VIVE Controller Profile" option. This is the image to reduce misunderstandings: https://ibb.co/b51gyQ2 (the option "HTC VIVE Tracker Profile" does not pertain to Hand Tracking). At this point, without any other settings, the device detects hands, and the application shows them, but the interactions are managed by the controllers. By using the following simple script, it's possible to change the interactions from controllers to hands, as expected by the XR Hands package: public class Hand_XR_Origin_Activator : MonoBehaviour { public GameObject RightController; public GameObject LeftController; public GameObject RightHand; public GameObject LeftHand; void Update() { if (RightController.activeSelf) { RightController.SetActive(false); } if (!RightHand.activeSelf && !RightController.activeSelf) { RightHand.SetActive(true); } if (LeftController.activeSelf) { LeftController.SetActive(false); } if (!LeftHand.activeSelf && !LeftController.activeSelf) { LeftHand.SetActive(true); } } } The public GameObjects are shown in this image: https://ibb.co/drGmxdL. With these settings, I use XR Hands with the VIVE XR Elite without any problems. Hi @MPOT_uniroma2, I tried your solutions but I still have problems in detecting my hands. Can you share more detailes? Thank you
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