تكوين الإضافة
تكوين النموذج
التكوين القياسي للنموذج
تستخدم عقدة Create Runtime Viseme Generator
إعدادات افتراضية تعمل بشكل جيد في معظم السيناريوهات. يتم التعامل مع التكوين من خلال خصائص عقدة المزج في مخطط الرسوم المتحركة.
للاطلاع على خيارات تكوين مخطط الرسوم المتحركة، راجع قسم تكوين مزامنة الشفاه أدناه.
تكوين النموذج الواقعي
تقبل عقدة Create Realistic MetaHuman Lip Sync Generator
معامل Configuration اختياريًا يسمح لك بتخصيص سلاغ المولد:
نوع النموذج
يحدد إعداد نوع النموذج أي إصدار من النموذج الواقعي سيتم استخدامه:
نوع النموذج | الأداء | الجودة البصرية | التعامل مع الضوضاء | حالات الاستخدام الموصى بها |
---|---|---|---|---|
مُحسّن للغاية (الافتراضي) | أعلى أداء، أقل استخدام لوحدة المعالجة المركزية | جودة جيدة | قد يُظهر حركات فم ملحوظة مع ضوضاء الخلفية أو الأصوات غير الصوتية | بيئات الصوت النظيفة، السيناريوهات الحساسة للأداء |
شبه مُحسّن | أداء جيد، استخدام معتدل لوحدة المعالجة المركزية | جودة عالية | استقرار أفضل مع الصوت المشوش | الأداء والجودة المتوازنان، ظروف الصوت المختلطة |
الأصلي | مناسب للاستخدام في الوقت الفعلي على وحدات المعالجة المركزية الحديثة | أعلى جودة | الأكثر استقرارًا مع ضوضاء الخلفية والأصوات غير الصوتية | الإنتاجات عالية الجودة، بيئات الصوت الصاخبة، عندما تكون الدقة القصوى مطلوبة |
إعدادات الأداء
خيوط العمل الداخلية: تتحكم في عدد الخيوط المستخدمة لعمليات معالجة النموذج الداخلية.
- 0 (افتراضي/تلقائي): يستخدم الكشف التلقائي (عادة 1/4 من نوى وحدة المعالجة المركزية المتاحة، بحد أقصى 4)
- 1-16: حدد عدد الخيوط يدويًا. قد تحسن القيم الأعلى الأداء على الأنظمة متعددة النواة ولكنها تستخدم المزيد من وحدة المعالجة المركزية
خيوط العمل المتقاطعة: تتحكم في عدد الخيوط المستخدمة للتنفيذ المتوازي لعمليات النموذج المختلفة.
- 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 |
تكوين مخطط الرسوم المتحركة
تكوين مزامنة الشفاه
- Standard Model
- Realistic Models
تحتوي عقدة Blend Runtime MetaHuman Lip Sync
على خيارات تكوين في لوحة الخصائص الخاصة بها:
الخاصية | الافتراضي | الوصف |
---|---|---|
سرعة الاستيفاء | 25 | تتحكم في مدى سرعة انتقال حركات الشفاه بين وحدات الوجه الصوتية. تؤدي القيم الأعلى إلى انتقالات أسرع وأكثر حدة. |
وقت إعادة التعيين | 0.2 | المدة بالثواني بعدها تتم إعادة تعيين مزامنة الشفاه. يكون هذا مفيدًا لمنع استمرار مزامنة الشفاه بعد توقف الصوت. |
تحتوي عقدة Blend Realistic MetaHuman Lip Sync
على خيارات تكوين في لوحة الخصائص الخاصة بها:
الخاصية | الافتراضي | الوصف |
---|---|---|
سرعة الاستيفاء | 30 | تتحكم في مدى سرعة انتقال تعابير الوجه أثناء الكلام النشط. تؤدي القيم الأعلى إلى انتقالات أسرع وأكثر حدة. |
سرعة الاستيفاء في وضع الخمول | 15 | تتحكم في مدى سرعة انتقال تعابير الوجه للعودة إلى حالة الخمول/الحياد. تؤدي القيم الأقل إلى عودة أكثر سلاسة وتدريجية لوضع الراحة. |
وقت إعادة التعيين | 0.2 | المدة بالثواني بعدها تتم إعادة تعيين مزامنة الشفاه إلى حالة الخمول. يكون هذا مفيدًا لمنع استمرار التعابير بعد توقف الصوت. |
الحفاظ على حالة الخمول | false | عند التمكين، يحافظ على الحالة العاطفية الأخيرة خلال فترات الخمول بدلاً من إعادة التعيين إلى الحياد. |
الحفاظ على تعابير العين | true | تتحكم فيما إذا كانت عناصر التحكم في الوجه المتعلقة بالعين محفوظة أثناء حالة الخمول. تكون فعالة فقط عند تمكين الحفاظ على حالة الخمول. |
الحفاظ على تعابير الحاجب | true | تتحكم فيما إذا كانت عناصر التحكم في الوجه المتعلقة بالحاجب محفوظة أثناء حالة الخمول. تكون فعالة فقط عند تمكين الحفاظ على حالة الخمول. |
الحفاظ على شكل الفم | false | تتحكم فيما إذا كانت عناصر التحكم في شكل الفم (باستثناء الحركات الخاصة بالكلام مثل اللسان والفك) محفوظة أثناء حالة الخمول. تكون فعالة فقط عند تمكين الحفاظ على حالة الخمول. |
الحفاظ على حالة الخمول
تتعامل ميزة الحفاظ على حالة الخمول مع كيفية تعامل النموذج الواقعي مع فترات الصمت. على عكس النموذج القياسي الذي يستخدم وحدات وجه صوتية منفصلة ويعود باستمرار إلى قيم صفرية أثناء الصمت، قد تحافظ الشبكة العصبية للنموذج الواقعي على وضعيات وجهية دقيقة تختلف عن وضع الراحة الافتراضي لـ MetaHuman.
متى يتم التمكين:
- الحفاظ على التعابير العاطفية بين مقاطع الكلام
- الحفاظ على سمات شخصية الشخصية
- ضمان الاستمرارية البصرية في التسلسلات السينمائية
خيارات التحكم الإقليمية:
- تعابير العين: تحافظ على تضييق العينين، وتوسيعهما، ووضعية الجفن
- تعابير الحاجب: تحافظ على وضعية الحاجب والجبهة
- شكل الفم: تحافظ على انحناء الفم العام مع السماح لحركات الكلام (اللسان، الفك) بإعادة التعيين
رسوميات الضحك
يمكنك أيضًا إضافة رسوم متحركة للضحك ستستجيب ديناميكيًا للضحك المكتشف في الصوت:
- أضف عقدة
Blend Runtime MetaHuman Laughter
- صل متغير
RuntimeVisemeGenerator
الخاص بك بدبوسViseme Generator
- إذا كنت تستخدم مزامنة الشفاه بالفعل:
- صل المخرج من عقدة
Blend Runtime MetaHuman Lip Sync
إلىSource Pose
الخاصة بعقدةBlend Runtime MetaHuman Laughter
- صل مخرج عقدة
Blend Runtime MetaHuman Laughter
إلى دبوسResult
الخاص بـOutput Pose
- صل المخرج من عقدة
- إذا كنت تستخدم الضحك فقط بدون مزامنة الشفاه:
- صل وضعية المصدر الخاصة بك مباشرة إلى
Source Pose
الخاصة بعقدةBlend Runtime MetaHuman Laughter
- صل المخرج إلى دبوس
Result
- صل وضعية المصدر الخاصة بك مباشرة إلى
عند اكتشاف الضحك في الصوت، سيتحرك شخصيتك ديناميكيًا وفقًا لذلك:
تكوين الضحك
لعقدة Blend Runtime MetaHuman Laughter
خيارات تكوين خاصة بها:
الخاصية | الافتراضي | الوصف |
---|---|---|
Interpolation Speed | 25 | يتحكم في سرعة انتقال حركات الشفاه بين رسوم الضحك المتحركة. القيم الأعلى تؤدي إلى انتقالات أسرع وأكثر فجائية. |
Reset Time | 0.2 | المدة بالثواني التي يتم بعدها إعادة تعيين الضحك. هذا مفيد لمنع استمرار الضحك بعد توقف الصوت. |
Max Laughter Weight | 0.7 | يقيس أقصى شدة لرسم الضحك المتحرك (0.0 - 1.0). |
ملاحظة: اكتشاف الضحك متاح حاليًا فقط مع النموذج القياسي.
الدمج مع الرسوم المتحركة الحالية
لتطبيق مزامنة الشفاه والضحك إلى جانب رسوم الجسم المتحركة الحالية ورسوم الوجه المخصصة دون التغلب عليها:
- أضف عقدة
Layered blend per bone
بين رسوم الجسم المتحركة الخاصة بك والمخرج النهائي. تأكد من أنUse Attached Parent
مضبوط على true. - قم بتكوين إعداد الطبقة:
- أضف 1 عنصر إلى مصفوفة
Layer Setup
- أضف 3 عناصر إلى
Branch Filters
للطبقة، معBone Name
التالية:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- أضف 1 عنصر إلى مصفوفة
- مهم لرسوم الوجه المخصصة: في
Curve Blend Option
، اختر "Use Max Value". هذا يسمح لرسوم الوجه المخصصة (التعبيرات، المشاعر، إلخ) بأن تكون متراكبة بشكل صحيح فوق مزامنة الشفاه. - قم بعمل التوصيلات:
- الرسوم المتحركة الحالية (مثل
BodyPose
) → إدخالBase Pose
- مخرج رسم الوجه المتحرك (من عقد مزامنة الشفاه و/أو الضحك) → إدخال
Blend Poses 0
- عقدة الدمج الطبقي → وضع
Result
النهائي
- الرسوم المتحركة الحالية (مثل
ضبط سلوك مزامنة الشفاه بدقة
التحكم في بروز اللسان
في نموذج مزامنة الشفاه القياسي، قد تلاحظ حركة لسان مفرطة للأمام أثناء بعض الفونيمات. للتحكم في بروز اللسان:
- بعد عقدة مزج مزامنة الشفاه الخاصة بك، أضف عقدة
Modify Curve
- انقر بزر الماوس الأيمن على عقدة
Modify Curve
وحدد Add Curve Pin - أضف دبوس منحنى بالاسم
CTRL_expressions_tongueOut
- عيّن خاصية Apply Mode للعقدة إلى Scale
- اضبط معامل Value للتحكم في امتداد اللسان (مثلاً، 0.8 لتقليل البروز بنسبة 20%)
التحكم في فتح الفك
قد تنتج مزامنة الشفاه الواقعية حركات فك شديدة الاستجابة اعتمادًا على محتوى الصوت الخاص بك والمتطلبات البصرية. لضبط شدة فتح الفك:
- بعد عقدة مزج مزامنة الشفاه الخاصة بك، أضف عقدة
Modify Curve
- انقر بزر الماوس الأيمن على عقدة
Modify Curve
وحدد Add Curve Pin - أضف دبوس منحنى بالاسم
CTRL_expressions_jawOpen
- عيّن خاصية Apply Mode للعقدة إلى Scale
- اضبط معامل 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, Quest | Windows, Mac, iOS, Linux | Windows, Mac, iOS, Linux |
حالات الاستخدام | التطبيقات العامة، الألعاب، الواقع الافتراضي/المعزز، الهاتف المحمول | التجارب السينمائية، التفاعلات عن قرب | سرد القصص العاطفي، تفاعل الشخصيات المتقدم |
توافق إصدار المحرك
:::تحذير مشكلة توافق UE 5.2 إذا كنت تستخدم Unreal Engine 5.2، فقد لا تعرض النماذج الواقعية بشكل صحيح بسبب خلل في مكتبة إعادة التشكيل في UE. لمستخدمي UE 5.2 الذين يحتاجون إلى وظيفة مزامنة الشفاه الموثوقة، يرجى استخدام النموذج القياسي بدلاً من ذلك.
هذه المشكلة خاصة بـ UE 5.2 ولا تؤثر على إصدارات المحرك الأخرى. :::
توصيات الأداء
- بالنسبة لمعظم المشاريع، يوفر النموذج القياسي توازنًا ممتازًا بين الجودة والأداء
- استخدم النموذج الواقعي عندما تحتاج إلى أعلى دقة بصرية لشخصيات MetaHuman
- استخدم النموذج الواقعي المدعوم بالمزاج عندما يكون التحكم في التعبير العاطفي مهماً لتطبيقك
- ضع في اعتبارك قدرات الأداء لمنصتك المستهدفة عند الاختيار بين النماذج
- اختبر مستويات التحسين المختلفة للعثور على أفضل توازن لحالة الاستخدام المحددة لديك
توافق تحويل النص إلى كلام (TTS)
نوع النموذج | دعم TTS المحلي (عبر Runtime Text To Speech) | دعم TTS الخارجي | ملاحظات |
---|---|---|---|
النموذج القياسي | ✅ دعم كامل | ✅ دعم كامل | متوافق مع جميع خيارات TTS |
النموذج الواقعي | ❌ دعم محدود | ✅ دعم كامل | تعارضات وقت تشغيل ONNX مع TTS المحلي |
النموذج الواقعي المدعوم بالمزاج | ✅ دعم كامل | ✅ دعم كامل | متوافق مع جميع خيارات TTS |
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة
إعادة إنشاء المُولِّد للنماذج الواقعية: لتشغيل موثوق ومتسق مع النماذج الواقعية، يوصى بإعادة إنشاء المُولِّد في كل مرة تريد فيها تغذية بيانات صوتية جديدة بعد فترة من الخمول. هذا بسبب سلوك وقت تشغيل ONNX الذي يمكن أن يتسبب في توقف مزامنة الشفاه عن العمل عند إعادة استخدام المُولِّدات بعد فترات من الصمت.
توافق TTS المحلي: TTS المحلي المقدم بواسطة الإضافة Runtime Text To Speech غير مدعوم حاليًا مع النموذج الواقعي العادي بسبب تعارضات وقت تشغيل ONNX. ومع ذلك، فهو متوافق تمامًا مع كل من النموذج القياسي والنموذج الواقعي المدعوم بالمزاج. استخدم خدمات TTS الخارجية إذا كنت تحتاج تحديدًا إلى النموذج الواقعي العادي مع وظيفة TTS.
تدهور استجابة مزامنة الشفاه: إذا واجهت أن مزامنة الشفاه أصبحت أقل استجابة بمرور الوقت عند استخدام Streaming Sound Wave أو Capturable Sound Wave، فقد يكون هذا ناتجًا عن تراكم الذاكرة. افتراضيًا، يتم إعادة تخصيص الذاكرة في كل مرة يتم فيها إلحاق صوت جديد. لمنع هذه المشكلة، استدعِ الدالة ReleaseMemory بشكل دوري لتحرير الذاكرة المتراكمة، مثل كل 30 ثانية تقريبًا.
تحسين الأداء:
- اضبط حجم جزء المعالجة للنماذج الواقعية بناءً على متطلبات الأداء لديك
- استخدم أعداد الخيوط المناسبة للأجهزة المستهدفة لديك
- ضع في اعتبارك استخدام نوع الإخراج Mouth Only للنماذج المدعومة بالمزاج عندما لا تكون هناك حاجة إلى تحريك الوجه بالكامل