دليل المطوّرين الذي طوّرناه حول ميزة "الوجوه المعززة" لمؤسسة AR Foundation

تعرَّف على كيفية استخدام ميزة الوجوه المعزّزة لعرض مواد العرض على وجوه الأشخاص في تطبيقك.

المتطلبات الأساسية

تأكَّد من فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة ARCore قبل المتابعة.

اكتشاف الوجوه

يتم تمثيل الوجوه بعناصر ARFace يتم إنشاؤها وتعديلها وإزالتها بواسطة ARFaceManager. مرة واحدة في كل لقطة، يُنشئ ARFaceManager حدث facesChanged يحتوي على ثلاث قوائم: الوجوه التي تمت إضافتها والوجوه التي تم تعديلها والوجوه التي تمت إزالتها منذ اللقطة الأخيرة. عندما يرصد ARFaceManager وجهًا في المشهد، سينشئ مثيلًا لنموذج مُعدّ مسبقًا مع إرفاق مكوّن ARFace لتتبُّع الوجه. يمكن ترك العنصر المُعدّ مسبقًا null.

لإعداد ARFaceManager، أنشئ عنصر لعبة جديدًا وأضِف إليه ARFaceManager.

Face Prefab هو النموذج المُعدّ مسبقًا الذي تم إنشاؤه في وضعية الوجه في منتصف الشاشة. يمثّل Maximum Face Count الحد الأقصى لعدد الوجوه التي يمكن تتبُّعها.

الوصول إلى الوجوه التي تم رصدها

يمكنك الوصول إلى الوجوه التي تم رصدها من خلال مكوّن ARFace المرتبط بنموذج Face Prefab. يوفّر ARFace الرؤوس والفهارس ومعدّلات رؤوس المضلّعات وإحداثيات الزخرفة.

أجزاء الوجه الذي تم رصده

توفّر واجهة برمجة التطبيقات Augmented Faces API وضعية مركزية وثلاث وضعيات للمناطق وشبكة وجه ثلاثية الأبعاد.

الوضع في الوسط

وضعية المركز، التي تشير إلى مركز رأس المستخدم، هي نقطة الأصل لنموذج Prefab الذي تم إنشاؤه بواسطة ARFaceManager. يقع هذا العصب داخل الجمجمة، خلف الأنف.

محاور الوضع المركزي هي كما يلي:

  • يشير المحور X الموجب (X+) إلى الأذن اليسرى.
  • يشير المحور الصادي الموجب (Y+) للأعلى خارج الوجه.
  • يشير المحور الموجب للمحور Z (Z+) إلى منتصف الرأس.

أوضاع المنطقة

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

لاستخدام أوضاع المنطقة، عليك تحويل النظام الفرعي ARFaceManager إلى ARCoreFaceSubsystem واستخدام subsystem.GetRegionPoses() للحصول على معلومات عن الوضع لكل منطقة. للحصول على مثال على كيفية إجراء ذلك، يُرجى الاطّلاع على نموذج الاستخدام في Unity على GitHub.

شبكة الوجه الثلاثية الأبعاد

تتألف شبكة الوجه من 468 نقطة تشكل وجهًا بشريًا. ويتم تحديده أيضًا بالنسبة إلى الوضع المركزي.

لعرض شبكة الوجه، أرفق ARFaceMeshVisualizer بالرمز Face Prefab. سينشئ ARFaceMeshVisualizer Mesh يتوافق مع الوجه الذي تم رصده، مع ضبطه على أنّه الشبكة في MeshFilter وMeshCollider المرفقَين. استخدِم MeshRenderer لضبط Material المستخدَم لعرض الوجه.

يعرض AR Default Face Prefab مادة تلقائية على شبكات الوجه التي تم رصدها.

اتّبِع الخطوات التالية لبدء استخدام الوجه الافتراضي لميزة "الواقع المعزّز":

  1. إعداد ARFaceManager
  2. في علامة التبويب Hierarchy، استخدِم + > XR > AR Default Face لإنشاء عنصر وجه جديد. هذا العنصر مؤقت ويمكن حذفه بعد إنشاء نموذج "الوجه" المُعدّ مسبقًا.

  3. انتقِل إلى AR Default Face في "المدقّق".

  4. اسحب نموذج "الوجه الافتراضي لواقع معزّز" الذي تم إنشاؤه حديثًا من علامة التبويب Hierarchy إلى نافذة Project Assets من أجل إنشاء نموذج مُعدّ مسبقًا.

  5. اضبط النموذج المُعدّ مسبقًا الذي تم إنشاؤه حديثًا على أنّه النموذج المُعدّ مسبقًا للوجه في حقل Face Prefab في ARFaceManager.

  6. في علامة التبويب Hierarchy، احذف عنصر الوجه، لأنّه لم يعُد مطلوبًا.

الوصول إلى رؤوس فردية لشبكة الوجه

استخدِم face.vertices للوصول إلى مواضع رؤوس شبكة الوجه. استخدِم face.normals للوصول إلى اتجاهات رؤوس المضلّعات المقابلة.

عرض رؤوس فردية لشبكة الوجه

يمكنك استخدام Blender لعرض أرقام الفهرس التي تتوافق مع رؤوس شبكة الوجه بسهولة:

  1. افتح Blender واستورِد canonical_face_mesh.fbx من GitHub.
  2. انتقِل إلى Edit > Preferences > Interface.
  3. ضمن قائمة Display، انقر على Developer Extras.

  4. اختَر الوجه من خلال النقر عليه في نافذة العرض الثلاثية الأبعاد، واضغط على مفتاح التبويب (Tab) للدخول إلى "وضع التعديل".

  5. افتح القائمة المنسدلة بجانب إطار عرض Overlays واختَر Indices.

    مؤشرات شبكة الوجه في Blender

  6. ميِّز رأس المثلث الذي تريد تحديد رقم فهرسه. لتمييز جميع الرؤوس، استخدِم Select > All.