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 Ş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.

Yeni bir sorun oluşturma

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 ve Hand.right öğelerini kullanın.
  • Sabit nokta oluşturan API'lerin (Anchor.create, Anchor.load, Plane.createAnchor) tümü artık AnchorCreateResult döndürüyor ve AnchorCreateResourcesExhausted'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 bir Label öğesine sahiptir. Tespit edilen en son 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) veya Trackable'e (createAnchor) sabitlenebilir.

    • Sabitleme noktaları farklı oturumlarda yeniden kullanılabilir. Bu değerleri depolamak için persist, numaralandırmak 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.

  • Belirli durumlarda, persist çağrılırken "Anchor was not persisted" ("Anchor was not persisted") mesajıyla birlikte yanlışlıkla bir RuntimeException 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ğuyla persist içine sarmalamanız önerilir.