ARCore لميزة Jetpack XR

دمج المحتوى الرقمي في العالم الحقيقي باستخدام إمكانات الإدراك
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار التجريبي الأول
12 كانون الأول (ديسمبر) 2024 - - - 1.0.0-alpha01

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

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

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

Groovy

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha01")
}

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

ملاحظات

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

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

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

الإصدار 1.0

الإصدار 1.0.0-alpha01

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

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

ميزات الإصدار الأولي

استنادًا إلى مكتبة ARCore الحالية، توفّر مكتبة ARCore لإطار عمل Jetpack XR إمكانات لدمج المحتوى الرقمي مع العالم الواقعي. تتضمّن هذه المكتبة ميزة تتبُّع الحركة، وعناصر التثبيت الثابتة، واختبار العناصر، وتحديد المستويات باستخدام التصنيف الدلالي (على سبيل المثال، الأرضية والجدران وأسطح الطاولات). اطّلِع على دليل المطوّر لمزيد من المعلومات حول استخدام ARCore مع Jetpack XR.

  • Session: يستخدم ARCore لـ Jetpack XR حزمة Jetpack XR Runtime من أجل تشغيل وظائفه. ستستخدم Session للتفاعل مع معظم واجهات برمجة تطبيقات ARCore for Jetpack XR، لذا يُرجى الاطّلاع على مستنداتها.

  • Plane: استخدِم الخطوط الجوية للتعرّف على العالم من حولك. تحتوي كل طائرة على Label يصف الطائرة من الناحية الدلالية. يمكنك استخدام subscribe لتلقّي إشعارات بشأن أحدث الطائرات التي تم رصدها أو state لتلقّي إشعارات بشأن التغييرات التي تطرأ على طائرة معيّنة.

  • Anchor: رابط بين عنصر افتراضي وموقع جغرافي في العالم الحقيقي يمكن إرفاق نقاط الربط بموقع محدّد في المساحة (باستخدام create) أو Trackable (باستخدام createAnchor).

    • يمكن إعادة استخدام العناصر الثابتة في جميع الجلسات. يمكنك استخدام persist لتخزينها، وgetPersistedAnchorUuids لتعدادها، وload لاستردادها. احرص على unpersist هذه الحسابات بعد أن تصبح غير مستخدَمة.

    • يمكن استخدام نقاط الربط معًا بين ARCore لـ Jetpack XR وJetpack SceneCore. يمكنك إنشاء AnchorEntity باستخدام عنصر ربط، أو إذا كان لديك عنصر AnchorEntity حالي، يمكنك استخدام getAnchor لاسترداد عنصر الربط الأساسي.

    • يمكنك توفير تفاعلات طبيعية للمستخدمين باستخدام hitTest. يستخدم الإجراء hitTest عنصر Ray لتحديد المحتوى الذي يتقاطع معه وإنشاء عنصر Anchor من هذا الموقع. ننصحك بإجراء اختبار تصادم من InputEvent.

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

  • قد يحدث تأخير بين وقت استدعاء unpersist ووقت إزالة معرّف UUID الخاص به من النتائج التي يعرضها getPersistedAnchorUuids.

  • لن تتحقّق create من توفّر موارد كافية في النظام لعرض عناصر ربط جديدة. قد يؤدي إنشاء عدد كبير جدًا من نقاط الربط إلى حدوث عطل.

  • لا تتوفّر حاليًا إمكانية الاحتفاظ بعلامة تم الاحتفاظ بها سابقًا وإلغاء الاحتفاظ بها.

  • يُسمح باستخدام التطبيق في المحاكي، ولكن قد لا يكون الأداء ثابتًا كما هو الحال عند تشغيله على جهاز فعلي. على وجه الخصوص، قد تفشل طلبات البيانات إلى create بسبب خطأ في الرمز البرمجي الأصلي وتؤدي إلى إنهاء النشاط على الفور.

  • في حالات معيّنة، قد يتم طرح RuntimeException عن طريق الخطأ عند استدعاء persist مع الرسالة "لم يتم الاحتفاظ بالإشارة". وفي هذه الحالات، ستظل الدالة ناجحة وسيتم الاحتفاظ بالإشارة. كحل بديل، ننصحك بلفّ طلب persist في كتلة try.