Search the Community
Showing results for tags 'openxr'.
- UPDATED - Current Version: 22.214.171.124 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 126.96.36.199) 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 Preview To enable go to Vive Console Settings and use the code: OPENXRBETADEV00 *** note: with the next update you'll be able to enable Beta Program for the latest OpenXR update **** 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.
Vive Cosmos OpenXR Feature package for Unity Unity has released a preview of their OpenXR plugin available with Unity 2020.2 https://forum.unity.com/threads/unity-support-for-openxr-in-preview.1023613/ After installing the Unity OpenXR plugin (see link above) 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: com.htc.upm.vive.openxr.controllers-0.1.0-preview.4.tgz UPDATE: (preview 4) 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! Build available here.
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
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.