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

تكوين الإضافة

تكوين النموذج

التكوين القياسي للنموذج

تستخدم عقدة Create Runtime Viseme Generator إعدادات افتراضية تعمل بشكل جيد في معظم السيناريوهات. يتم التعامل مع التكوين من خلال خصائص عقدة المزج في مخطط الرسوم المتحركة (Animation Blueprint).

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

تكوين النموذج الواقعي

تقبل عقدة Create Realistic MetaHuman Lip Sync Generator معامل Configuration اختياريًا يسمح لك بتخصيص سلوك المولد:

نوع النموذج

يحدد إعداد نوع النموذج أي إصدار من النموذج الواقعي سيتم استخدامه:

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

إعدادات الأداء

خيوط العمل الداخلية (Intra Op Threads): تتحكم في عدد الخيوط المستخدمة لعمليات معالجة النموذج الداخلية.

  • 0 (افتراضي/تلقائي): يستخدم الكشف التلقائي (عادة 1/4 من نوى وحدة المعالجة المركزية المتاحة، بحد أقصى 4)
  • 1-16: حدد عدد الخيوط يدويًا. قد تحسن القيم الأعلى الأداء على الأنظمة متعددة النوى ولكنها تستخدم المزيد من وحدة المعالجة المركزية

خيوط العمل المتقاطعة (Inter Op Threads): تتحكم في عدد الخيوط المستخدمة للتنفيذ المتوازي لعمليات النموذج المختلفة.

  • 0 (افتراضي/تلقائي): يستخدم الكشف التلقائي (عادة 1/8 من نوى وحدة المعالجة المركزية المتاحة، بحد أقصى 2)
  • 1-8: حدد عدد الخيوط يدويًا. عادة ما تبقى منخفضة لمعالجة الوقت الفعلي

حجم جزء المعالجة

يحدد حجم جزء المعالجة عدد العينات التي تتم معالجتها في كل خطوة استدلال. القيمة الافتراضية هي 160 عينة (10 مللي ثانية من الصوت بتردد 16 كيلو هرتز):

  • توفر القيم الأصغر تحديثات أكثر تواترًا ولكنها تزيد من استخدام وحدة المعالجة المركزية
  • تقلل القيم الأكبر من حمل وحدة المعالجة المركزية ولكنها قد تقلل من استجابة مزامنة الشفاه
  • يُوصى باستخدام مضاعفات العدد 160 للحصول على محاذاة مثالية

تعيين حجم جزء المعالجة

تكوين النموذج المدعوم بالمزاج

توفر عقدة Create Realistic MetaHuman Lip Sync With Mood Generator خيارات تكوين إضافية تتجاوز النموذج الواقعي الأساسي:

التكوين الأساسي

الوقت المسبق (بالمللي ثانية): التوقيت المسبق بالمللي ثانية لتحسين دقة مزامنة الشفاه.

  • الافتراضي: 80 مللي ثانية
  • النطاق: من 20 مللي ثانية إلى 200 مللي ثانية (يجب أن يكون قابلاً للقسمة على 20)
  • القيم الأعلى توفر تزامنًا أفضل ولكنها تزيد من زمن الوصول

نوع الإخراج: يتحكم في عناصر التحكم في الوجه التي يتم توليدها.

  • الوجه الكامل: جميع عناصر التحكم الـ 81 للوجه (الحواجب، العينان، الأنف، الفم، الفك، اللسان)
  • الفم فقط: عناصر التحكم المتعلقة بالفم والفك واللسان فقط

إعدادات الأداء: تستخدم نفس إعدادات Intra Op Threads و Inter Op Threads الخاصة بالنموذج الواقعي العادي.

إعدادات الحالة المزاجية

الحالات المزاجية المتاحة:

  • محايد، سعيد، حزين، اشمئزاز، غضب، مفاجأة، خوف
  • واثق، متحمس، ملل، مرح، مرتبك

شدة الحالة المزاجية: تتحكم في مدى قوة تأثير الحالة المزاجية على الرسوم المتحركة (من 0.0 إلى 1.0)

التحكم في الحالة المزاجية أثناء التشغيل

يمكنك ضبط إعدادات الحالة المزاجية أثناء التشغيل باستخدام الوظائف التالية:

  • تعيين الحالة المزاجية: تغيير نوع الحالة المزاجية الحالية
  • تعيين شدة الحالة المزاجية: ضبط مدى قوة تأثير الحالة المزاجية على الرسوم المتحركة (من 0.0 إلى 1.0)
  • تعيين الوقت المسبق (بالمللي ثانية): تعديل التوقيت المسبق للتزامن
  • تعيين نوع الإخراج: التبديل بين عناصر التحكم في الوجه الكامل والفم فقط

تكوين الحالة المزاجية

دليل اختيار الحالة المزاجية

اختر الحالات المزاجية المناسبة بناءً على محتواك:

الحالة المزاجيةالأفضل لـالنطاق النموذجي للشدة
محايدالمحادثة العامة، السرد، الحالة الافتراضية0.5 - 1.0
سعيدالمحتوى الإيجابي، الحوار المرح، الاحتفالات0.6 - 1.0
حزينالمحتوى الكئيب، المشاهد العاطفية، اللحظات الحزينة0.5 - 0.9
اشمئزازردود الفعل السلبية، المحتوى المكروه، الرفض0.4 - 0.8
غضبالحوار العدواني، المشاهد المواجهة، الإحباط0.6 - 1.0
مفاجأةالأحداث غير المتوقعة، الاكتشافات، ردود فعل الصدمة0.7 - 1.0
خوفالمواقف المهددة، القلق، الحوار العصبي0.5 - 0.9
واثقالعروض التقديمية المهنية، حوار القيادة، الكلام الحازم0.7 - 1.0
متحمسالمحتوى النشط، الإعلانات، الحوار المتحمس0.8 - 1.0
مللالمحتوى الرتيب، الحوار غير المهتم، الكلام المتعب0.3 - 0.7
مرحالمحادثة العادية، الفكاهة، التفاعلات المرحة0.6 - 0.9
مرتبكالحوار الغني بالأسئلة، عدم اليقين، الحيرة0.4 - 0.8

تكوين مخطط الرسوم المتحركة

تكوين مزامنة الشفاه

تحتوي عقدة Blend Runtime MetaHuman Lip Sync على خيارات تكوين في لوحة الخصائص الخاصة بها:

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

رسوميات الضحك

يمكنك أيضًا إضافة رسوميات ضحك ستستجيب ديناميكيًا للضحك المكتشف في الصوت:

  1. أضف عقدة Blend Runtime MetaHuman Laughter
  2. وصّل متغير RuntimeVisemeGenerator الخاص بك بالدبوس Viseme Generator
  3. إذا كنت تستخدم بالفعل مزامنة الشفاه:
    • وصّل المخرج من عقدة Blend Runtime MetaHuman Lip Sync إلى Source Pose الخاصة بعقدة Blend Runtime MetaHuman Laughter
    • وصّل مخرج عقدة Blend Runtime MetaHuman Laughter إلى دبوس Result الخاص بـ Output Pose
  4. إذا كنت تستخدم الضحك فقط بدون مزامنة الشفاه:
    • وصّل وضعية المصدر الخاصة بك مباشرة إلى Source Pose الخاصة بعقدة Blend Runtime MetaHuman Laughter
    • وصّل المخرج إلى دبوس Result

Blend Runtime MetaHuman Laughter

عند اكتشاف الضحك في الصوت، سيتحرك شخصيتك ديناميكيًا وفقًا لذلك:

Laughter

تكوين الضحك

تحتوي عقدة Blend Runtime MetaHuman Laughter على خيارات التكوين الخاصة بها:

الخاصيةالافتراضيالوصف
سرعة الاستيفاء25تتحكم في مدى سرعة انتقال حركات الشفاه بين رسوميات الضحك. تؤدي القيم الأعلى إلى انتقالات أسرع وأكثر فجائية.
وقت إعادة التعيين0.2المدة بالثواني التي بعدها تتم إعادة تعيين الضحك. يكون هذا مفيدًا لمنع استمرار الضحك بعد توقف الصوت.
أقصى وزن للضحك0.7يقيس أقصى شدة لرسوميات الضحك (0.0 - 1.0).

ملاحظة: كشف الضحك متاح حاليًا فقط مع النموذج القياسي.

الدمج مع الرسوم المتحركة الموجودة

لتطبيق مزامنة الشفاه والضحك إلى جانب رسوم الجسم المتحركة الموجودة ورسوم الوجه المتحركة المخصصة دون تجاوزها:

  1. أضف عقدة Layered blend per bone بين رسومك المتحركة للج body والمخرجات النهائية. تأكد من أن Use Attached Parent مضبوط على true.
  2. قم بتكوين إعداد الطبقة:
    • أضف 1 عنصر إلى مصفوفة Layer Setup
    • أضف 3 عناصر إلى Branch Filters للطبقة، مع أسماء العظام Bone Name التالية:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. مهم للرسوم المتحركة للوجه المخصصة: في Curve Blend Option، اختر "Use Max Value". هذا يسمح للرسوم المتحركة للوجه المخصصة (التعابير، العواطف، إلخ) بأن تكون متراكبة بشكل صحيح فوق مزامنة الشفاه.
  4. قم بعمل الاتصالات:
    • الرسوم المتحركة الموجودة (مثل BodyPose) → إدخال Base Pose
    • مخرج الرسوم المتحركة للوجه (من عقد مزامنة الشفاه و/أو الضحك) → إدخال Blend Poses 0
    • عقدة الدمج الطبقي → وضع Result النهائي

Layered Blend Per Bone

ضبط سلوك مزامنة الشفاه بدقة

التحكم في بروز اللسان

في نموذج مزامنة الشفاه القياسي، قد تلاحظ حركة لسان مفرطة للأمام أثناء بعض الفونيمات. للتحكم في بروز اللسان:

  1. بعد عقدة مزج مزامنة الشفاه الخاصة بك، أضف عقدة Modify Curve
  2. انقر بزر الماوس الأيمن على عقدة Modify Curve وحدد Add Curve Pin
  3. أضف دبوس منحنى بالاسم CTRL_expressions_tongueOut
  4. عيّن خاصية Apply Mode للعقدة إلى Scale
  5. اضبط معامل Value للتحكم في امتداد اللسان (مثلاً، 0.8 لتقليل البروز بنسبة 20%)

التحكم في فتح الفك

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

  1. بعد عقدة مزج مزامنة الشفاه الخاصة بك، أضف عقدة Modify Curve
  2. انقر بزر الماوس الأيمن على عقدة Modify Curve وحدد Add Curve Pin
  3. أضف دبوس منحنى بالاسم CTRL_expressions_jawOpen
  4. عيّن خاصية Apply Mode للعقدة إلى Scale
  5. اضبط معامل Value للتحكم في مدى فتح الفك (مثلاً، 0.9 لتقليل حركة الفك بنسبة 10%)

الضبط الدقيق الخاص بالمزاج

للنماذج المدعمة بالمزاج، يمكنك الضبط الدقيق للتعبيرات العاطفية المحددة:

التحكم في الحاجبين:

  • CTRL_expressions_browRaiseInL / CTRL_expressions_browRaiseInR - رفع الحاجب الداخلي
  • CTRL_expressions_browRaiseOuterL / CTRL_expressions_browRaiseOuterR - رفع الحاجب الخارجي
  • CTRL_expressions_browDownL / CTRL_expressions_browDownR - خفض الحاجب

التحكم في تعبير العين:

  • CTRL_expressions_eyeSquintInnerL / CTRL_expressions_eyeSquintInnerR - تضييق العين
  • CTRL_expressions_eyeCheekRaiseL / CTRL_expressions_eyeCheekRaiseR - رفع الخد

مقارنة النماذج واختيارها

الاختيار بين النماذج

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

الاعتبارالنموذج القياسيالنموذج الواقعيالنموذج الواقعي المدعم بالمزاج
التوافق مع الشخصيةMetaHumans وجميع أنواع الشخصيات المخصصةMetaHumans فقطMetaHumans فقط
الجودة البصريةمزامنة شفاه جيدة مع أداء فعالواقعية محسنة مع حركات فم أكثر طبيعيةواقعية محسنة مع تعبيرات عاطفية
الأداءمُحسّن لجميع المنصات بما في ذلك الهاتف المحمول/الواقع الافتراضيمتطلبات موارد أعلىمتطلبات موارد أعلى
الميزات14 فيزيم، كشف الضحك81 تحكمًا في الوجه، 3 مستويات تحسين81 تحكمًا في الوجه، 12 مزاجًا، مخرجات قابلة للتكوين
دعم المنصةWindows, Android, QuestWindows, Mac, iOS, LinuxWindows, Mac, iOS, Linux
حالات الاستخدامالتطبيقات العامة، الألعاب، الواقع الافتراضي/المعزز، الهاتف المحمولالتجارب السينمائية، التفاعلات عن قربسرد القصص العاطفي، تفاعل الشخصيات المتقدم

توافق إصدار المحرك

مشكلة التوافق مع UE 5.2

إذا كنت تستخدم Unreal Engine 5.2، فقد لا تعرض النماذج الواقعية (Realistic Models) بشكل صحيح بسبب خلل في مكتبة إعادة التشكيل (resampling library) الخاصة بـ UE. لمستخدمي UE 5.2 الذين يحتاجون إلى وظيفة مزامنة الشفاه (lip sync) موثوقة، يرجى استخدام النموذج القياسي (Standard Model) بدلاً من ذلك.

هذه المشكلة خاصة بـ UE 5.2 ولا تؤثر على إصدارات المحرك الأخرى.

توصيات الأداء

  • بالنسبة لمعظم المشاريع، يوفر النموذج القياسي (Standard Model) توازنًا ممتازًا بين الجودة والأداء
  • استخدم النموذج الواقعي (Realistic Model) عندما تحتاج إلى أعلى دقة بصرية لشخصيات MetaHuman
  • استخدم النموذج الواقعي المدعوم بالمزاج (Mood-Enabled Realistic Model) عندما يكون التحكم في التعبير العاطفي مهماً لتطبيقك
  • ضع في اعتبارك قدرات الأداء للمنصة المستهدفة عند الاختيار بين النماذج
  • اختبر مستويات التحسين المختلفة للعثور على أفضل توازن لحالة استخدامك المحددة

توافق تحويل النص إلى كلام (TTS)

نوع النموذجدعم تحويل النص إلى كلام محلي (عبر Runtime Text To Speech)دعم تحويل النص إلى كلام خارجيملاحظات
النموذج القياسي (Standard Model)✅ دعم كامل✅ دعم كاملمتوافق مع جميع خيارات تحويل النص إلى كلام
النموذج الواقعي (Realistic Model)❌ دعم محدود✅ دعم كاملتعارضات وقت تشغيل ONNX مع تحويل النص إلى كلام المحلي
النموذج الواقعي المدعوم بالمزاج (Mood-Enabled Realistic Model)✅ دعم كامل✅ دعم كاملمتوافق مع جميع خيارات تحويل النص إلى كلام

استكشاف الأخطاء وإصلاحها

المشاكل الشائعة

إعادة إنشاء المُولِّد (Generator) للنماذج الواقعية: لضمان تشغيل موثوق ومتسق مع النماذج الواقعية (Realistic Models)، يُوصى بإعادة إنشاء المُولِّد (Generator) في كل مرة تريد فيها تغذية بيانات صوتية جديدة بعد فترة من الخمول. هذا بسبب سلوك وقت تشغيل ONNX الذي يمكن أن يتسبب في توقف مزامنة الشفاه (lip sync) عن العمل عند إعادة استخدام المُولِّدات بعد فترات من الصمت.

توافق تحويل النص إلى كلام المحلي: تحويل النص إلى كلام المحلي المقدم بواسطة الإضافة Runtime Text To Speech plugin غير مدعوم حاليًا مع النموذج الواقعي العادي (regular Realistic model) بسبب تعارضات وقت تشغيل ONNX. ومع ذلك، فهو متوافق تمامًا مع كل من النموذج القياسي (Standard model) والنموذج الواقعي المدعوم بالمزاج (Mood-Enabled Realistic model). استخدم خدمات تحويل النص إلى كلام الخارجية إذا كنت تحتاج تحديدًا إلى النموذج الواقعي العادي مع وظيفة تحويل النص إلى كلام.

تدهور استجابة مزامنة الشفاه (Lip Sync Responsiveness): إذا واجهت أن مزامنة الشفاه أصبحت أقل استجابة بمرور الوقت عند استخدام Streaming Sound Wave أو Capturable Sound Wave، فقد يكون هذا ناتجًا عن تراكم الذاكرة. افتراضيًا، يتم إعادة تخصيص الذاكرة في كل مرة يتم فيها إلحاق صوت جديد. لمنع هذه المشكلة، استدعِ الدالة ReleaseMemory بشكل دوري لتحرير الذاكرة المتراكمة، على سبيل المثال كل 30 ثانية تقريبًا.

تحسين الأداء:

  • اضبط حجم جزء المعالجة (Processing Chunk Size) للنماذج الواقعية بناءً على متطلبات الأداء الخاصة بك
  • استخدم أعداد الخيوط (thread counts) المناسبة للأجهزة المستهدفة
  • فكر في استخدام نوع الإخراج Mouth Only للنماذج المدعومة بالمزاج عندما لا تكون هناك حاجة إلى تحريك الوجه بالكامل