OpenXR

OpenXR logosu

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.
  • 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
XR_KHR_D3D12_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

MSFT uzantı yayımlandı:
XR_MSFT_spatial_anchor

MSFT uzantı çalışma zamanı 108:(yalnızca HoloLens 2) içinde yayımlandı
XR_MSFT_spatial_anchor_persistence

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

EXT uzantı yayımlandı:
XR_EXT_hand_tracking

MSFT uzantı yayımlandı:
XR_MSFT_hand_tracking_mesh

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))

MSFT uzantı çalışma zamanı 105'te yayımlandı:
XR_MSFT_perception_anchor_interop

Diğer satıcılar arası uzantılar

Yayınlanan resmi KHR 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

EXT uzantılar yayımlandı:
XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

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?

Karma gerçeklik başlığı takan bir kullanıcı tarafından oynanan Minecraft'ın ekran görüntüsü

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:

Ayrıca bkz.