Jetpack XR için ARCore

Algılama özellikleriyle dijital içeriği gerçek dünyaya taşıyın.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
12 Aralık 2024 - - - 1.0.0-alpha01

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.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 1.0

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 bir Label öğesine sahiptir. En son algılanan uçaklar hakkında bildirim almak için subscribe simgesini, belirli bir uçakta yapılan değişiklikler hakkında bildirim almak için ise state simgesini kullanabilirsiniz.

  • Anchor: Sanal bir nesne ile gerçek dünyadaki bir konum arasındaki bağlantı. Sabitleme noktaları, uzayda belirli bir konuma (create kullanılarak) veya Trackable'e (createAnchor kullanılarak) sabitlenebilir.

    • Sabitleme noktaları farklı oturumlarda yeniden kullanılabilir. Bu değerleri depolamak için persist, saymak için getPersistedAnchorUuids ve almak için load 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 varsa getAnchor kullanarak destekleyici sabitleyicisini alabilirsiniz.

    • hitTest kullanarak doğal kullanıcı etkileşimleri sunun. hitTest, kesiştiği içerikleri belirlemek ve bu konumdan bir Anchor oluşturmak için Ray kullanır. InputEvent öğesinden hitTest çalıştırabilirsiniz.

Bilinen Sorunlar

  • unpersist çağrısı ile UUID'sinin getPersistedAnchorUuids 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.

  • Bazı durumlarda, persist çağrılırken "Sabitleme devam ettirilmedi" mesajıyla birlikte yanlışlıkla bir RuntimeException atılabilir. Bu durumlarda işlev yine de başarılı olur ve sabitleme devam ettirilir. Geçici çözüm olarak, çağrıyı try bloğuyla persist içine sarmalamanız önerilir.