OpenXR ile geliştirin

Uygun XR cihazlar
Bu kılavuz, bu tür XR cihazları için deneyimler geliştirmenize yardımcı olur.
XR Kulaklığı
Kablolu XR Gözlükleri

 

OpenXR metin logosu

Android XR, OpenXR 1.1 spesifikasyonu ve belirli tedarikçi firma uzantıları desteği aracılığıyla OpenXR ile geliştirilen uygulamaları destekler. OpenXR, çok çeşitli XR cihazlarında ortak bir API grubu kullanarak etkileyici ve etkileşimli deneyimler oluşturmanıza olanak tanıyan açık bir standarttır.

Özellikler

Android XR, OpenXR'ı kullanarak XR cihazların benzersiz özelliklerinden tam olarak yararlanan uygulamalar geliştirmenize olanak tanıyan özellikleri destekler. Bu özellikler şunlardır:

Üç boyutlu öğe çerçevesi
Sahne anlama ve uzamsal akıl yürütme için birleşik bir temel. Uygulamaların ortamdaki fiziksel uzamsal varlıkları (düzlemler, 3D mesh'ler, sınırlayıcı kutular, resimler, işaretçiler ve ek açıklamalar dahil) keşfetmesine, sorgulamasına ve izlemesine, uzamsal sınırları kullanarak keşifleri filtrelemesine, varlık arketiplerini sorgulamasına, varlıklara bağlı uzamsal çapalar oluşturmasına, uzamsal varlık ve mesh ışın dökümü gerçekleştirmesine ve uygulama oturumları boyunca uzamsal varlıkları kalıcı hale getirmesine olanak tanır.
Uzamsal kapsayıcılar
Uygulamaların OpenXR takas zincirleri ve oluşturma katmanlarını kullanarak görüntülenebilir 3D uzamsal kapsayıcılar (hem sınırlı hem de sürükleyici) oluşturup oluşturmasına olanak tanıyan, kullanıcıların aynı anda birden fazla uzamsal kapsayıcıyı deneyimlemesine olanak tanıyan, platformlar arası bir uzamsal pencereleme API'si (XR_EXT_spatial_container ve XR_EXT_spatial_container_self_rendering).
Geospatial ve Geospatial bağlayıcılar
Uygulamaların, Google'ın Görsel Konumlandırma Hizmeti (VPS) ve GPS'ini kullanarak Dünya'ya göre konumları izlemesine, Google Cloud hizmetleriyle kimlik doğrulaması yapmasına ve belirli enlem, boylam ve rakımlara Coğrafi Bağlantılar ve Yüzey Bağlantıları yerleştirmesine olanak tanır.
Takip edilebilirler
Ortamdaki düz yüzeyleri tanımlayıp takip etme özelliği olan düzlem algılamayı destekler. Bu sayede sanal nesneler gerçek dünyaya göre yerleştirilebilir. Ayrıca, gerçek dünyadaki nesnelere veya konumlara eklenebilen sanal referans noktaları olan yer işaretlerini de destekler. Bu sayede sanal içerikler, kullanıcı hareket etse bile doğru şekilde konumlandırılır ve yönlendirilir.
Işın dökümü
Sanal bir ışın ile sahnedeki nesneler veya dünya mesh'leri arasındaki kesişim noktasını belirlemek için kullanılan bir tekniktir. Sanal öğeleri seçme ve değiştirme gibi etkileşimleri kolaylaştırır.
Sabit reklam kalıcılığı
Bağlantı noktalarını birden fazla oturumda kaydedip geri yükleme özelliği sayesinde sanal içerikler, ortamda kalıcı ve tutarlı bir şekilde yerleştirilebilir.
Nesne izleme
Gerçek dünyada fare, klavye ve diğer fiziksel nesneleri takip etme özelliği.
Resim ve işaretçi izleme
Ortamdaki düzlemsel referans görselleri ve fiziksel işaretçileri (ör. AprilTag'ler ve ArUco işaretçileri) algılama ve izleme özelliği.
QR kodu izleme
Fiziksel ortamdaki QR kodlarını takip etme ve verilerinin kodunu çözme özelliği.
Derinlik dokuları
Kamera ile sahnedeki nesneler arasındaki mesafe hakkında bilgi veren derinlik haritalarının oluşturulması, daha gerçekçi örtüşme ve etkileşim efektleri sağlar.
Gerçek görüntü
Gerçek dünyadaki kamera görüntülerini sanal içerikle harmanlayarak fiziksel ve dijital dünyaları sorunsuz bir şekilde birleştiren karma gerçeklik deneyimi oluşturma özelliği.
Genel geçiş karartma
Uygulamaların, sanal içeriği fiziksel ortamla birleştirmek için genel geçiş karartma düzeyini ayarlamasına ve sorgulamasına, ayrıca karartma düzeyi değiştiğinde etkinlikleri almasına olanak tanır.
Görüntü alanı yumuşatma
Çalışma zamanı tarafından uygulanan yumuşatılmış çevre alanını gösterir. Böylece uygulamalar, kullanıcı arayüzü öğelerini çevre yumuşatmadan etkilenmeyen güvenli alan içinde düzenleyebilir.
Sahne ağ oluşturma
Fizik, oklüzyon ve dünyayı algılayan diğer etkileşimler için kullanılabilecek ortamın 3D ağını elde etme özelliği.
Bileşik katman geçişi
Çokgen geçişli kompozisyon katmanı kesitine olanak tanır, gerçek dünyadaki nesneleri bir sahneye taşımak için kullanılabilir.
Yüz izleme
Görsel ve işitsel veri kaynaklarından kullanıcının yüz özelliklerini takip ederek daha gerçekçi ve etkileyici avatarlar ile sanal karakterler oluşturma özelliği.
Göz takibi
Kullanıcının gözünün konumunu ve yönünü sağlar. Bu, avatarların göz pozunu daha gerçekçi hale getirmek için tasarlanmıştır.
El takibi
Kullanıcının ellerinin konumunu ve hareketini izleme özelliği.
El ağı
Kullanıcının ellerini düşük poligonlu bir ağ olarak doğru şekilde temsil eder. Mümkün olan en iyi performansı elde etmeniz için platformdan uygulamaya yayınlama için optimize edilmiştir. Bu, bağlama pozu ve karışım ağırlıkları kullanan diğer uzantılara bir alternatiftir.
Hale efekti
Baş ve el takibi girişlerini kullanarak kullanıcının vücut eklem konumlarını ve oranlarını tahmin eder.
Işık tahmini
Kullanıcının gerçek dünyadaki ışıklandırma koşullarına uyacak şekilde ışıklandırma modelleri (yönlü, ortam, küresel harmonikler ve küp haritası ışıklandırması dahil) için kullanılır.

Desteklenen giriş cihazları

Android XR aşağıdaki giriş cihazlarını da destekler.

El Etkileşimi
Kullanıcıların elle yapılan hareketler ve el hareketleri kullanarak sanal nesnelerle etkileşim kurmasını sağlayan, sıkıştırma, kaydırma ve işaret etme gibi belirli elle yapılan hareketlerin tanınması.
Göz Bakışı Etkileşimi
Kullanıcının göz hareketlerini takip ederek bakışlarıyla sanal nesneleri seçmesine ve onlarla etkileşime girmesine olanak tanır.
6DoF Hareket Kumandaları
Uygulama içinde işlemleri veya fareyle üzerine gelme etkinliklerini tetiklemek için kumanda konumunu ve hareketini, yön tuşları ve düğme bağlamalarıyla birlikte izleme özelliği.
Fare Etkileşimi
Kullanıcıların 3D alanda fare işaretçisiyle nesnelerle etkileşim kurabilmesi

Desteklenen performans özellikleri

Android XR, performansla ilgili aşağıdaki özellikleri destekler.

Göz takibiyle foveasyon
Uygulamaların, yalnızca gözün odak noktasında daha yüksek çözünürlüklü içerik oluşturmasına olanak tanır.
Uzayda bükülme
Kullanıcılarınızın deneyimlerinize kendilerini kaptırmalarını sağlamak için gereken kare hızını etkili bir şekilde artıran ara kareler oluşturmak üzere hız vektörlerini ve derinlik dokusu bilgilerini kullanır.
Kare sentezi
Uygulama tarafından sağlanan hareket vektörlerini ve kare verilerini kullanarak ara kareleri sentezler, görsel akıcılığı ve kare hızlarını artırır.
Performans metrikleri
Mevcut XR cihazının, birleştiricinin ve XR uygulamasının çalışma zamanında Android XR performans metriklerini sağlar. Buna CPU kare süresi, GPU kare süresi, GPU kullanımı, CPU frekansı, saniyedeki kare sayısı ve diğerleri dahildir.

Desteklenen özelliklerin ve uzantıların tam listesi için OpenXR Özelliklerine Genel Bakış sayfasını inceleyin.

Desteklenen arama motorları

Android XR ile OpenXR geliştirme için aşağıdaki motorlar desteklenir.

Unity

Android XR'ın OpenXR üzerine inşa edilen Unity desteği, geliştiricilerin Unity 6'yı kullanarak deneyimler oluşturmasına olanak tanır. Unity ile XR uygulamaları oluşturma hakkında daha fazla bilgiyi Unity'ye genel bakış bölümünde bulabilirsiniz.

Unreal Engine

Unreal Engine, OpenXR standardı aracılığıyla Android XR'ı destekler. Bu sayede Unreal Engine 5'teki standart araçları ve iş akışlarını kullanabilirsiniz. Unreal Engine ile XR uygulamaları oluşturma hakkında daha fazla bilgi edinmek için Unreal Engine'e genel bakış sayfasını inceleyin.

Godot

Godot, OpenXR entegrasyonu aracılığıyla Android XR'ı destekler. Böylece standart Godot iş akışını kullanarak Android için XR uygulamaları oluşturabilir ve dışa aktarabilirsiniz. Godot ile XR uygulamaları oluşturma hakkında daha fazla bilgi edinmek için Godot'ya genel bakış sayfasını inceleyin.


OpenXR™ ve OpenXR logosu, The Khronos Group Inc. şirketine ait ticari markalardır ve Çin, Avrupa Birliği, Japonya ve Birleşik Krallık'ta ticari marka olarak tescillidir.