OpenXR

OpenXR logosu

OpenXR, Khronos'ın sunduğu açık BIR ücretsiz API standardıdır. Bu, karma gerçeklik yelpazesigenelinde bir dizi cihaza yerel erişim sağlayan bir altyapı sağlar.

HoloLens 2 ' de openxr kullanarak, masaüstünde de modern VR Windows Mixed Reality geliştirebilirsiniz. bir kulaklık erişiminiz yoksa, bunun yerine HoloLens 2 Emulator veya Windows Mixed Reality benzeticiyi kullanabilirsiniz.

Neden OpenXR?

openxr ile, masaüstü bilgisayarlar için Windows Mixed Reality kulaklıklar gibi, hem HoloLens 2 hem de modern VR cihazları gibi holographic cihazlarını hedefleyen altyapılar oluşturabilirsiniz. OpenXR, daha sonra çok sayıda donanım platformunda taşınabilir bir kod yazmanızı sağlar.

OpenXR API, uygulamanızı doğrudan kulaklığınızın yerel platform desteğine bağlamak için bir yükleyici kullanır. son kullanıcılar, Windows Mixed Reality veya başka bir kulaklık kullanıp kullanmayacağı en yüksek performansı ve en düşük gecikme süresini alır.

OpenXR nedir?

OpenXR API 'SI, hem holographic hem de modern cihazları hedefleyebilir bir altyapı oluşturmanız için temel poz tahminini, çerçeve zamanlamasını ve uzamsal giriş işlevlerini sağlar.

OpenXR API 'SI hakkında bilgi edinmek için OpenXR 1,0 belirtimini, API başvurusunuve hızlı başvuru kılavuzunagöz atın. Daha fazla bilgi için, bkz. Khronos OpenXR sayfası.

HoloLens 2 ' nin tam özellik kümesini hedeflemek için, aynı zamanda openxr 1,0 core ötesinde ek özellikler sağlayan, diğer yandan satıcı ve satıcıya özel openxr uzantıları da kullanacaksınız. Daha fazla bilgi için, bu yılın ilerleyen kısımlarında yer alan Uzantılarda aşağıdaki yol haritası bölümüne bakın.

OpenXR bir karma gerçeklik altyapısı değildir. Bunun yerine, OpenXR, Unity ve Unreal gibi altyapıların, bu platformu oluşturan satıcının ne olduğu, kullanıcının holographic veya modern cihazının yerel platform özelliklerine erişebileceği şekilde bir kez yazılabilir olmasını sağlar.

Yol Haritası

OpenXR belirtimi, çalışma zamanı uygulayıcıları 'nın temel OpenXR 1,0 belirtimindetanımlanan temel özelliklerden daha fazla işlevsellik sunmaya olanak tanıyan bir uzantı mekanizması tanımlar.

Üç tür OpenXR uzantısı vardır:

  • Satıcı uzantıları (örneğin, ): donanım veya yazılım özelliklerinde satıcı başına yeniliklere izin sağlar. Herhangi bir çalışma zamanı satıcısı herhangi bir zamanda bir satıcı uzantısı oluşturabilir ve gönderebilir.
  • Platformlar arası Uzantılar: birden çok şirketin tanımlayabildikleri ve uygulayabildikleri çapraz satıcı uzantıları. İlgilenen şirketlerin grupları, her zaman bir dış uzantı ekleyebilir.
  • Resmi Uzantılar: bir Core spec sürümünün bir parçası olarak resmi Khronos uzantıları. KHR uzantıları, çekirdek belirtiminin kendisi ile aynı lisans kapsamına alınır.

Windows Mixed Reality openxr çalışma zamanı, MSFTEXT openxr uygulamalarına HoloLens 2 özelliklerinin tam kümesini getiren bir dizi ve uzantıyı destekler:

Özellik alanı Uzantı kullanılabilirliği
Sistemler + oturumlar OpenXR 1,0 Core özelliği:
XrInstance, XrSystemId, XrSession
Başvuru alanları (görünüm, yerel, aşama) OpenXR 1,0 Core özelliği:
XrSpace
Yapılandırma (mono, stereo) görüntüleme OpenXR 1,0 Core özelliği:
XrView...
Swapzincirleriçerçeve zamanlaması OpenXR 1,0 Core özelliği:
XrSwapchain... + xrWaitFrame
Kompozisyon katmanları
(projeksiyon, dörtlü)
OpenXR 1,0 Core özelliği:
XrCompositionLayer... + xrEndFrame
Giriş ve hapetiler OpenXR 1,0 Core özelliği:
XrAction...
Direct3D 11 tümleştirmesi Resmi uzantı yayınlandı:
XR_KHR_D3D11_enable
Direct3D 12 tümleştirmesi Resmi uzantı yayınlandı:
XR_KHR_D3D12_enable
Sınırlandırılmamış başvuru alanı
(Dünya ölçeğinde deneyimler)
Uzantı yayınlandı:
XR_MSFT_unbounded_reference_space
Uzamsal bağlantılar

Uzantı yayınlandı:
XR_MSFT_spatial_anchor

Preview çalışma zamanında uzantı 107:
XR_MSFT_spatial_anchor_persistence_preview

El etkileşimi
(kavrama/AIM, AIR-Tap, GRASP)

yalnızca HoloLens 2

Uzantı yayınlandı:
XR_MSFT_hand_interaction
El eklemli + el ağı

yalnızca HoloLens 2

Uzantı yayınlandı:
XR_EXT_hand_tracking

Uzantı yayınlandı:
XR_MSFT_hand_tracking_mesh
Göz yorutu

yalnızca HoloLens 2

Uzantı yayınlandı:
XR_EXT_eye_gaze_interaction
Karma gerçeklik yakalama
(BD kamerasından üçüncü işleme)

yalnızca HoloLens 2

Yayınlanan uzantılar:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
Diğer karma gerçeklik SDK 'leriyle birlikte çalışma
(örneğin, QR)

Uzantı yayınlandı:
XR_MSFT_spatial_graph_bridge

çalışma zamanında yayınlanan uzantı 105:
XR_MSFT_perception_anchor_interop

UWP CoreWindow API 'siyle birlikte çalışma
(örneğin, klavye/fare için)
çalışma zamanında yayınlanan uzantı 103:
XR_MSFT_holographic_window_attachment
Hareket denetleyicisi etkileşim profilleri
(Samsung Odyssey ve HP Reverb G2)
çalışma zamanında yayınlanan uzantılar 103:
XR_EXT_samsung_odyssey_controller
XR_EXT_hp_mixed_reality_controller
Hareket denetleyicisi işleme modelleri çalışma zamanında yayınlanan uzantı 104:
XR_MSFT_controller_model
Sahne anlama (düzler, kafesler)

yalnızca HoloLens 2

çalışma zamanında yayınlanan uzantı 106:
XR_MSFT_scene_understanding
XR_MSFT_scene_understanding_serialization

Bileşim katmanı yeniden yansıtma modları
(otomatik planar veya yalnızca Yönlendirme yeniden projeksiyonu)
çalışma zamanında yayınlanan uzantı 106:
XR_MSFT_composition_layer_reprojection
Diğer çapraz satıcı uzantıları

Yayınlanan resmi uzantılar:
XR_KHR_composition_layer_depth
XR_KHR_visibility_mask
XR_KHR_win32_convert_performance_counter_time
XR_KHR_composition_layer_color_scale_bias

Yayınlanan uzantılar:
XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

Bu uzantıların bazıları satıcıya özgü uzantılar olarak başlatılabilir MSFT , ancak Microsoft ve diğer OpenXR çalışma zamanı satıcıları, EXTKHR Bu özellik alanlarının birçoğu için çapraz satıcı veya uzantılar tasarlamak üzere birlikte çalışır. Platformlar arası uzantılar, bu özellikler için yazdığınız kodu, temel belirtidekilerle çalışma zamanı satıcıları genelinde taşınabilir hale getirir.

OpenXR 'yi nerede kullanabilirsiniz?

karma gerçeklik kulaklığı takmakta olan bir kullanıcı tarafından oynatılan Minecraft ekran görüntüsü

Minecraft yeni renderejm altyapısı, openxr kullanarak masaüstü VR desteğini oluşturdu!

Microsoft, hem HoloLens 2 için değil, hem de HP 'nin yeni reverb G2 kulaklıkdahil olmak üzere PC VR 'nin tamamına değil, karma gerçeklik 'in geleceği açık olduğundan emin olmak için Unity ve epic oyunlarıyla birlikte çalışmaktadır. openxr, bugün Minecraft ve Microsoft uçuş simülatörü gibi büyük başlıklar için platformlar arası VR desteğini güçlendirir! HoloLens için geliştirme hakkında daha fazla bilgi için bkz. sürüm notları.

Unity 'de OpenXR ile nasıl başlaleyeceğinizi öğrenmek için, Unreal Engine veya kendi altyapınız üzerinde okuyun!

Unity 'de OpenXR

Microsoft 'un HoloLens 2 ve Windows Mixed Reality geliştirme için önerilen geçerli unity yapılandırması, en son karma gerçeklik openxr eklentisine sahip Unity 2020,3 lts 'dir. bu eklenti, HoloLens 2 ve Windows Mixed Reality kulaklıklar özelliklerininyanı sıra el/gözle izleme, uzamsal bağlantılar ve HP reverb G2 denetleyicileri dahil olmak üzere tam yeteneklerini açan openxr uzantıları için destek içerir. MRTK-Unity, mrtk 2,7Itibariyle OpenXR 'yi destekler. Unity 2020 ve OpenXR ile çalışmaya başlama hakkında daha fazla bilgi için bkz. Unity sürümü ve XR eklentisi seçme.

HoloLens (1. gen) için geliştiriyorsanız, eski WinRT apı arka ucu ile Unity 2019,4 lts 'yi kullanmaya devam etmeniz gerekir. Yeni HP Reverb G2 denetleyicisini bir Unity 2019 uygulamasında hedefliyorsanız, bkz. HP Reverb G2 Input docs.

unity 2021,2' den başlayarak openxr, HoloLens 2 ve Windows Mixed Reality kulaklık hedeflemesi için desteklenen tek bir Unity arka ucu olacaktır.

Unreal altyapısında OpenXR

Unreal Engine 4,23, OpenXR 1,0 için Önizleme desteğini sevk etmek için ilk büyük oyun altyapısı sürümüdür! artık gerçek olmayan altyapıda 4,26, HoloLens 2, Windows Mixed Reality ve diğer masaüstü VR kulaklıklar desteği, gerçek olmayan altyapının yerleşik openxr desteğiyle sunulmaktadır. unreal Engine 4,26 ayrıca Microsoft 'un openxr uzantı eklentisinidestekler, el etkileşim ve HP ters b G2 denetleyici desteğini etkinleştirerek HoloLens 2 ' nin tam özellik kümesini ve kulaklıklar Windows Mixed Reality. Unreal Engine 4,26, OpenXR projelerini destekleyen MRTK-Unreal 0,12 ile Epic Games başlatıcısı'nda bugün kullanılabilir.

Yerel geliştirme için OpenXR

HoloLens 2 ' de openxr kullanarak, masaüstünde de modern VR Windows Mixed Reality geliştirebilirsiniz. bir kulaklık erişiminiz yoksa, bunun yerine HoloLens 2 Emulator veya Windows Mixed Reality benzeticiyi kullanabilirsiniz.

HoloLens 2 veya Windows Mixed Reality VR kulaklıklar için openxr uygulamaları geliştirmeye başlamak için bkz. openxr geliştirmeye başlama.

OpenXR API 'nin tüm önemli bileşenlerinde, OpenXR kullanan gerçek dünya uygulamalarının örneklerine ilişkin bir tur için şu 60 dakikalık izlenecek yol videosunu inceleyin:

Ayrıca bkz.