Jump to content

Search the Community

Showing results for tags 'openxr'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • VIVE
    • VIVE Community Forums
    • VIVE Technical Support
    • VIVE Developer Forums


  • Viveport Blog
  • Viveport Reviews
  • Viveport SDKs and Downloads
  • Developer Blog
  • Vive Blog

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me

Found 17 results

  1. Is there a good solution to save data from a VR simulation to an online repository? I'm thinking Google Docs, Dropbox, etc.? I am developing a simulation where we want to aggregate decisions people make. We are going to deploy on many headsets so we don't want to have to deal with local save files. We are programming in Unity for the Vive Focus 3 using OpenXR. If you've come across a solution for this, please let me know. Thank you!
  2. Hi, I've been trying to get hand detection going for my project and this is going to be a bit lengthy, because I've already tried out so many things, so here goes: First I started with hand tracking in OpenXR. I followed the tutorial described here: https://developer.vive.com/resources/openxr/openxr-pcvr/tutorials/unity/how-integrate-hand-tracking-data-your-hand-model/ Had to fix a couple of problems in the tutorial code, notably adding declaration for locations: private static XrHandJointLocationsEXT locations; And also a few other problems. So the script now compiles and runs, but unfortunately when I call res = feature.xrLocateHandJointsEXT(feature.m_leftHandle, locateInfo, ref locations);, the locations.isActive is always 0. I've debugged as far as I could, but I just don't seem to be getting hand tracking updates. Any suggestions would be very appreciated as I am not very familiar with OpenXR or unity. I'm using Unity 2021.3.5f1. Also camera is enabled in SteamVR settings and tested. It just looks like hands are either not detected or camera input is not reaching OpenXR. I also tried to create a completely new project and just run the sample code, launching HandTrackingScene.unity from the samples folder, that we can import with VIVE OpenXR for Windows. That also didn't work- same thing, the hands don't even appear. And same thing happens in Unity 2020.3.13f1. All I do is follow this tutorial: https://developer.vive.com/resources/openxr/openxr-pcvr/tutorials/unity/installing-vive-openxr-pc-vr-plugin/ And then the OpenXR setup part of this tutorial: https://developer.vive.com/resources/openxr/openxr-pcvr/tutorials/unity/how-integrate-hand-tracking-data-your-hand-model/?site=tw& And then I only run the sample project and it doesn't do anything. If I look at the code and print out a debug statement, then it is obvious that line 46 in UpdateHandData.cs always evaluates to FALSE: so the branch of: if (locations.isActive == 1) never executes. The source code of public int xrLocateHandJointsEXT(ulong handTracker, XrHandJointsLocateInfoEXT locateInfo, ref XrHandJointLocationsEXT locations) inside HandTracking_OpenXR_API seems to be closed source, so I don't know what happens beyond. I guess one more useful thing to add: I can get the hand tracking to work on Unity 2019.4.30f1 using the Hand Tracking SDK: https://hub.vive.com/storage/tracking/unity/setup.html But that requires to use OpenVR, which is deprecated in later unity versions. Unfortunately Unity 2019 is not an option for me, because I need to also run ROS-TCP-endpoint and that one only works on Unity 2020.2.x and above. I also tried out importing SteamVR plugin Version 2.7.3 (sdk 1.14.15) - February 23, 2021 into Unity 2021.3.5f1 and that allows me to use the old Hand tracking SDK with OpenVR. But that gives me two new (albeit less severe) problems: 1) Unity crashes the moment I stop my app 2) When I start my app, StemVR displays a complaint in the headset about missing actions.json file in the "Assets\StreamingAssets\SteamVR" folder. The error says: the action manifest for [Testing]<my project name> was not found. I created an empty actions.json file there and it still can't find it, so I don't know what else to try. I desperately need help on this please! I am working with a VIVE PRO headset. I am using Windows 11. Thanks.
  3. Hello, I'm having a problem getting Unreal projects using OpenXR running on the Focus 3. (I'm in the beta program.) In 4.26, 4.27 and 5.0, I get the following behavior: Launching appears to work, editor popup says "Running [project] on [device]", but nothing appears in the HMD Builds package and install to the Focus 3, but they aren't detected as normal - they appear under the 2D section of the Library Any guidance? Thanks.
  4. So, I'm deep down a debugging rabbit-hole debugging the effect that Vive drivers are having on my Unity application. At runtime, my Unity app loads mycustom.dll. And it can do this successfully, unless I've got Vive-console installed and a headset plugged in. It doesn't matter if I'm even trying to initialize OpenXR in Unity, if ViveOpenXR.dll can be found at runtime while a headset is plugged in, mycustom.dll can't be found. Historically, for us, 'Can't be found' actually means "You forgot to install an MSVC redist" but that doesn't make sense here, since the redists are fine obviously fine because it runs without the headset. According to our QA, this started happening around driver version x.20.x maybe x.19.x. Any leads? I've spent way more time on this than I've wanted to.
  5. Here is a sample project built using Unreal Engine 4.26 showing how to get started using OpenXR Hand Tracking with Vive Cosmos headsets (Project is attached at the bottom of this page). Please make sure you follow the instructions specified here first to enable OpenXR in the Vive Console Runtime: Sample Project The project comes with 2 pre-installed project plugin: Vive Cosmos Controller Plugin defines input subcategories for Cosmos controllers. OpenXR Vive Cosmos Controller Plugin allows using Vive Cosmos controllers input for your OpenXR applications as it adds the Vive Cosmos controller interaction profile to OpenXR Input (XR_HTC_vive_cosmos_controller_interaction ) We have also enabled the following plugins in the project: OpenXR Plugin since we want to build an OpenXR app. OpenXR Hand Tracking to support the hand tracking extension of OpenXR XR Visualization Plugin allows quickly rendering HMDs,controllers,hand meshes using the relevant data as parameters.This makes it easier to quickly render a representation of a virtual hand based on the information we get about each joint. Of course this is optional and it's not required to use it in your project. Implementation After you open the sample project using Unreal Engine 4.26, please check the Event Graph of the Level Blueprint of the default Level "HandTrackingTest". We use the GetMotionControllerData function passing as a parameter the Left or Right Hand and we get back information about the MotionControllerData that can be used to render virtual hands. After that we use the RenderMotionController function from the XRVisualization Plugin to render a virtual representation of hands. You can also break the MotionControllerData structure and use the data about the hands in a different way depending on your use case. Remember that when asking to "GetMotionControllerData" the C++ side of things will try to get Hand Tracker data via the function "FOpenXRHMD::GetMotionControllerData". While trying to get OpenXRHandTracking data, the engine will get data from the runtime and the .json and .dll files provided as shown below. This is automatically handled after you enable the OpenXR runtime on Vive Console. Here's what you should see after hitting the button Play in VR: OpenXRHandTest.zip
  6. Vive Cosmos OpenXR Feature package for Unity After installing the Unity OpenXR plugin you can add the HTC Vive Cosmos Controller Support Feature to OpenXR Features as shown: You can download the HTC Vive Cosmos Controller package preview as a tarball file here: UPDATE: v1.0.0 Unity issues from latest plugin resolved. Download: com.htc.upm.vive.openxr.controllers-1.0.0.tgz previous update: Add common usage “gripButton” for grip-pressed input. Add common usage “triggerButton” for trigger-pressed input Use the package manager to install as either a tarball or if you run into any issue you can unzip it and use the from disk option and point to the json file. Unity includes several samples with their OpenXR package so be sure to install the Controller Sample. This sample will display all the controller's inputs visually for almost all the input because the Cosmos controller has an additional "bumper" button next to the trigger button. As shown you can run in editor connecting to the OpenXR PC runtime. In this case it's the "Default" Vive Cosmos OpenXR runtime. To set it as the default you should select it as the default when you first run the runtime from the Vive Console. This will set the default Windows registry values. To install the Vive Cosmos OpenXR runtime please see: https//forum.vive.com/forum/92-vive-openxr/ Now as you may have noticed above I've added an indicator for the Bumper button status (green when pressed) for both left and right hand controllers for this sample. You can add them with the following steps. 1) Once you've enabled the feature (first screen shot above) we can edit the Controller sample to include the additional indicator by duplicating the Trigger Press visual element, renaming it as "Bumper Press" and moving it slightly to the right of Trigger Press (remember to do likewise for RightHand). 2) To edit the Action binding for this new indicator first double click on the Action Reference field of the Action to Button ISX script component in the inspector as shown above. Once you get the following Input Actions window, you can add the new actions and bind them to the appropriate binding path that the Vive Cosmos Controllers feature provided as shown below and while this window is open also add one for the right hand controller. And with that you can start using all the Vive Cosmos controllers inputs for your OpenXR applications! Note: screen shots don't reflect the latest Unity OpenXR plugin version and will be updated
  7. Hi, I have just started my journey in VR. Currently I have a vive pro eye, and my goal is stereo rendering. I found there are three types of functions, Khronos' core, cross vendor, and vendor specific. Are there any (possible yes) vive specific functions? Where I can find those? Microsoft Page has beginner friendly documentation with their own specifications for MR. I see in this forum, there is also some documentation of Vive OpenXR for Unity and Unreal Engine. But I am looking for some tutorial how to visualize easily on my Vive Pro Eye Display, and native C++ Project. Can you show me some light? Will Microsoft OpenXR (MR) work for Vive Pro Eye?
  8. Hi, it's been very nice to see the OpenXR support launch to beta. I applied and got the beta update on my Focus 3, and I've been trying to get my Unreal project run on the device. I've made a successful build in UE and transfered and installed it on the headset, but it launches as a 2D application and complains about OBB and Play Store things. What am I missing? I have disabled all other VR related plugins but the Vive OpenXR and the native OpenXR ones I have start in VR ticked JDK version is 1.8.0_242 Thanks, Aapo M.
  9. For the recent SteamVR version, the OpenXR tracker extension as come to be supported. The OpenXR tracker extension is called "XR_HTCX_vive_tracker_interaction". Regarding Unity OpenXR support, will there be a tracker interaction profile for Unity, as it was for the Cosmos controller ? Looking forward to it.
  10. VIVE Pro 2 VIVE Console SteamVR 1.18.7 Unity Engine 2021.1.0f1 OpenXR plugin 1.3.1 Open a Scene (can be completely empty) Go to project settings Go to XR Plug-in Management Enable OpenXR Go to OpenXR Set Play Mode OpenXR Runtime to SteamVR (or System Default if SteamVR is the System Default OpenXR runtime) Click the Play button in the Editor Observe crash The crash logs which I am unable to provide indicate a Segmentation Fault. This is a frequent, intermittent issue. Unity generally crashes every 3 play attempts give or take. Any help is greatly appreciated. Thank you.
  11. VIVE Pro 2 VIVE Console SteamVR 1.18.7 Unity Engine 2021.1.0f1 OpenXR plugin 1.3.1 Open a Scene (can be completely empty) Go to project settings Go to XR Plug-in Management Enable OpenXR Go to OpenXR Set Play Mode OpenXR Runtime to SteamVR (or System Default if SteamVR is the System Default OpenXR runtime) Click the Play button in the Editor Observe crash The crash logs which I am unable to provide indicate a Segmentation Fault. This is a frequent, intermittent issue. Unity generally crashes every 3 play attempts give or take. Any help is greatly appreciated. Thank you.
  12. When using OpenXR with SteamVR as the default system OpenXR runtime and using multiple SteamVR supported devices together e.g. Vive Cosmos and Vive Trackers/Oculus Quest and Vive Trackers, the play mode/headset view will be black with SteamVR reporting ' CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.unity.exe&version=1.21.6 -> 404 (Not Found)' See a video of this happening here, it is blocking me from working on a tool for using Vive trackers in OpenXR. I stress that this worked fine for me before I moved to using OpenXR, using OpenVR for this works totally fine but I want to support OpenXR for Vive trackers in Unity for my tool! https://www.youtube.com/watch?v=3hVtffm324s How can we reproduce it: Download this repro project: https://drive.google.com/file/d/1Qv0bpq4ZdZoCQU5A7edSoBQeCrl3CYe_/view?usp=sharing 1. Install Unity 2021.2.8f1 2. Install SteamVR Beta 1.21.6 3. Set up your Oculus Quest 2 via Oculus Link or Vive Cosmos (without SteamVR tracking faceplate) 4. Set up at least 1 SteamVR base station and Vive tracker Now to set up multiple drivers with SteamVR, this is a supported feature of SteamVR Below steps you can follow this video if it helps, it is a popular setup for steamVR games that use Unity like VRChat where people use multiple steamvr supported devices in the same play space as kit is interchangeable https://www.youtube.com/watch?v=JnX8NK-lsPY 5. Install OpenVR space calibration - https://github.com/pushrax/OpenVR-SpaceCalibrator/releases 6. Go to your steam installation e.g. C:\Program Files\Steam\steamapps\common\SteamVR\resources\settings 7. Open default.vrsettings with notepad or VS Code to edit 8. Change 'requireHmd' value from true to false 9. Change activateMultipleDrivers from false to true 10. Save the file 11. Open SteamVR with your tracker and headset of choice switched on + the steamVR base station 12. Goto SteamVR settings - Startup/Shutdown - Choose startup overlay apps - enable Space Calibrator 13. Goto SteamVR settings - Advanced settings - show 14. Goto SteamVR settings - set steamvr as Current OpenXR runtime if it isn't already. 15. Open OpenVR Space Calibrator through the steamVR overlays menu (SteamVR menu - third dot on the bottom right from the right, looks like a compass) 16. Select reference space - your headset controller you are holding and choose the vive tracker in the target space. 17. Choose calibration speed - slow and click start calibration to calibrate the play spaces then hold the tracker and controller together while drawing an infinity symbol with your hand in your play space to help calibration. 18. Verify the tracker and controllers line up in the same play space, if not try calibration again or refer to this clip of the video: https://youtu.be/JnX8NK-lsPY?t=308 (We are nearly there!) You can watch my repro video of this here https://www.youtube.com/watch?v=3hVtffm324s 19. To repro now, turn on SteamVR, turn off the vive tracker and base station, just keep your headset on or ready 20 Open the project in Unity 2021.2.8f1 21. Verify in Project settings - XR Plug-In Management that OpenXR is the default target 22. Verify in Project settings - XR Plug-In Management - OpenXR - Play Mode OpenXR Runtime set to System Default 23. Also verify in Project settings - XR Plug-In Management - OpenXR that Oculus Touch Controller Profile and HTC Vive Tracker profile is in the list if you are using Oculus, if you are using Cosmos (make sure it is without the steamvr tracking faceplate add-on), you can add the Vive Cosmos controller profile but it will cause an error with SteamVR as SteamVR OpenXR doesn't support the Cosmos controller profile yet somehow so leave that off but make sure HTC Vive Tracker Profile is in the list 24. Open Scenes - Controller sample, with just your headset on click play and verify the scene opens SteamVR for OpenXR and works fine for at least the headset tracking, Vive Cosmos as mentioned the controllers will not track either way (I will report that as a separate bug). 25. Now, keep the scene running and switch on the SteamVR base station and Vive Tracker, wait for them to connect. If you open the steamVR overlay you should see the tracker show up while connected. 26. Now the scene view should go black, open SteamVR - Developer - WebConsole to see logs for this reporting this error 'CEF Local Resource Load Error: http://localhost:27062/app/image?app_key=system.generated.unity.exe&version=1.21.6 -> 404 (Not Found)' 27. If you stop play mode and try again the view will be black and nothing tracks, this will continue until you close SteamVR + Unity and just with only the headset on (no base station or trackers on) and repeat from step 19 of this repro. Refer to this repro video to see it at this timestamp exactly as soon as the vive tracker connects it all goes black https://youtu.be/3hVtffm324s?t=37
  13. Hi ! I followed the documentation but I don't succeed to bind my HTC Vive Cosmos Controller with my application. The compilation return an error with the code below : CHECK_XRCMD(xrSuggestInteractionProfileBindings(m_instance, &suggestedBindings)); Can u help me, please ? Thanks for answers !
  14. VIVE Software – Public Release Notes Released January 14th 2022 VIVE Console [General] Improved on motion compensation quality. Fixed a bug where VIVE console doesn’t appear on the screen. Fixed the crashing issue when exit VR from VIVE console. [OpenXR] Enable XR_MSFT_scene_understanding. Enable XR_HTC_facial_expression for VIVE facial tracker (Experienced release). Fixed rare engine editor crash on releasing hand tracking API layer.
  15. - UPDATED - Current Version now availabke on the public line (no longer on the beta line) Intended audience: OpenXR application developers who currently include OpenXR support in current game engines (e.g. UE4 applications using the OpenXR plugin) or custom apps/engines that implement the OpenXR specification. What is OpenXR? OpenXR is a royalty-free, open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR— platforms and devices. To learn more about using OpenXR to develop VR application, check out the OpenXR 1.0 specification, API reference and quick reference guide. For more information, see the Khronos OpenXR page. OpenXR Extensions supported: (as of version XR_KHR_D3D11_enable XR_KHR_D3D12_enable XR_KHR_opengl_enable XR_KHR_vulkan_enable XR_HTC_vive_cosmos_controller_interaction XR_KHR_visibility_mask XR_KHR_win32_convert_performance_counter_time KHR_EXT_convert_timespec_time XR_EXT_hand_tracking (supported via API layer) XR_EXT_hand_joints_motion_range XR_EXT_eye _gaze_interaction (supported via API layer) Enabling OpenXR *** note: with the latest update OpenXR is already enabled for VIVE Cosmos *** Development For UE4 Developers: UE4 developers can start with this project: Documentation for OverrideOpenXRPlugin Project.pdf OverrideOpenXRPlugin.zip UPDATE: ViveOpenXRPlugin_UE426.zip New Vive OpenXR Unreal Plugin to support Unreal 4.26 OpenXR.Documentation is inside the package. Development For Unity Developers: Note: Unity has released a preview version of the Open XR plugin for Unity 2020.2 Please see the related post for detailed information and for the download link to the Vive Cosmos Controller Feature for Unity OpenXR: https://forum.vive.com/topic/9141-vive-cosmos-controller-openxr-feature-for-unity/ Sample OpenXR applications: (additional examples forthcoming in forum) If you're interested in simply trying out an OpenXR sample app with the Vive Cosmos, Here is a sample build: CosmosControllerSample(Unity).zip There are also third party applications already available. One example is Blender which supports OpenXR (inlcuding the Vive Cosmos OpenXR preview runtime) within the Blender application which helps designers test their creations without leaving the Blender editor: https://docs.blender.org/manual/en/latest/addons/3d_view/vr_scene_inspection.html Additional Notes: Please note if you are having issues, please check or install the latest Visual C++ redistributable found here: https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Stay tuned for additional documentation and examples and updates.
  16. Hello everybody, This is not really a message for support but mostly to help others since I resolved my issues after many tryouts. I converted an Oculus Quest project (with dedicated sdk and all) to OpenXR to allow Oculus/Vive support. My old project was running smoothly on Oculus Quest without any issue. After reworking everything to work without any dedicated SDK and installing the proper packages (WaveXR, XR Plug-in Management) I tried to build on Vive Focus 3. The result was that the build was successful without any error. The unity logo started correctly and then I could see a single frame of my application before having a black screen and a lot of perfomances issues (I could hardly exit to go back to the menu). The app would generaly quit after 5 to 10 seconds to go back to the HTC menu (sometimes the audio of the app would stay). I tried many things and the resolution was actually super simple. On Oculus project it is required to go with Anti-Aliasing x4. On HTC Vive Focus 3 it seems that the Anti-Aliasing is simply not supported at all. So I just went into the URP settings and disable the anti-aliasing. Everything was done using : - Unity 2019.4.14f1 - Universal RP 7.5.1 (and 7.5.3) - XR Plugin Management 3.2.16 - Vive Wave XR Plugin 4.1.1 (and 1.0.1) I suggest that you add a critial error before any build to inform the user that Anti-aliasing is done directly by the SDK and cannot be added in the URP. Unity always display a warning when using Anti-aliasing with an Android platform. For Oculus Quest 1 and 2 and Pico 3 neo, Anti-aliasing is recommanded in build.
  17. As a supporter and member of the Khronos OpenXR group, HTC is announcing an OpenXR runtime preview for the VIVE Cosmos. The runtime is available as a Vive Cosmos OpenXR developer preview for developers interested in testing OpenXR applications on the VIVE Cosmos. OpenXR enables XR portability across hardware devices enabling developers to focus on the content over porting for each device. HTC submitted to the Khronos group and passed conformance tests so is now officially an OpenXR adopter joining the growing list of companies: https://www.khronos.org/conformance/adopters/conformant-products/openxr To learn more about using OpenXR to develop VR applications, check out the OpenXR 1.0 specification, API reference and quick reference guide. For more information, see the Khronos OpenXR page. Interested developers can join the Vive OpenXR developer forum for details on how to download the OpenXR beta for the Vive Cosmos via the Vive Console. https://forum.vive.com/forum/77-vive-cosmos-developer-faqs/ The HTC Vive developer relations team encourages developers to support the OpenXR standard with this beta runtime for the Vive Cosmos and looks forward to supporting additional devices in the future.
  • Create New...