{ } { }
Jetpack SceneCore
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
XR SceneCore'a bağımlı eklemek için projenize Google Maven deposunu 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.scenecore:scenecore:1.0.0-alpha01" // Required for Java implementation "com.google.guava:listenableFuture:1.0" // Required for Kotlin implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0" // Use to write unit tests testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha01") // Required for Java implementation("com.google.guava:listenableFuture:1.0") // Required for Kotlin implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0") // Use to write unit tests testImplementation("androidx.xr.scenecore:scenecore-testing: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-alpha01
12 Aralık 2024
androidx.xr.scenecore:scenecore-* 1.0.0-alpha01
yayınlanır.
İlk Sürümün Özellikleri Immersive sahneler ve ortamlar oluşturmak ve bunlarda değişiklik yapmak için kullanılan 3D sahne grafiği kitaplığı Jetpack SceneCore'un ilk geliştirici sürümü. Bu kitaplık, 3D modelleri ve içerik panellerini birbirine ve sanal veya gerçek dünya ortamlarınıza göre yerleştirmenize ve düzenlemenize olanak tanır.
- SpatialEnvironment: Ortamınızın XR sahnesinin arka planı olarak bir gökyüzü kutusu resmi ve/veya 3D model geometrisi kullanarak tamamen etkileyici deneyimler oluşturun. Alternatif olarak, sanal sahnenizin kullanıcının gerçek dünya ortamıyla entegre olabilmesi için geçişi etkinleştirebilirsiniz.
- PanelEntity: Standart Android düzenlerini ve etkinliklerini, gerçek dünyadaki yüzeylere sabitlenebilen veya yüzebilen uzamsal panellere yerleştirerek 3D sahnelerinize 2D içerik ekleyin.
- GltfModelEntity: Sahnenizde 3D modeller yerleştirin, animasyonlu hale getirin ve bunlarla etkileşim kurun. SceneCore, mevcut modellerle entegrasyonu kolaylaştırmak için glTF dosya biçimini destekler.
- Üç Boyutlu Ses: Tam anlamıyla sürükleyici, üç boyutlu ses için 3D sahnenize ortam ve nokta ses kaynakları ekleyin.
- StereoSurfaceEntity: SceneCore, Android yüzeyinde oluşturulan içeriğin sol/sağ göze yönlendirilmesini destekler. Bu, stereoskopik içeriği yan yana veya yukarıdan aşağıya biçiminde (ör. stereo fotoğraflar, 3D video veya dinamik olarak oluşturulan diğer kullanıcı arayüzleri) oluşturmak için kullanılabilir. Uygulamalar, video kod çözme için MediaPlayer veya ExoPlayer'ı kullanmalıdır.
- Bileşen sistemi: SceneCore, kullanıcıların modelleri ve panelleri taşıması, yeniden boyutlandırması ve bunlarla etkileşime geçmesi için olanaklar da dahil olmak üzere XR içeriğinize özellikler eklemek için güçlü ve esnek bir bileşen sistemi sunar.
- Sabitleme: Geçiş etkinleştirildiğinde panelleri ve modelleri gerçek yüzeylere ekleyebilir, böylece kullanıcılara sanal içeriği gerçek dünya ortamlarına sorunsuz bir şekilde entegre etme olanağı sunabilirsiniz.
- Kullanıcı Pozu: İçeriğinizi kullanıcının konumuna göre yönlendirmek için kullanıcının sanal sahnedeki konumuna erişin.
- SpatialCapabilities: Kullanılabilir olduğunda kullanıcı arayüzü içeriğinin 3D olarak konumlandırılması gibi mekansallaştırılmış özelliklerden yararlanan tamamen uyarlanabilir uygulamalar oluşturun. Ayrıca uygulamanız, çalıştırıldığı sırada özelliklerde yapılan değişiklikleri izleyebilir. Böylece, deneyimi kullanıcının Android XR cihazını kullanma şekline göre değiştirebilir.
Bilinen Sorunlar
- Jetpack SceneCore'u kullanmak için şu anda 30'un üzerinde bir minSDK gereklidir. Çözüm olarak, 23 minSDK ile derleyip çalıştırabilmek için aşağıdaki manifest girişini
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
ekleyin. - Ana panelin yeniden boyutlandırılması, çevre birimlerinin bağlanması ve açık ile koyu mod arasında geçiş yapılması gibi etkinliği otomatik olarak yeniden oluşturan çeşitli durumlarda oturum geçersiz hale gelebilir. Oturum geçersizleştirme sorunlarıyla karşılaşırsanız geçici çözümler arasında ana panelinizi yeniden boyutlandırılamaz hale getirme, dinamik panel öğesi kullanma, belirli yapılandırma değişiklikleri için etkinlik yeniden oluşturmayı devre dışı bırakma veya açık/karanlık mod tema değişikliklerini devre dışı bırakma yer alır.
- Taşınabilir ve yeniden boyutlandırılabilir bileşenler GltfEntity'de desteklenmez.
- Entity.getSize(), GltfEntity üzerinde desteklenmez.
- Jetpack XR uygulamalarının AndroidManifest'te
android.permission.SCENE_UNDERSTANDING
izni istemesi gerekiyor. - Oturum oluşturma özelliği yalnızca Android XR cihazlarda desteklenir. Şu anda bir oturum oluşturup Android XR dışında bir cihazda kullanmayı denerseniz RuntimeException alırsınız.
- "SpatialEnvironment.setSpatialEnvironmentPreference()" aracılığıyla gökyüzü kutusunu null olarak ayarlamak, dokümanda belirtildiği gibi tamamen siyah bir gökyüzü kutusu oluşturmaz. Bu işlem, sistemin varsayılan gökyüzü kutusuna neden olabilir veya mevcut gökyüzü kutusuyla ilgili herhangi bir değişiklik yapmaz.
- SceneCore istemcileri, uygulamalarının bağımlılıkları için Gradle yapılandırmalarına
implementation(“com.google.guava:listenablefuture-1.0”)
eklemelidir. Gelecekteki bir sürümde scenecore, bu kitaplığıapi
bağımlılığı olarak içerecek. Böylece istemcilerin bunu açıkça belirtmesi gerekmeyecek. - SceneCore,
com.google.guava:guava-31.1-android
vecom.google.protobuf:protobuf-javalite
'u geçişli bağımlılık olarak yanlışlıkla dahil ediyor. Bu, derlemenizde yinelenen sınıf hatalarına neden olursa bu iki bağımlılık güvenli bir şekilde hariç tutulabilir. - Uygulamanız SceneCore kullanıyorsa ve ProGuard'ı etkinleştirdiyseniz oturum oluşturduğunuzda uygulamanız kilitlenir. Geçici çözüm olarak ProGuard'ı devre dışı bırakın. ProGuard'ı etkinleştirme hakkında daha fazla bilgi için bu kılavuza bakın.