OpenXR - Mixed Reality (2024)

  • Artikel

OpenXR - Mixed Reality (1)

OpenXR is een open royaltyvrije API-standaard van Khronos en biedt engines systeemeigen toegang tot een scala aan apparaten in het mixed reality-spectrum.

U kunt ontwikkelen met behulp van OpenXR op een HoloLens 2- of Windows Mixed Reality immersive VR-headset op het bureaublad. Als u geen toegang hebt tot een headset, kunt u in plaats daarvan de HoloLens 2 Emulator of de Windows Mixed Reality Simulator gebruiken.

Waarom OpenXR?

Met OpenXR kunt u engines bouwen die zich richten op zowel holografische apparaten, zoals HoloLens 2 als insluitende VR-apparaten, zoals Windows Mixed Reality-headsets voor desktop-pc's. Met OpenXR kunt u code schrijven zodra deze vervolgens overdraagbaar is over een breed scala aan hardwareplatforms.

De OpenXR-API maakt gebruik van een laadprogramma om uw toepassing rechtstreeks te verbinden met de systeemeigen platformondersteuning van uw headset. Eindgebruikers krijgen maximale prestaties en minimale latentie, ongeacht of ze een Windows Mixed Reality of een andere headset gebruiken.

Wat is OpenXR?

De OpenXR-API biedt de kernvoorspelling, frametijd en ruimtelijke invoerfunctionaliteit die u nodig hebt om een engine te bouwen die zowel holografische als insluitende apparaten kan worden gericht.

Raadpleeg de OpenXR 1.0-specificatie, API-verwijzing en snelzoekgids voor meer informatie over de OpenXR-API. Zie de Pagina Khronos OpenXR voor meer informatie.

Als u zich wilt richten op de volledige functieset van HoloLens 2, gebruikt u ook openXR-extensies voor meerdere leveranciers en leveranciers.Deze bieden functies zoals gearticuleerde handtracking, oogtracking, ruimtelijke toewijzing en ruimtelijke ankers. Zie de sectie Roadmap over de uitbreidingen die later dit jaar beschikbaar zijn voor meer informatie.

OpenXR is zelf geen mixed reality-engine. In plaats daarvan stelt OpenXR engines zoals Unity en Unreal in staat om eenmaal draagbare code te schrijven die vervolgens toegang heeft tot de systeemeigen platformfuncties van het holografische of insluitende apparaat van de gebruiker, ongeacht de leverancier die dat platform heeft gebouwd.

Roadmap

De OpenXR-specificatie definieert een uitbreidingsmechanisme waarmee runtime-implementers andere functionaliteit kunnen weergeven dan de kernfuncties die zijn gedefinieerd in de basisspecificatie van OpenXR 1.0.

Er zijn drie soorten OpenXR-extensies:

  • Uitbreidingen van leveranciers (bijvoorbeeld XR_MSFT_...): maakt innovatie per leverancier mogelijk in hardware- of softwarefuncties. Elke runtimeleverancier kan op elk gewenst moment een leverancierextensie introduceren en verzenden.
  • Experimentele uitbreidingen van leveranciers (bijvoorbeeld XR_MSFTX_...): Experimentele leveranciersextensies die worden bekeken om feedback te verzamelen. XR_MSFTX_... extensies zijn alleen voor ontwikkelaarsapparaten en worden verwijderd wanneer de echte extensie wordt verzonden. Als u hiermee wilt experimenteren, kunt u preview-extensies inschakelen op uw apparaat voor ontwikkelaars.
  • Uitbreidingen van meerdere leveranciers EXT : extensies van meerdere leveranciers die meerdere bedrijven definiëren en implementeren. Groepen geïnteresseerde bedrijven kunnen op elk gewenst moment EXT-extensies introduceren.
  • Officiële KHR uitbreidingen: officiële Khronos-extensies die zijn geratificeerd als onderdeel van een kernspecificatierelease. KHR-extensies worden gedekt door dezelfde licentie als de kernspecificatie zelf.

De Windows Mixed Reality OpenXR Runtime ondersteunt een set MSFT en EXT extensies waarmee de volledige set HoloLens 2-functies wordt geleverd aan OpenXR-toepassingen:

FunctiegebiedBeschikbaarheid van extensies
Systemen en sessiesOpenXR 1.0-kernspecificatie:
XrInstance, , XrSystemIdXrSession
Referentieruimten (weergave, lokaal, fase)OpenXR 1.0-kernspecificatie:
XrSpace
Configuraties weergeven (mono, stereo)OpenXR 1.0-kernspecificatie:
XrView...
Frametijd voor wisselhangers + OpenXR 1.0-kernspecificatie:
XrSwapchain... + xrWaitFrame
Samenstellingslagen
(projectie, quad)
OpenXR 1.0-kernspecificatie:
XrCompositionLayer... + xrEndFrame
Invoer en haptiekOpenXR 1.0-kernspecificatie:
XrAction...
Direct3D 11/12-integratieOfficiële KHR extensies uitgebracht:
XR_KHR_D3D11_enable
XR_KHR_D3D12_enable
Niet-afhankelijke verwijzingsruimte(ervaringen op wereldschaal)MSFT extensie uitgebracht:
XR_MSFT_unbounded_reference_space
Ruimtelijke ankers

MSFT extensie uitgebracht:
XR_MSFT_spatial_anchor

MSFT extensie uitgebracht in runtime 108: (alleen HoloLens 2)
XR_MSFT_spatial_anchor_persistence

Handinteractie(grip/doelhouding, luchtkraan, greep)

Alleen HoloLens 2

MSFT extensie uitgebracht:
XR_MSFT_hand_interaction
Handtekening + handmesje

Alleen HoloLens 2

EXT extensie uitgebracht:
XR_EXT_hand_tracking

MSFT extensie uitgebracht:
XR_MSFT_hand_tracking_mesh

Oogklikken

Alleen HoloLens 2

EXT extensie uitgebracht:
XR_EXT_eye_gaze_interaction
Mixed Reality Capture(derde render van PV-camera)

Alleen HoloLens 2

MSFT extensies uitgebracht:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
Interactieprofielen voor bewegingscontroller
(Samsung Odyssey en HP Reverb G2)
MSFT extensies die zijn uitgebracht in runtime 103:
XR_EXT_samsung_odyssey_controller
XR_EXT_hp_mixed_reality_controller
Animatiecontroller-rendermodellenMSFT extensie uitgebracht in runtime 104:
XR_MSFT_controller_model
Scène-begrip (vliegtuigen, meshes)

Alleen HoloLens 2

MSFT extensie uitgebracht in runtime 106:
XR_MSFT_scene_understanding
XR_MSFT_scene_understanding_serialization
Scènemarkering (QR-codes)

Alleen HoloLens 2

MSFT extensie uitgebracht in runtime 113:
XR_MSFT_scene_marker
Reprojectiemodi voor samenstellingslaag(automatisch plannen of alleen afdrukstand opnieuw projecteren)MSFT extensie uitgebracht in runtime 106:
XR_MSFT_composition_layer_reprojection
Interoperabiliteit met andere Mixed Reality SDK's
(bijvoorbeeld QR)
MSFT extensie uitgebracht:
XR_MSFT_spatial_graph_bridge
Interoperabiliteit met UWP CoreWindow-API
(bijvoorbeeld voor toetsenbord/muis)
MSFT extensie uitgebracht in runtime 103:
XR_MSFT_holographic_window_attachment
Interoperabiliteit met verouderde Mixed Reality WinRT-API's
(bijvoorbeeld SpatialAnchorTransferManager))

MSFT extensie uitgebracht in runtime 105:
XR_MSFT_perception_anchor_interop

Andere uitbreidingen voor meerdere leveranciers

Officiële KHR extensies uitgebracht:
XR_KHR_composition_layer_depth
XR_KHR_visibility_mask
XR_KHR_win32_convert_performance_counter_time
XR_KHR_composition_layer_color_scale_bias

EXT extensies uitgebracht:
XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

Hoewel sommige van deze extensies kunnen beginnen als leverancierspecifieke MSFT extensies, werken Microsoft en andere OpenXR-runtimeleveranciers samen om meerdere leveranciers EXT of KHR extensies te ontwerpen voor veel van deze functiegebieden. Extensies van meerdere leveranciers maken de code die u schrijft voor deze functies die overdraagbaar zijn voor runtimeleveranciers, net als bij de kernspecificatie.

Waar kunt u OpenXR gebruiken?

OpenXR - Mixed Reality (2)

De nieuwe RenderDragon-engine van Minecraft heeft zijn desktop VR-ondersteuning gebouwd met behulp van OpenXR!

Microsoft werkt samen met Unity en Epic Games om ervoor te zorgen dat de toekomst van mixed reality open is, niet alleen voor HoloLens 2, maar voor de volledige breedte van PC VR, waaronder de nieuwe Reverb G2-headset van HP. OpenXR biedt de ondersteuning van vr-leveranciers voor grote titels die vandaag nog worden verzonden, zoals Minecraft en Microsoft Flight Simulator! Zie de releaseopmerkingen voor meer informatie over ontwikkelen voor HoloLens (1e generatie).

Lees verder voor meer informatie over hoe u aan de slag kunt met OpenXR in Unity, Unreal Engine of uw eigen engine.

OpenXR in Unity

De huidige aanbevolen Unity-configuratie van Microsoft voor HoloLens 2 en Windows Mixed Reality-ontwikkeling is Unity 2020.3 LTS met de Mixed Reality OpenXR-invoegtoepassing. Deze invoegtoepassing bevat ondersteuning voor de OpenXR-extensies waarmee de volledige mogelijkheden van HoloLens 2- en Windows Mixed Reality-headsets worden verlicht, waaronder hand-/oogtracking, ruimtelijke ankers en HP Reverb G2-controllers. MRTK-Unity ondersteunt OpenXR vanaf MRTK 2.7. Zie Een Unity-versie en XR-invoegtoepassing kiezen voor meer informatie over hoe u aan de slag gaat met Unity 2020 en OpenXR.

Als u ontwikkelt voor HoloLens (1e generatie), moet u Unity 2019.4 LTS blijven gebruiken met de verouderde WinRT API-back-end. Als u zich richt op de nieuwe HP Reverb G2-controller in een Unity 2019-app, raadpleegt u onze HP Reverb G2-invoerdocumenten.

Vanaf Unity 2021.3 LTS is OpenXR de enige ondersteunde Unity-back-end voor het richten op HoloLens 2- en Windows Mixed Reality-headsets.

OpenXR in Unreal Engine

Unreal Engine 4.23 was de eerste grote game-enginerelease voor het verzenden van preview-ondersteuning voor OpenXR 1.0! Nu in Unreal Engine 4.26 is ondersteuning voor HoloLens 2, Windows Mixed Reality en andere VR-desktop-headsets beschikbaar via de ingebouwde OpenXR-ondersteuning van Unreal Engine. Unreal Engine 4.26 ondersteunt ook de OpenXR-extensieinvoegtoepassing van Microsoft. Dit maakt handinteractie en HP Reverb G2-controllerondersteuning mogelijk, waardoor de volledige functieset van HoloLens 2- en Windows Mixed Reality-headsets wordt verlicht. Unreal Engine 4.26 is vandaag beschikbaar op de Epic Games Launcher, met MRTK-Unreal 0.12 die OpenXR-projecten ondersteunen.

OpenXR voor systeemeigen ontwikkeling

U kunt ontwikkelen met behulp van OpenXR op een HoloLens 2- of Windows Mixed Reality immersive VR-headset op het bureaublad. Als u geen toegang hebt tot een headset, kunt u in plaats daarvan de HoloLens 2 Emulator of de Windows Mixed Reality Simulator gebruiken.

Als u OpenXR-toepassingen voor HoloLens 2- of Windows Mixed Reality VR-headsets wilt gaan ontwikkelen, raadpleegt u hoe u aan de slag gaat met OpenXR-ontwikkeling.

Bekijk deze video van 60 minuten voor een rondleiding door alle belangrijke onderdelen van de OpenXR-API, samen met voorbeelden van de echte toepassingen met behulp van OpenXR:

Zie ook

OpenXR - Mixed Reality (2024)

FAQs

What is the difference between OpenXR and mixed reality? ›

Key Differences Between OpenXR and Windows Mixed Reality

OpenXR provides high-performance, royalty-free access to AR/VR, while Windows Mixed Reality operates mainly in VR space. Windows Mixed Reality aims at mass-market entry with compatibility with standard laptops and PCs, OpenXR focuses on extensive hardware reach.

Is XR the same as mixed reality? ›

Mixed Reality (MR): a view of the real world—physical world—with an overlay of digital elements where physical and digital elements can interact. Virtual reality (VR): a fully-immersive digital environment. Extended reality (XR): an umbrella term that covers all these different technologies, including AR, MR, and VR.

How do I enable OpenXR in Windows Mixed Reality? ›

Open Edit -> Project Settings and enable Open XR support. You may get a warning to activate the new input system. Select Yes. After enabling Open XR support go to the OpenXR settings and add the Microsoft Motion Controller Profile.

Is OpenXR better than SteamVR? ›

There are a few reasons why OpenXR might offer better performance than SteamVR in DCS. First, OpenXR is a newer standard designed to be more efficient. Second, OpenXR can take advantage of specific hardware features and more customizations, which can help to improve performance.

Which VR games use OpenXR? ›

OpenXR Toolkit only works with OpenXR applications.
GameWorks with OpenXR Toolkit?Limitations
Pavlov VRYes-
PhasmophobiaYes-
Pistol WhipYes-
PLAY'A VR Video PlayerYes-
17 more rows

What is OpenXR used for? ›

OpenXR is an open-source, royalty-free standard for access to virtual reality and augmented reality platforms and devices. It is developed by a working group managed by the Khronos Group consortium.

What is an example of mixed reality? ›

For example, in a Mixed Reality experience a digital object such as a book can be anchored to a specific location in the real world, maybe your bedside table, and when you want to read that book you can put on your headset, pick the book up with your real hand and turn the pages with your real fingers as you read.

Why is VR called XR? ›

Extended Reality (XR) refers to all combined real and virtual environments and man-machine interactions, and is therefore, to be understood as the “reservoir” for representative forms such as Augmented Reality (AR) and Virtual Reality (VR) and the interpolated areas between them.

What is the difference between AR and XR glasses? ›

What are the key differences between AR and XR? Augmented Reality (AR) is a technology that overlays digital information onto a user's real-world environment, whereas Extended Reality (XR) encompasses a range of immersive technologies, including AR, Virtual Reality (VR), and Mixed Reality (MR).

How do I activate OpenXR? ›

  1. From your computer, open the SteamVR app.
  2. Head to Settings.
  3. Select Show in Advanced Settings.
  4. Head to the Developer tab.
  5. Set Current OpenXR runtime as "OpenXR runtime"
  6. Launch Microsoft Flight Simulator.
  7. Put your headset on.
Jan 27, 2024

How do I switch to OpenXR? ›

SteamVR
  1. Open SteamVR.
  2. Open the settings from the hamburger menu.
  3. Click Show 'Advanced Settings' at the bottom left corner.
  4. Select the Developer tab.
  5. Press 'Set SteamVR as OpenXR runtime'

Can virtual desktop use OpenXR? ›

This program is an implementation of the OpenXR standard for Virtual Desktop on Windows. It allows you to run OpenXR applications without SteamVR.

Does OpenXR require SteamVR? ›

If you want OpenXR, usually people install OpenComposite to change the runtime, and install OpenXR Toolkit (and Pimax XR if you use a Pimax headset), and launch the application without SteamVR.

Does Oculus use OpenXR? ›

If you make your game on OpenXR it will run on Oculus, Vive/SteamVR, Index, mobile headsets like the Quest, WMR and more!

How to run Steam games in OpenXR? ›

  1. If you're using a SteamVR headset or Quest through Virtual Desktop: SteamVR settings > Enable Advanced > Developer > Set SteamVR as OpenXR Runtime.
  2. If you are using an Oculus Rift or Quest through Link: Desktop Oculus Settings > General > OpenXR Runtime > Set Oculus as active.

What is the difference between AR and mixed reality? ›

In AR, there is typically limited to no direct interaction between the digital and physical world components. The key difference between AR and MR is the user's ability to interact with the digital display. MR allows users to manipulate and interact with virtual objects and information.

What is the difference between open VR and OpenXR? ›

OpenXR & OpenVR. Without going into the technicalities of these two runtimes, OpenXR is an open standard developed by the Khronos Group while OpenVR is developed by Valve for SteamVR. The default runtime of SteamVR is OpenVR, although you can also translate SteamVR applications to OpenXR.

What is mixed reality also known as? ›

Many people use the term mixed reality interchangeably with augmented reality. However, in this book I consider mixed reality to be a broader interpretation that consists of anything of both the physical world and the digital world. The specific constraint of registration is relaxed.

What is mixed reality on Oculus? ›

Mixed reality (MR) is a technology that seamlessly combines the real world with virtual elements, creating a new immersive experience.

References

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated:

Views: 6201

Rating: 4.4 / 5 (75 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.