Aracılığıyla paylaş


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.

Masaüstünde HoloLens 2 veya Windows Karma Gerçeklik çevreleyici VR başlığı üzerinde OpenXR kullanarak geliştirme yapabilirsiniz. Mikrofonlu kulaklığa erişiminiz yoksa, bunun yerine HoloLens 2 Öykünücüsü'ne veya Windows Karma Gerçeklik Simülatörü'ne erişebilirsiniz.

Neden OpenXR?

OpenXR ile hem HoloLens 2 gibi holografik cihazları hem de masaüstü bilgisayarlar için Windows Karma Gerçeklik kulaklı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ıza olanak tanır.

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 Karma Gerçeklik ister başka bir kulaklık kullanıyor olsunlar, son kullanıcılar en yüksek performansa ve en düşük gecikme süresine sahip olur.

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'nin tam özellik kümesini hedeflemek için, satıcılar arası ve satıcıya özgü OpenXR uzantılarını da kullanırsınız. Bunlar, ifadeli el izleme, göz izleme, uzamsal haritalama ve uzamsal tutturucular gibi özellikleri etkinleştirir. Daha fazla bilgi için, bu yılın sonlarında sunulacak uzantılarla ilgili 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, kullanıcının holografik veya çevreleyici cihazının yerel platform özelliklerine (satıcının oluşturduğu platform) 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 diğer işlevleri kullanıma sunmalarını 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ını tanıtabilir ve gönderebilir.
  • 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.
  • Satıcılar EXT arası uzantılar: Birden çok şirketin tanımlayıp uyguladığı satıcılar arası uzantılar. İlgili şirket grupları istedikleri zaman EXT uzantılarını tanıtabilir.
  • Resmi KHR uzantılar: Resmi Khronos uzantıları, çekirdek belirtim sürümünün bir parçası olarak onaylandı. KHR uzantıları, çekirdek belirtiminin kendisiyle aynı lisans kapsamındadır.

Windows Karma Gerçeklik OpenXR Çalışma Zamanı, Tüm HoloLens 2 özelliklerini OpenXR uygulamalarına getiren bir MSFT dizi ve EXT uzantıyı 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...
Swapchains + çerçeve zamanlaması OpenXR 1.0 çekirdek belirtimi:
XrSwapchain... + xrWaitFrame
Kompozisyon katmanları
(projeksiyon, dörtlü)
OpenXR 1.0 çekirdek belirtimi:
XrCompositionLayer... + xrEndFrame
Giriş ve haptikler 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 tutturucular

MSFT uzantı yayımlandı:
XR_MSFT_spatial_anchor

MSFT uzantı çalışma zamanı 108'de yayımlandı: (yalnızca HoloLens 2)
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
Sahne işaretçisi (QR Kodları)

Yalnızca HoloLens 2

MSFT uzantı çalışma zamanı 113'te yayımlandı:
XR_MSFT_scene_marker
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şlasa da, Microsoft ve diğer OpenXR çalışma zamanı satıcıları bu özellik alanlarının çoğu için çapraz satıcılar EXT veya KHR uzantılar tasarlamak üzere birlikte çalışmaktadır. Satıcılar arası uzantılar, bu özellikler için yazdığınız kodu çekirdek belirtiminde 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 oynatılan 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 tüm genişliği 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 Karma Gerçeklik geliştirmesi 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 tutturucular ve HP Reverb G2 denetleyicileri dahil olmak üzere HoloLens 2 ve Windows Karma Gerçeklik kulaklıklarını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 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 eski WinRT API arka ucuyla Unity 2019.4 LTS'yi kullanmaya devam etmeniz gerekir. Unity 2019 uygulamasında yeni HP Reverb G2 denetleyicisini hedef alıyorsanız HP Reverb G2 giriş belgelerimize bakın.

Unity 2021.3 LTS'den başlayarak, OpenXR HoloLens 2 ve Windows Karma Gerçeklik kulaklıklarını hedeflemek için desteklenen tek Unity arka ucudur.

Unreal Engine'de OpenXR

Unreal Engine 4.23, OpenXR 1.0 için gönderim önizleme desteği veren ilk büyük oyun motoru sürümüdür! Artık Unreal Engine 4.26'da HoloLens 2, Windows Karma Gerçeklik 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 destekler. Bu sayede el etkileşimi ve HP Reverb G2 denetleyici desteği sayesinde HoloLens 2 ve Windows Karma Gerçeklik mikrofonlu kulaklıkların tüm özellik setini aydınlatabilirsiniz. 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

Masaüstünde HoloLens 2 veya Windows Karma Gerçeklik çevreleyici VR başlığı üzerinde OpenXR kullanarak geliştirme yapabilirsiniz. Mikrofonlu kulaklığa erişiminiz yoksa, bunun yerine HoloLens 2 Öykünücüsü'ne veya Windows Karma Gerçeklik Simülatörü'ne erişebilirsiniz.

HoloLens 2 veya Windows Karma Gerçeklik VR 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.