انتقل إلى المحتوى الرئيسي

مساعدات تحريك العين

بالإضافة إلى مزامنة الشفاه، يتضمن إضافة Runtime MetaHuman Lip Sync أداتين مساعدتين اختياريتين لتحريك عيون MetaHuman:

  • Auto Blink: أداة مساعدة تنتج رموش عين عشوائية طبيعية على MetaHuman
  • Eyes Aim: عقدة Animation Blueprint تجعل عيون MetaHuman تنظر إلى موقع في الفضاء العالمي

هذه الميزات مستقلة تمامًا عن مزامنة الشفاه ويمكن استخدامها بمفردها، أو معًا، أو مدمجة مع عُقد مزامنة الشفاه. صُممت كأدوات مساعدة خفيفة الوزن وقابلة للإضافة بسهولة لإضفاء سلوك عين واقعي دون الحاجة إلى إنشائه يدويًا.

معاينات الميزات

الرمش التلقائي: رمش العين التلقائي
توجيه العينين: تتبع كاميرا اللاعب
Eyes Aim: تتبع هدف متحرك
متى تستخدم هذه المساعدات

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

يقوم مساعد Auto Blink بإنتاج ومضات عين عشوائية وطبيعية المظهر عن طريق تحريك منحنيات CTRL_L_eye_blink و CTRL_R_eye_blink الخاصة بـ MetaHuman Face Control Rig.

كيف يعمل

في كل إطار، تقوم باستدعاء Update MetaHuman Auto Blink من Event Graph الخاص بـ Face Animation Blueprint الخاص بك وتمرير وقت دلتا الإطار. تقوم الدالة بما يلي:

  1. تتبع حالة كل شخصية (وقت الومضة التالية، مرحلة الفتح/الإغلاق الحالية، إلخ) مرتبطة بـ AnimInstance المستدعي
  2. تُرجع قيمتين عشريتين في النطاق 0..1، واحدة للعين اليسرى والأخرى للعين اليمنى، تمثلان مدى إغلاق كل عين حاليًا
  3. تقوم بعد ذلك بتخزين هذه القيم في متغيرات Blueprint وتغذيتها في عقدة Control Rig في Anim Graph

الإعداد

خطوتان: أضف استدعاء الومضة إلى Event Graph الخاص بك، ثم قم بتغذية القيم في عقدة Control Rig في Anim Graph.

1. Event Graph: تحريك قيم الومضة كل إطار

في Face Animation Blueprint الخاص بك (مثل Face_AnimBP أو نسختك المكررة/المنسوخة، راجع دليل الإعداد)، افتح Event Graph وأضف ما يلي إلى Event Blueprint Update Animation:

  1. استدع Update MetaHuman Auto Blink
  2. قم بتوصيل Delta Time X (من الحدث) بـ Delta Seconds
  3. (اختياري) قم بتكوين هيكل Config. الإعدادات الافتراضية تبدو طبيعية بالفعل
  4. قم بترقية Left Blink Value و Right Blink Value إلى متغيرات Blueprint (مثل LeftBlinkValue, RightBlinkValue)

إعداد Event Graph لـ Auto Blink

2. Anim Graph: تغذية القيم في Face Control Rig

في Anim Graph لنفس Animation Blueprint:

  1. ضع عقدة Control Rig بعد كل منطق الوجه الآخر الذي قد يكتب إلى منحنيات ومضة العين (مثل بعد Blend Runtime MetaHuman Lip Sync وأي طبقات رسوم متحركة للوجه مخصصة)
  2. في لوحة Details الخاصة بالعقدة، عيّن Control Rig Class إلى Control Rig لوجه MetaHuman الخاص بك. المسار عادةً هو:
    • /All/Game/MetaHumans/Common/Face/Face_ControlBoard_CtrlRig
    • قد يكون لمشروعك مسار مختلف اعتمادًا على كيفية استيراد MetaHuman.
  3. في لوحة Details، قم بتوسيع قسم Input وقم بتمكين Use Pin لكل من:
    • CTRL_L_eye_blink
    • CTRL_R_eye_blink
  4. قم بتوصيل متغير LeftBlinkValue الخاص بك بـ CTRL_L_eye_blink
  5. قم بتوصيل متغير RightBlinkValue الخاص بك بـ CTRL_R_eye_blink

إعداد Anim Graph لـ Auto Blink

الموقع مهم

ضع عقدة Control Rig بعد عقد مزج مزامنة الشفاه (وأي عقد رسوم متحركة للوجه أخرى) حتى لا يتم استبدال قيم الومضة بمنطق آخر.

التكوين

تقبل عقدة Update MetaHuman Auto Blink هيكل Config اختياريًا. الإعدادات الافتراضية تبدو طبيعية بالفعل لمعظم الشخصيات، قم بالتوسيع أدناه إذا كنت تريد ضبط السلوك.

خصائص التكوين

التوقيت

الخاصيةالافتراضيالوصف
Min Time Between Blinks2.0 ثانيةالحد الأدنى للفاصل الزمني بين الومضات بينما تكون العيون مفتوحة بالكامل.
Max Time Between Blinks4.0 ثانيةالحد الأقصى للفاصل الزمني بين الومضات. يتم اختيار الفاصل الزمني الفعلي عشوائيًا بين الحد الأدنى والحد الأقصى.
Min Closed Hold Time0.04 ثانيةالحد الأدنى للوقت الذي تبقى فيه العيون مغلقة بالكامل.
Max Closed Hold Time0.08 ثانيةالحد الأقصى للوقت الذي تبقى فيه العيون مغلقة بالكامل.

الاستيفاء

الخاصيةالافتراضيالوصف
Close Interp Speed35.0السرعة عند إغلاق العينين. يغلق البشر أعينهم أسرع مما يفتحونها، لذلك هذه القيمة أعلى عمدًا من سرعة الفتح.
Open Interp Speed18.0السرعة عند فتح العينين.
Closed Threshold0.97القيمة التي تعتبر عندها الومضة "مغلقة بالكامل" وتبدأ مرحلة الإمساك.
Open Threshold0.02القيمة التي تعتبر عندها الومضة "مفتوحة بالكامل" ويتم جدولة الومضة التالية.

متنوع

الخاصيةالافتراضيالوصف
Independent Eyesfalseعندما تكون true، تومض العين اليسرى واليمنى بشكل مستقل بتوقيت منفصل. عندما تكون false (افتراضي)، تومض كلتا العينين بشكل متزامن تمامًا.
bEnabled (دبوس الدالة)trueعندما تكون false، تنفتح العيون ببطء ويتوقف الوميض. مفيد لمشاهد القطع، النوم، الموت، إلخ.

التحكم في وقت التشغيل

يمكنك أيضًا استدعاء Reset Auto Blink State لمسح الحالة الداخلية بشكل صريح لـ AnimInstance معين (على سبيل المثال، عند إعادة ظهور شخصية أو تبديل حالات السينما).

Eyes Aim

مساعد Eyes Aim هو عقدة Animation Blueprint (Runtime MetaHuman Eyes Aim) تجعل عيون الشخصية تتبع موقعًا في مساحة العالم — على سبيل المثال، كاميرا اللاعب، أو ممثل آخر، أو أي هدف متحرك. يدعم تثبيت الانعراج/الإمالة، والتنعيم، والحماية من الانقلاب عندما يمر الهدف خلف الرأس، والحركات البصرية الدقيقة الاختيارية (micro-saccades) لمزيد من الواقعية.

اختيار الوضع

تدعم العقدة وضعين، يتم اختيارهما عبر القائمة المنسدلة Mode في لوحة Details الخاصة بالعقدة:

الوضعما يحركهأين تضعه
Curves (افتراضي)منحنيات Control Rig لنظرة العين (CTRL_expressions_eyeLook*)في Face Animation Blueprint (مثل Face_AnimBPقبل عقدة Control Rig
Bonesعظام FACIAL_L_Eye / FACIAL_R_Eye مباشرة، متجاوزًا Control Rigفي Face Post Process Animation Blueprint (مثل Face_PostProcess_AnimBPبعد عقدة AnimNode_RigLogic

وضع Curves هو الوضع الافتراضي الموصى به. يتكون بشكل نظيف مع أنظمة الوجه الأخرى القائمة على المنحنيات (مزامنة الشفاه، التعبيرات، أشكال ARKit، إلخ)، حيث يتم دمج القيم من خلال تقييم Control Rig العادي بدلاً من التنافس على تحويلات العظام.

عندما لا يعمل وضع Curves، استخدم وضع Bones

في بعض متغيرات MetaHuman (خاصة الهياكل القديمة، بما في ذلك بعض تلك التي تم تنزيلها عبر Quixel Bridge)، لا تقوم منحنيات نظرة العين فعليًا بتحريك العيون. العرض المرئي هو أن العيون تنظر إلى الأسفل مع إخفاء حدقة العين تقريبًا عندما تكون عقدة وضع Curves نشطة، بغض النظر عن موقع الهدف.

إذا رأيت هذا، قم بالتبديل إلى وضع Bones. يقوم وضع Bones بتدوير عظام العين مباشرة، لذلك يعمل على كل متغير MetaHuman بغض النظر عن كيفية توصيل Control Rig. راجع علامة التبويب Bones في الإعداد أدناه.

الإعداد

الإعداد الافتراضي. تعيش العقدة في Face Animation Blueprint القياسي وتحرك منحنيات نظرة العين الخاصة بـ Control Rig للوجه.

خطوتان: أضف العقدة إلى Anim Graph الخاص بك، ثم قم بتغذيتها بموقع هدف من Event Graph.

1. Anim Graph: إضافة العقدة

في Anim Graph الخاص بـ Face Animation Blueprint الخاص بك:

  1. أضف عقدة Runtime MetaHuman Eyes Aim
  2. اترك Mode مضبوطًا على Curves في لوحة Details
  3. ضعها بعد كل منطق الوجه الآخر الذي قد يكتب إلى منحنيات نظرة العين (مزامنة الشفاه، الرسوم المتحركة المخصصة، إلخ)، نفس مبدأ عقدة Control Rig الخاصة بـ Auto Blink
  4. قم بتوصيل الوضعية الحالية بـ Source Pose
  5. قم بتوصيل المخرجات بالعقدة التالية في سلسلتك (أو Output Pose)
  6. أنشئ متغير Vector من نوع Blueprint (مثل TargetWorldLocation) وقم بتوصيله بدبوس Target World Location الخاص بالعقدة. ستقوم بتحديث هذا المتغير من Event Graph في الخطوة التالية.

إعداد Anim Graph لـ Eyes Aim

2. Event Graph: تغذية موقع هدف

يتوقع دبوس Target World Location FVector في مساحة العالم. حالة شائعة هي جعل MetaHuman ينظر إلى كاميرا اللاعب. في Event Blueprint Update Animation:

  1. احصل على Player Camera Manager (Player Index 0)
  2. تحقق من Is Valid
  3. إذا كان صالحًا، استدع Get Camera Location
  4. قم بتخزينه في متغير Blueprint TargetWorldLocation

Eyes Aim، تتبع الكاميرا

لتتبع ممثل عشوائي (NPC، عنصر، نقطة اهتمام) بدلاً من ذلك، احصل على موقع ذلك الممثل كل إطار وقم بتخزينه في نفس المتغير. لنقطة نظر ثابتة، عيّن Target World Location مرة واحدة أو كثابت في لوحة Details الخاصة بالعقدة.

التكوين

جميع الإعدادات مكشوفة في لوحة Details لعقدة Runtime MetaHuman Eyes Aim.

التصويب والتثبيت

التصويب

الخاصيةالافتراضيالوصف
ModeCurvesيختار كيفية تحريك العيون. راجع اختيار الوضع.
Target World Location(0,0,0)نقطة في مساحة العالم تنظر إليها العيون. مكشوفة كدبوس افتراضيًا.
bEnabledtrueعندما تكون false، تعود العيون ببطء إلى الأمام وتتجاهل الهدف. مكشوفة كدبوس افتراضيًا.

التثبيت

الخاصيةالافتراضيالوصف
Max Yaw Degrees35°أقصى انحراف أفقي (انعراج) عن اتجاه الرأس الأمامي. مثبت بين 0 و 80.
Max Pitch Degrees25°أقصى انحراف رأسي (إمالة) عن اتجاه الرأس الأمامي. مثبت بين 0 و 80.
Anti Flip Behindtrueيمنع العيون من الانقلاب عندما يمر الهدف خلف الرأس.
التنعيم والحركات البصرية الدقيقة (Saccades)

التنعيم

الخاصيةالافتراضيالوصف
Interp Speed12.0سرعة التنعيم لحركة العين. أعلى = أسرع، أقل = أكثر خمولاً.

الحركات البصرية الدقيقة (Saccades)

الحركات البصرية الدقيقة هي تحولات نظرة عشوائية صغيرة تؤديها العيون الحقيقية باستمرار. إضافتها تتجنب مظهر "العين الميتة" للتتبع السلس تمامًا.

الخاصيةالافتراضيالوصف
Enable Saccadestrueيشغل/يطفئ الحركات البصرية الدقيقة.
Saccade Yaw Amplitude Deg1.5°أقصى ارتعاش أفقي لكل حركة بصرية دقيقة. القيم الصغيرة (1–2°) تبدو طبيعية؛ القيم الأكبر تبدو عصبية.
Saccade Pitch Amplitude Deg1.0°أقصى ارتعاش رأسي لكل حركة بصرية دقيقة. عادةً ما تكون أصغر قليلاً من سعة الانعراج.
Min Saccade Interval0.6 ثانيةالحد الأدنى للوقت بين الحركات البصرية الدقيقة.
Max Saccade Interval2.5 ثانيةالحد الأقصى للوقت بين الحركات البصرية الدقيقة. القيم الأكبر تبدو أكثر هدوءًا، والقيم الأصغر تبدو مضطربة.
العظام (وضع Bones فقط)
الخاصيةالافتراضيالوصف
Left Eye BoneFACIAL_L_Eyeاسم عظم العين اليسرى. يطابق هيكل وجه MetaHuman القياسي.
Right Eye BoneFACIAL_R_Eyeاسم عظم العين اليمنى. يطابق هيكل وجه MetaHuman القياسي.
المعايرة (وضع Curves فقط)

تحدد هذه القيم كيفية تعيين زوايا مساحة الرأس إلى قيم منحنيات نظرة العين الخاصة بـ MetaHuman Face CR. الإعدادات الافتراضية مضبوطة لـ MetaHuman Face CR القياسي ونادرًا ما تحتاج إلى تغيير.

الخاصيةالافتراضيالوصف
Yaw Degrees Per Unit Curve30°الزاوية التي يتم تعيينها إلى قيمة منحنى 1.0 لمنحنيات نظرة الانعراج.
Pitch Degrees Per Unit Curve25°الزاوية التي يتم تعيينها إلى قيمة منحنى 1.0 لمنحنيات نظرة الإمالة.

الدمج مع مزامنة الشفاه والرسوم المتحركة الأخرى

تم تصميم كلا المساعدين للتعايش مع عُقد مزامنة الشفاه الخاصة بالبرنامج المساعد وأي رسوم متحركة للوجه مخصصة لديك بالفعل. القاعدة العامة: ضع عقد Eyes Aim و Control Rig (Auto Blink) بعد مزامنة الشفاه وأي رسوم متحركة للوجه مخصصة، حتى لا يتم استبدال قيمها في المراحل اللاحقة.

عرض مخطط تدفق التنفيذ التفصيلي (وضع Curves مقابل وضع Bones)

اعتمادًا على ما إذا كان هيكل MetaHuman الخاص بك يستخدم وضع Curves الموصى به أو وضع Bones الاحتياطي، سيتغير موضع منطق التنفيذ الخاص بك. قم بتوسيع المخطط أدناه لرؤية ترتيب التنفيذ الدقيق لكلا خطي الأنابيب:

لا تزال ميزات الطرف التلقائي ومزامنة الشفاه موجودة في Face AnimBP العادي في كلا الوضعين.

للحصول على تفاصيل حول الطبقات مع الرسوم المتحركة للجسم، راجع الدمج مع الرسوم المتحركة الموجودة.

الملاحظات والقيود

هذه المساعدات خاصة بـ MetaHuman. تعتمد على أسماء منحنيات Control Rig القياسية للوجه في MetaHuman (CTRL_L_eye_blink, CTRL_R_eye_blink, CTRL_expressions_eyeLook*) وعظام العين القياسية (FACIAL_L_Eye, FACIAL_R_Eye). وهي غير مخصصة لشخصيات غير MetaHuman المخصصة.

هل تحتاج إلى مساعدة؟

Join our Discord
online · support

لطلبات التطوير المخصصة، اتصل بـ [email protected].