OpenXR
OpenXR, Khronos'un açık telifsiz API standardıdır ve motorlara karma gerçeklik spektrumundaki çeşitli cihazlara yerel erişim sağlar.
OpenXR'yi HoloLens 2 kullanarak geliştirebilir veya masaüstünde çevreleyici VR başlığı Windows Mixed Reality. Mikrofonlu kulaklığa erişiminiz yoksa bunun yerine HoloLens 2 Öykünücüsü veya Windows Mixed Reality Simülatörü'ni kullanabilirsiniz.
Neden OpenXR?
OpenXR ile hem HoloLens 2 gibi holografik cihazları hem de masaüstü bilgisayarlar için Windows Mixed Reality başlıkları gibi çevreleyici VR cihazlarını hedefleyen altyapılar oluşturabilirsiniz. OpenXR, daha sonra çok çeşitli donanım platformları arasında taşınabilir bir kod yazmanızı sağlar.
OpenXR API'sinde, uygulamanızı doğrudan mikrofonlu kulaklığınızın yerel platform desteğine bağlamak için bir yükleyici kullanılır. İster Windows Mixed Reality ister başka bir kulaklık kullanıyor olsunlar, son kullanıcılar maksimum performans ve minimum gecikme süresi elde ederler.
OpenXR nedir?
OpenXR API'sinde hem holografik hem de çevreleyici cihazları hedefleyebilecek bir altyapı oluşturmak için ihtiyacınız olan temel poz tahmini, çerçeve zamanlaması ve uzamsal giriş işlevleri sağlanır.
OpenXR API'sini öğrenmek için OpenXR 1.0 belirtimi, API başvurusu ve hızlı başvuru kılavuzuna göz atın. Daha fazla bilgi için Khronos OpenXR sayfasına bakın.
HoloLens 2 tam özellik kümesini hedeflemek için, OpenXR 1.0 çekirdeğinin ötesinde el izleme, göz izleme, uzamsal eşleme ve uzamsal tutturucular gibi ek özellikleri etkinleştiren satıcılar arası ve satıcıya özgü OpenXR uzantılarını da kullanacaksınız. Daha fazla bilgi için bu yılın sonlarında eklenecek uzantılar hakkında aşağıdaki Yol Haritası bölümüne bakın.
OpenXR kendisi bir karma gerçeklik altyapısı değildir. Bunun yerine OpenXR, Unity ve Unreal gibi altyapıların, kullanıcının holografik veya çevreleyici cihazının yerel platform özelliklerine (bu platformu hangi satıcı tarafından oluşturulduysa) erişebilmesi için taşınabilir kod yazabilmesini sağlar.
Yol Haritası
OpenXR belirtimi, çalışma zamanı uygulayıcılarının temel OpenXR 1.0 belirtiminde tanımlanan temel özelliklerin ötesinde ek işlevleri kullanıma sunmayı sağlayan bir uzantı mekanizması tanımlar.
Üç tür OpenXR uzantısı vardır:
- Satıcı uzantıları (örneğin,
XR_MSFT_...
): Donanım veya yazılım özelliklerinde satıcı başına yeniliği etkinleştirir. Herhangi bir çalışma zamanı satıcısı, istediği zaman bir satıcı uzantısı ekleyebilir ve sevk edebilir.- Deneysel satıcı uzantıları (örneğin,
XR_MSFTX_...
): Geri bildirim toplamak için önizlenen deneysel satıcı uzantıları.XR_MSFTX_...
uzantılar yalnızca geliştirici cihazlarına yöneliktir ve gerçek uzantı geldiğinde kaldırılır. Bu uzantılarla deneme yapmak için geliştirici cihazınızda önizleme uzantılarını etkinleştirebilirsiniz.
- Deneysel satıcı uzantıları (örneğin,
- Satıcılar
EXT
arası uzantılar: Birden çok şirketin tanımlayıp uyguladığı satıcılar arası uzantılar. İlgilenen şirket grupları istedikleri zaman EXT uzantılarını tanıtabilir. - Resmi
KHR
uzantılar: Resmi Khronos uzantıları, temel belirtim yayınının bir parçası olarak onaylandı. KHR uzantıları, çekirdek belirtimlerin kendisiyle aynı lisans kapsamındadır.
Windows Mixed Reality OpenXR Çalışma Zamanı, OpenXR uygulamalarına tüm HoloLens 2 özelliklerini getiren bir MSFT
dizi ve EXT
uzantısını destekler:
Özellik alanı | Uzantı kullanılabilirliği |
---|---|
Sistemler + oturumlar | OpenXR 1.0 çekirdek belirtimi:XrInstance , XrSystemId , XrSession |
Başvuru alanları (görünüm, yerel, aşama) | OpenXR 1.0 çekirdek belirtimi:XrSpace |
Yapılandırmaları görüntüleme (mono, stereo) | OpenXR 1.0 çekirdek belirtimi:XrView... |
Değiştirme zincirleri + çerçeve zamanlaması | OpenXR 1.0 çekirdek belirtimi:XrSwapchain... + xrWaitFrame |
Kompozisyon katmanları (projeksiyon, dörtlü) |
OpenXR 1.0 çekirdek belirtimi:XrCompositionLayer... + xrEndFrame |
Giriş ve haptics | OpenXR 1.0 çekirdek belirtimi:XrAction... |
Direct3D 11/12 tümleştirmesi | Yayınlanan resmi KHR uzantılar:XR_KHR_D3D11_enable |
İlişkisiz başvuru alanı (dünya ölçeğinde deneyimler) |
MSFT uzantı yayımlandı:XR_MSFT_unbounded_reference_space |
Uzamsal yer işaretleri |
|
El etkileşimi (kavrama/nişan alma pozu, hava dokunma, kavrama) Yalnızca HoloLens 2 |
MSFT uzantı yayımlandı:XR_MSFT_hand_interaction |
El eklemleme + el örgü Yalnızca HoloLens 2 |
|
Göz bakışı Yalnızca HoloLens 2 |
EXT uzantı yayımlandı:XR_EXT_eye_gaze_interaction |
yakalamayı Karma Gerçeklik (PV kameradan üçüncü işleme) Yalnızca HoloLens 2 |
MSFT uzantılar yayımlandı:XR_MSFT_secondary_view_configuration XR_MSFT_first_person_observer |
Hareket denetleyicisi etkileşim profilleri (Samsung Odyssey ve HP Reverb G2) |
MSFT çalışma zamanı 103'te yayımlanan uzantılar:XR_EXT_samsung_odyssey_controller XR_EXT_hp_mixed_reality_controller |
Hareket denetleyicisi işleme modelleri | MSFT uzantı çalışma zamanı 104'te yayımlandı:XR_MSFT_controller_model |
Sahne anlama (düzlemler, kafesler) Yalnızca HoloLens 2 |
MSFT uzantı çalışma zamanı 106'da yayımlandı:XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization |
Kompozisyon katmanı yeniden oluşturma modları (otomatik planlı veya yalnızca yönlendirmeli yeniden oluşturma) |
MSFT uzantı çalışma zamanı 106'da yayımlandı:XR_MSFT_composition_layer_reprojection |
Diğer Karma Gerçeklik SDK'larla birlikte çalışma (örneğin, QR) |
MSFT uzantı yayımlandı:XR_MSFT_spatial_graph_bridge |
UWP CoreWindow API'siyle birlikte çalışma (örneğin, klavye/fare için) |
MSFT uzantı çalışma zamanı 103'te yayımlandı:XR_MSFT_holographic_window_attachment |
Eski Karma Gerçeklik WinRT API'leriyle birlikte çalışma (örneğin, SpatialAnchorTransferManager )) |
|
Diğer satıcılar arası uzantılar | Yayınlanan resmi
|
Bu uzantılardan bazıları satıcıya özgü MSFT
uzantılar olarak başlatılabilir ancak Microsoft ve diğer OpenXR çalışma zamanı satıcıları, bu özellik alanlarının birçoğu için satıcılar EXT
arası veya KHR
uzantılar tasarlamak için birlikte çalışır. Satıcılar arası uzantılar, bu özellikler için yazdığınız kodu temel belirtimlerde olduğu gibi çalışma zamanı satıcıları arasında taşınabilir hale getirir.
OpenXR'ı nerede kullanabilirsiniz?
Minecraft'ın yeni RenderDragon motoru, OpenXR kullanarak masaüstü VR desteğini oluşturmüstü!
Microsoft, karma gerçekliğin geleceğinin yalnızca HoloLens 2 için değil, HP'nin yeni Reverb G2 mikrofonlu kulaklığı da dahil olmak üzere pc VR'nin tamamı boyunca açık olmasını sağlamak için Unity ve Epic Games ile birlikte çalışmaktadır. OpenXR, Minecraft ve Microsoft Flight Simulator gibi büyük başlıkların sevkiyatı için satıcılar arası VR desteğini destekler! HoloLens (1. nesil) için geliştirme hakkında daha fazla bilgi için sürüm notlarına bakın.
Unity, Unreal Engine veya kendi altyapınızda OpenXR ile çalışmaya nasıl başlayabileceğinizi öğrenmek için okumaya devam edin!
Unity'de OpenXR
Microsoft'un HoloLens 2 ve Windows Mixed Reality geliştirme için geçerli önerilen Unity yapılandırması, Karma Gerçeklik OpenXR eklentisiyle Unity 2020.3 LTS'dir. Bu eklenti, el/göz izleme, uzamsal çapalar ve HP Reverb G2 denetleyicileri dahil olmak üzere HoloLens 2 ve Windows Mixed Reality kulaklıkların tüm özelliklerini aydınlatan OpenXR uzantıları için destek içerir. MRTK-Unity , MRTK 2.7 itibarıyla OpenXR'ı destekler. Unity 2020 ve OpenXR'yi kullanmaya başlama hakkında daha fazla bilgi için bkz. Unity sürümü ve XR eklentisi seçme.
HoloLens (1. nesil) için geliştiriyorsanız unity 2019.4 LTS'yi eski WinRT API arka ucuyla kullanmaya devam etmeniz gerekir. Unity 2019 uygulamasında yeni HP Reverb G2 denetleyicisini hedefliyorsanız HP Reverb G2 giriş belgelerimize bakın.
Unity 2021.3 LTS'den itibaren OpenXR, HoloLens 2 ve Windows Mixed Reality kulaklıkları hedeflemek için desteklenen tek Unity arka ucu olacaktır.
Unreal Engine'de OpenXR
Unreal Engine 4.23, OpenXR 1.0 için önizleme desteği göndermeye yönelik ilk önemli oyun motoru sürümüdür! Artık Unreal Engine 4.26'da HoloLens 2, Windows Mixed Reality ve diğer masaüstü VR kulaklık desteği Unreal Engine'in yerleşik OpenXR desteği aracılığıyla kullanılabilir. Unreal Engine 4.26, Microsoft'un OpenXR uzantı eklentisini de destekleyerek el etkileşimi ve HP Reverb G2 denetleyici desteği sağlayarak HoloLens 2 ve Windows Mixed Reality kulaklıklardan oluşan tüm özellik kümesini aydınlatmanızı sağlar. Unreal Engine 4.26 bugün Epic Games Launcher'da kullanılabilir ve MRTK-Unreal 0.12, OpenXR projelerini destekler.
Yerel geliştirme için OpenXR
OpenXR'yi HoloLens 2 kullanarak geliştirebilir veya masaüstünde çevreleyici VR başlığı Windows Mixed Reality. Mikrofonlu kulaklığa erişiminiz yoksa bunun yerine HoloLens 2 Öykünücüsü'ne veya Windows Mixed Reality Simülatörü'ne erişebilirsiniz.
HoloLens 2 veya Windows Mixed Reality VR mikrofonlu kulaklıklar için OpenXR uygulamaları geliştirmeye başlamak için bkz. OpenXR geliştirmeye başlama.
OpenXR API'sinin tüm önemli bileşenlerinin yanı sıra bugün OpenXR kullanan gerçek dünya uygulamalarının örnekleriyle birlikte bir tur için şu 60 dakikalık izlenecek yol videosunu gözden geçirin: