تعرَّف على كيفية استخدام ميزة الوجوه المعزّزة لعرض مواد العرض على وجوه الأشخاص في تطبيقك.
المتطلبات الأساسية
احرص على فهم مفاهيم الواقع المعزّز الأساسية وكيفية ضبط جلسة 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+) إلى الأذن اليسرى.
- يشير المحور ص الموجب (+ص) للأعلى خارج الوجه
- يشير المحور 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.