{ } { }

Jetpack SceneCore

أنشئ رسمًا بيانيًا للمشهد في Android XR وحرِّكه باستخدام محتوى ثلاثي الأبعاد.
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
12 كانون الأول (ديسمبر) 2024 - - - 1.0.0-alpha01

الإعلان عن التبعيات

لإضافة تبعية على XR SceneCore، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

Groovy

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")
}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإنشاء.

ملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زر النجمة.

إنشاء مشكلة جديدة

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

الإصدار 1.0

الإصدار 1.0.0-alpha01

12 كانون الأول (ديسمبر) 2024

تم إصدار androidx.xr.scenecore:scenecore-* 1.0.0-alpha01.

ميزات الإصدار الأولي الإصدار الأولي للمطوّرين من Jetpack SceneCore، وهي مكتبة لرسم المخططات الثلاثية الأبعاد للمشاهد لإنشاء المشاهد والبيئات الغامرَين وتعديلهما. تتيح لك هذه المكتبة وضع النماذج الثلاثية الأبعاد ولوحات المحتوى وترتيبها بالنسبة إلى بعضها البعض وبيئتك الافتراضية أو الواقعية.

  • SpatialEnvironment: يمكنك إنشاء تجارب غامرة بالكامل باستخدام صورة صندوق السماء و/أو هندسة النموذج الثلاثي الأبعاد كخلفية لمشهد الواقع المعزّز للبيئة. أو يمكنك تفعيل ميزة "العرض المباشر" لكي يندمج المشهد الافتراضي مع بيئة المستخدم في العالم الواقعي.
  • PanelEntity: أضِف محتوى ثنائي الأبعاد إلى مناظرك الثلاثية الأبعاد من خلال تضمين تنسيقات وأنشطة Android العادية في لوحات مجسمة يمكن أن تطفو أو يتم تثبيتها على مساحات في العالم الواقعي.
  • GltfModelEntity: يمكنك وضع النماذج الثلاثية الأبعاد في المشهد وتحريكها والتفاعل معها. يتوافق SceneCore مع تنسيق ملف glTF لتسهيل دمجه مع النماذج الحالية.
  • الصوت المكاني: يمكنك إضافة مصادر صوت محيطية ومصادر صوت نقطية إلى المشهد الثلاثي الأبعاد للحصول على صوت محيطي كامل.
  • StereoSurfaceEntity: تتيح SceneCore توجيه المحتوى المعروض على سطح Android إلى العين اليمنى أو اليسرى. ويمكن استخدام هذا الإجراء لعرض المحتوى المجسم بتنسيق جنبًا إلى جنب أو من الأعلى إلى الأسفل، مثل الصور المجسمة أو الفيديوهات الثلاثية الأبعاد أو واجهات المستخدم الأخرى التي يتم عرضها ديناميكيًا. يجب أن تستخدم التطبيقات MediaPlayer أو ExoPlayer لفك ترميز الفيديو.
  • نظام المكونات: يوفّر SceneCore نظام مكونات قويًا ومرنًا لإضافة إمكانات إلى محتوى الواقع المعزّز، بما في ذلك إمكانات تتيح للمستخدمين نقل النماذج ولوحات العرض وتغيير حجمها والتفاعل معها.
  • التثبيت: عند تفعيل ميزة "العرض المباشر"، يمكنك إرفاق اللوحات والنماذج بمساحات العرض الفعلية، ما يتيح للمستخدمين دمج المحتوى الافتراضي بسلاسة في بيئة الواقع.
  • وضع المستخدم: يمكنك الوصول إلى الموقع الجغرافي للمستخدم في المشهد الافتراضي لتوجيه المحتوى حول موضع المستخدم.
  • SpatialCapabilities: يمكنك إنشاء تطبيقات تتوافق تمامًا مع الشاشة وتستفيد من الإمكانات المكانية عند توفّرها، مثل تحديد موضع المحتوى في واجهة المستخدم بالاستناد إلى المساحة الثلاثية الأبعاد. بالإضافة إلى ذلك، يمكن لتطبيقك رصد التغييرات في الإمكانات أثناء تنفيذ التطبيق لتعديل التجربة استنادًا إلى كيفية استخدام المستخدم لجهاز Android XR.

المشاكل المعروفة

  • يجب حاليًا استخدام الإصدار 30 من حزمة تطوير البرامج (SDK) كحد أدنى لاستخدام Jetpack SceneCore. كحل بديل، يمكنك إضافة إدخال البيان التالي <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> لتتمكّن من إنشاء التطبيق وتشغيله باستخدام الإصدار 23 من حزمة تطوير البرامج (SDK) كحد أدنى.
  • يمكن أن تصبح الجلسة غير صالحة في حالات مختلفة تؤدي إلى إعادة إنشاء "النشاط" تلقائيًا، بما في ذلك تغيير حجم اللوحة الرئيسية وربط الأجهزة الطرفية والتبديل بين الوضعَين الفاتح والداكن. إذا واجهت مشاكل في إلغاء صلاحية الجلسة، تشمل الحلول البديلة جعل اللوحة الرئيسية غير قابلة للتغيير، أو استخدام عنصر لوحة ديناميكية، أو إيقاف إعادة إنشاء النشاط لإجراء تغييرات معيّنة على الإعدادات أو إيقاف تغييرات المظهر في الوضع الفاتح/الداكن.
  • لا تتوفّر المكونات القابلة للنقل وتغيير الحجم في GltfEntity.
  • لا تتوفّر الدالة Entity.getSize() في GltfEntity.
  • يجب أن تطلب تطبيقات Jetpack XR إذن android.permission.SCENE_UNDERSTANDING في ملف AndroidManifest.
  • لا يمكن إنشاء جلسة إلا على جهاز Android XR. في الوقت الحالي، إذا أنشأت جلسة وحاولت استخدامها على جهاز غير Android XR، ستظهر لك رسالة خطأ RuntimeException.
  • لا يؤدي ضبط مربّع السماء على القيمة null من خلال SpatialEnvironment.setSpatialEnvironmentPreference() إلى إنشاء مربّع سماء أسود صلب كما هو موضّح في المستندات. وقد يؤدي ذلك إلى استخدام الصندوق السماوي التلقائي للنظام أو عدم إجراء أي تغيير على الصندوق السماوي الحالي.
  • على عملاء SceneCore إضافة implementation(“com.google.guava:listenablefuture-1.0”) إلى إعدادات Gradle لعناصر التطبيق المُستندة إليها. في إصدار مستقبلي، سيتضمّن Scenecore هذه المكتبة كتبعية api لكي لا يحتاج العملاء إلى الإفصاح عنها صراحةً.
  • يتضمّن SceneCore عن طريق الخطأ com.google.guava:guava-31.1-android وcom.google.protobuf:protobuf-javalite كتبعيات ناتجة. إذا أدّى ذلك إلى ظهور أخطاء مكرّرة في الصف في عملية الإنشاء، يمكن استبعاد هذين المكوّنَين التابعَين بأمان.
  • إذا كان تطبيقك يستخدم SceneCore ويفعّل ProGuard، سيتعطّل عند إنشاء Session. كحل بديل، يمكنك إيقاف أداة ProGuard. اطّلِع على هذا الدليل للحصول على مزيد من المعلومات عن كيفية تفعيل ProGuard.