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
.