تعرَّف على كيفية استخدام ميزة الوجوه المعزّزة لعرض مواد العرض على وجوه الأشخاص في تطبيقك.
المتطلبات الأساسية
تأكَّد من فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة 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 مادة تلقائية على شبكات الوجه التي تم رصدها.
اتّبِع الخطوات التالية لبدء استخدام الوجه الافتراضي لميزة "الواقع المعزّز":
- إعداد
ARFaceManager
في علامة التبويب Hierarchy، استخدِم + > XR > AR Default Face لإنشاء عنصر وجه جديد. هذا العنصر مؤقت ويمكن حذفه بعد إنشاء نموذج "الوجه" المُعدّ مسبقًا.
انتقِل إلى AR Default Face في "المدقّق".
اسحب نموذج "الوجه الافتراضي لواقع معزّز" الذي تم إنشاؤه حديثًا من علامة التبويب Hierarchy إلى نافذة Project Assets من أجل إنشاء نموذج مُعدّ مسبقًا.
اضبط النموذج المُعدّ مسبقًا الذي تم إنشاؤه حديثًا على أنّه النموذج المُعدّ مسبقًا للوجه في حقل Face Prefab في
ARFaceManager
.في علامة التبويب Hierarchy، احذف عنصر الوجه، لأنّه لم يعُد مطلوبًا.
الوصول إلى رؤوس فردية لشبكة الوجه
استخدِم face.vertices
للوصول إلى مواضع رؤوس شبكة الوجه. استخدِم face.normals
للوصول إلى اتجاهات رؤوس المضلّعات المقابلة.
عرض رؤوس فردية لشبكة الوجه
يمكنك استخدام Blender لعرض أرقام الفهرس التي تتوافق مع رؤوس شبكة الوجه بسهولة:
- افتح Blender واستورِد
canonical_face_mesh.fbx
من GitHub. - انتقِل إلى Edit > Preferences > Interface.
ضمن قائمة Display، انقر على Developer Extras.
اختَر الوجه من خلال النقر عليه في نافذة العرض الثلاثية الأبعاد، واضغط على مفتاح التبويب (Tab) للدخول إلى "وضع التعديل".
افتح القائمة المنسدلة بجانب إطار عرض Overlays واختَر Indices.
ميِّز رأس المثلث الذي تريد تحديد رقم فهرسه. لتمييز جميع الرؤوس، استخدِم Select > All.