Jetpack XR için ARCore
Son Güncelleme | Kararlı Sürüm | Sürüm Adayı | Beta Sürümü | Alfa Sürüm |
---|---|---|---|---|
12 Şubat 2025 | - | - | - | 1.0.0-alpha02 |
Bağımlılıkları beyan etme
Jetpack XR için ARCore bağımlılığı eklemek istiyorsanız Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu inceleyin.
Uygulamanızın veya modülünüzün build.gradle
dosyasına ihtiyacınız olan yapıların bağımlılıklarını ekleyin:
Eski
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.
Geri bildirim
Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy verebilirsiniz.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 1.0
Sürüm 1.0.0-alpha02
12 Şubat 2025
androidx.xr.arcore:arcore:1.0.0-alpha02
yayınlanır. 1.0.0-alpha02 sürümü bu taahhütleri içerir.
Yeni Özellikler
- El takibi desteği eklendi. İzleme bilgilerine erişmek için
Hand.left
veHand.right
öğelerini kullanın. - Sabit nokta oluşturan API'lerin (
Anchor.create
,Anchor.load
,Plane.createAnchor
) tümü artıkAnchorCreateResult
döndürüyor veAnchorCreateResourcesExhausted
'i düzgün şekilde uyguluyor.
Hata düzeltmeleri
Anchor.detach
, oturum güncelleme iş parçacığı ile yarış koşulu nedeniyle artık kritik kilitlenmeye neden olmuyor.Anchor.create
, emülatörde çalışırken daha kararlıdır
Sürüm 1.0.0-alpha01
12 Aralık 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
yayınlanır.
İlk sürümün özellikleri
Mevcut ARCore kitaplığından ilham alan Jetpack XR için ARCore kitaplığı, dijital içeriği gerçek dünyayla harmanlama olanakları sunar. Bu kitaplıkta hareket izleme, kalıcı ankrajlar, isabet testi ve anlamsal etiketlemeyle düzlem tanımlama (ör. zemin, duvarlar ve masa üstleri) bulunur. Jetpack XR için ARCore ile çalışma hakkında daha fazla bilgi edinmek üzere geliştirici kılavuzunu inceleyin.
Session
: Jetpack XR için ARCore, işlevselliğini desteklemek amacıyla arka planda Jetpack XR Runtime'ı kullanır. Jetpack XR için ARCore API'lerinin çoğuyla etkileşimde bulunmak üzere oturum kullanacağınızdan lütfen ilgili dokümanları inceleyin.Plane
: Etrafınızdaki dünyayı anlamak için düzlemleri kullanın. Her düzlem, kendisini semantik olarak tanımlayan birLabel
öğesine sahiptir. Tespit edilen en son uçaklar hakkında bildirim almak içinsubscribe
simgesini, belirli bir uçakta yapılan değişiklikler hakkında bildirim almak için isestate
simgesini kullanabilirsiniz.Anchor
: Sanal bir nesne ile gerçek dünyadaki bir konum arasındaki bağlantı. Sabitleme noktaları, uzayda belirli bir konuma (create
) veyaTrackable
'e (createAnchor
) sabitlenebilir.Sabitleme noktaları farklı oturumlarda yeniden kullanılabilir. Bu değerleri depolamak için
persist
, numaralandırmak içingetPersistedAnchorUuids
ve almak içinload
kullanabilirsiniz. Artık kullanılmayan cihazlarıunpersist
ettiğinizden emin olun.Sabitleme noktaları, Jetpack XR için ARCore ve Jetpack SceneCore arasında birlikte çalışabilir. Bir sabitleyici kullanarak
AnchorEntity
oluşturabilir veya mevcut bir AnchorEntity'niz varsagetAnchor
kullanarak destekleyici sabitleyicisini alabilirsiniz.hitTest
kullanarak doğal kullanıcı etkileşimleri sunun. hitTest, kesiştiği içerikleri belirlemek ve bu konumdan birAnchor
oluşturmak içinRay
kullanır.InputEvent
öğesinden hitTest çalıştırabilirsiniz.
Bilinen Sorunlar
unpersist
çağrısı ile UUID'siningetPersistedAnchorUuids
tarafından döndürülen sonuçlardan kaldırılması arasında gecikme olabilir.create
, sistemin yeni ankrajlar döndürecek yeterli kaynağa sahip olup olmadığını doğrulamaz. Çok fazla ana sayfa bağlantısı oluşturmak kilitlenmeye neden olabilir.Daha önce kalıcılaştırılmış ve kalıcılaştırılmamış bir ankrajın kalıcılaştırılması şu anda desteklenmiyor.
Emülatörde kullanım desteklenir ancak davranış, gerçek bir cihazda çalıştırıldığındaki kadar kararlı olmayabilir. Özellikle
create
çağrıları, yerel kod hatasıyla başarısız olabilir ve etkinliği hemen sonlandırabilir.Belirli durumlarda,
persist
çağrılırken "Anchor was not persisted" ("Anchor was not persisted") mesajıyla birlikte yanlışlıkla birRuntimeException
oluşturulabilir. Bu durumlarda işlev yine de başarılı olur ve ankraj devam ettirilir. Geçici çözüm olarak, çağrıyıtry
bloğuylapersist
içine sarmalamanız önerilir.