كيفية استخدام المكوّن الإضافي
يشرح هذا الدليل عملية إعداد Runtime MetaHuman Lip Sync لشخصيات MetaHuman الخاصة بك.
ملاحظة: يعمل Runtime MetaHuman Lip Sync مع كل من شخصيات MetaHuman والشخصيات المخصصة. يدعم المكوّن الإضافي أنواعًا مختلفة من الشخصيات بما في ذلك:
- الشخصيات التجارية الشهيرة (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, إلخ)
- الشخصيات ذات blendshapes القائمة على FACS
- النماذج التي تستخدم معايير ARKit blendshape
- الشخصيات مع مجموعات Preston Blair للفونيمات
- أنظمة 3ds Max للفونيمات
- أي شخصية ذات أهداف تشكيل مخصصة للتعبيرات الوجهية
للحصول على تعليمات مفصلة حول إعداد الشخصيات المخصصة، بما في ذلك مراجع تعيين الفيزيمات لجميع المعايير المذكورة أعلاه، راجع دليل إعداد الشخصيات المخصصة.
المتطلبات المسبقة
قبل البدء، تأكد من:
- تم تمكين مكوّن MetaHuman الإضافي في مشروعك (ملاحظة: بدءًا من UE 5.6، لم تعد هذه الخطوة مطلوبة حيث تم دمج وظائف MetaHuman مباشرة في المحرك)
- لديك على الأقل شخصية MetaHuman واحدة تم تنزيلها ومتاحة في مشروعك
- تم تثبيت مكوّن Runtime MetaHuman Lip Sync الإضافي
المكوّنات الإضافية الأخرى:
- إذا كنت تخطط لاستخدام التقاط الصوت (مثل إدخال الميكروفون)، قم بتثبيت مكوّن Runtime Audio Importer الإضافي.
- إذا كنت تخطط لاستخدام وظيفة تحويل النص إلى كلام، قم بتثبيت مكوّن Runtime Text To Speech الإضافي.
التكوين الخاص بالمنصة
تكوين Android / Meta Quest
إذا كنت تستهدف منصات Android أو Meta Quest وواجهت أخطاء في البناء مع هذا المكوّن الإضافي، فستحتاج إلى تعطيل بنية x86_64 (x64) لنظام Android في إعدادات مشروعك:
- انتقل إلى Edit > Project Settings
- انتقل إلى Platforms > Android
- ضمن Platforms - Android، قسم Build، ابحث عن Support x86_64 [aka x64] وتأكد من تعطيله، كما هو موضح أدناه
هذا لأن المكوّن الإضافي يدعم حاليًا فقط بنيات arm64-v8a وarmeabi-v7a لمنصات Android / Meta Quest.
عملية الإعداد
الخطوة 1: تحديد وتعديل Blueprint تحريك الوجه
- UE 5.5 والإصدارات السابقة (أو MetaHumans القديمة في UE 5.6+)
- شخصيات MetaHuman Creator في UE 5.6+
تحتاج إلى تعديل Animation Blueprint الذي سيتم استخدامه لتحريك وجه شخصية MetaHuman الخاصة بك. يوجد Animation Blueprint الافتراضي لوجه MetaHuman في:
Content/MetaHumans/Common/Face/Face_AnimBP
لديك عدة خيارات لتنفيذ وظيفة مزامنة الشفاه:
- تعديل الأصل مباشرة (أبسط خيار)
- إنشاء نسخة مكررة
- استخدام رسم تخطيطي مخصص للرسوم المتحركة
افتح Face_AnimBP
الافتراضي مباشرة وقم بإجراء التعديلات الخاصة بك. أي تغييرات ستؤثر على جميع شخصيات MetaHuman التي تستخدم هذا الرسم التخطيطي للرسوم المتحركة.
ملاحظة: هذا النهج مريح ولكنه سيؤثر على جميع الشخصيات التي تستخدم الرسم التخطيطي للرسوم المتحركة الافتراضي.
- انسخ
Face_AnimBP
وأعطه اسمًا وصفيًا - حدد موقع فئة الرسم التخطيطي لشخصيتك (على سبيل المثال، بالنسبة للشخصية "Bryan"، ستكون في
Content/MetaHumans/Bryan/BP_Bryan
) - افتح الرسم التخطيطي للشخصية وابحث عن مكون الوجه (Face component)
- غيّر خاصية Anim Class إلى الرسم التخطيطي للرسوم المتحركة المكرر حديثًا
ملاحظة: هذا النهج يسمح لك بتخصيص مزامنة الشفاه لشخصيات معينة مع ترك الآخرين دون تغيير.
يمكنك تنفيذ مزج مزامنة الشفاه في أي رسم تخطيطي للرسوم المتحركة لديه إمكانية الوصول إلى عظام الوجه المطلوبة:
- أنشئ أو استخدم رسمًا تخطيطيًا مخصصًا موجودًا للرسوم المتحركة
- تأكد من أن الرسم التخطيطي للرسوم المتحركة يعمل مع هيكل عظمي يحتوي على نفس عظام الوجه مثل
Face_Archetype_Skeleton
الافتراضي لـ MetaHuman (وهو الهيكل العظمي القياسي المستخدم لأي شخصية MetaHuman)
ملاحظة: هذا النهج يمنحك أقصى مرونة للتكامل مع أنظمة الرسوم المتحركة المخصصة.
بدءًا من UE 5.6، تم تقديم نظام MetaHuman Creator الجديد، الذي ينشئ شخصيات بدون أصل Face_AnimBP
التقليدي. بالنسبة لهذه الشخصيات، يوفر البرنامج المساعد رسمًا تخطيطيًا للرسوم المتحركة للوجه موجودًا في:
Content/LipSyncData/LipSync_Face_AnimBP
استخدام مخطط Face Animation Blueprint الخاص بالبرنامج المساعد:
- حدد فئة Blueprint الخاصة بشخصية MetaHuman Creator الخاصة بك
- افتح Blueprint الشخصية وابحث عن مكون Face
- قم بتغيير خاصية Anim Class إلى
LipSync_Face_AnimBP
الخاص بالبرنامج المساعد - تابع مع الخطوات 2-4 لتكوين وظيفة Runtime MetaHuman Lip Sync
خيارات بديلة:
- استخدام التعليمات القديمة: يمكنك اتباع تعليمات UE 5.5 أعلاه إذا كنت تعمل مع MetaHumans قديمة أو تفضل سير العمل التقليدي
- إنشاء Animation Blueprint مخصص: أنشئ Animation Blueprint خاص بك يعمل مع هيكل الهيكل العظمي لـ MetaHuman Creator
ملاحظة: إذا كنت تستخدم UE 5.6+ ولكنك تعمل مع MetaHumans قديمة (غير منشأة عبر MetaHuman Creator)، فاستخدم تعليمات علامة التبويب "UE 5.5 والإصدارات السابقة" بدلاً من ذلك.
مهم: يمكن تنفيذ مزج Runtime MetaHuman Lip Sync في أي أصل Animation Blueprint لديه إمكانية الوصول إلى وضع يح توي على عظام الوجه الموجودة في Face_Archetype_Skeleton
الافتراضي لـ MetaHuman. أنت غير مقيد بالخيارات أعلاه - هذه مجرد طرق تنفيذ شائعة.
الخطوة 2: إعداد Event Graph
افتح Face Animation Blueprint الخاص بك وانتقل إلى Event Graph
. ستحتاج إلى إنشاء مولد لمعالجة بيانات الصوت وإنشاء رسوم متحركة لمزامنة الشفاه.
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- أضف عقدة
Event Blueprint Begin Play
إذا لم تكن موجودة بالفعل - أضف عقدة
Create Runtime Viseme Generator
وقم بتوصيلها بحدث Begin Play - احفظ المخرجات كمتغير (مثل "VisemeGenerator") لاستخدامها في أجزاء أخرى من الرسم البياني
- أضف عقدة
Event Blueprint Begin Play
إذا لم تكن موجودة بالفعل - أضف عقدة
Create Realistic MetaHuman Lip Sync Generator
وقم بتوصيلها بحدث Begin Play - احفظ المخرجات كمتغير (مثل "RealisticLipSyncGenerator") لاستخدامها في أجزاء أخرى من الرسم البياني
ملاحظة: تم تحسين Realistic Model خصيصًا لشخصيات MetaHuman وهو غير متوافق مع أنواع الشخصيات المخصصة.
لعمل موثوق به ومتسق مع Realistic Model، مطلوب إعادة إنشاء Realistic MetaHuman Lip Sync Generator في كل مرة تريد فيها تغذية بيانات صوتية جديدة بعد فترة من عدم النشاط. هذا بسبب سلوك وقت تشغيل ONNX الذي يمكن أن يتسبب في توقف مزامنة الشفاه عن العمل عند إعادة استخدام المولدات بعد فترات من الصمت.
مثال: إذا قمت بمزامنة الشفاه TTS ثم توقفت، وأردت لاحقًا إجراء مزامنة شفاه جديدة ببيانات صوتية جديدة، فقم بإنشاء Realistic MetaHuman Lip Sync Generator جديد بدلاً من إعادة استخدام الموجود.
الخطوة 3: إعداد معالجة إدخال الصوت
تحتاج إلى إعداد طريقة لمعالجة إدخال الصوت. هناك عدة طرق للقيام بذلك اعتمادًا على مصدر الصوت الخاص بك.
- Microphone (Real-time)
- Microphone (Playback)
- Text-to-Speech (Local)
- Text-to-Speech (External APIs)
- From Audio File/Buffer
- Custom Audio Source
هذا النهج يقوم بمزامنة الشفاه في الوقت الحقيقي أثناء التحدث في الميكروفون:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- أنشئ Capturable Sound Wave باستخدام Runtime Audio Importer
- قبل بدء التقاط الصوت، قم بالربط مع المندوب
OnPopulateAudioData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك - ابدأ في التقاط الصوت من الميكروفون
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بمتغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
هذا النهج يقوم بالتقاط الصوت من ميكروفون، ثم يعيد تشغيله مع مزامنة الشفاه:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- أنشئ Capturable Sound Wave باستخدام Runtime Audio Importer
- ابدأ في التقاط الصوت من الميكروفون
- قبل تشغيل Capturable Sound Wave، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
يستخدم Realistic Model نفس سير عم ل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بمتغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
- Regular
- Streaming
هذا النهج يقوم بتركيب الكلام من النص وتنفيذ مزامنة الشفاه:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- استخدم Runtime Text To Speech لإنشاء كلام من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المركب
- قبل تشغيل الصوت المستورد، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
لا يتم دعم TTS المحلي المقدم بواسطة برنامج Runtime Text To Speech حاليًا مع Realistic model بسبب تعارضات وقت تشغيل ONNX. لمزامنة الشفاه مع Realistic model، فكر في استخدام خدمات TTS الخارجية (مثل OpenAI أو ElevenLabs عبر Runtime AI Chatbot Integrator) أو استخدم Standard model بدلاً من ذلك.
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
هذا النهج يستخدم تركيب كلام نصي متدفق مع مزامنة شفاه في الوقت الحقيقي:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- استخدم Runtime Text To Speech لإنشاء كلام متدفق من النص
- استخدم Runtime Audio Importer لاستيراد الصوت المركب
- قبل تشغيل الصوت المتدفق، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
لا يتم دعم TTS المحلي المقدم بواسطة برنامج Runtime Text To Speech حاليًا مع Realistic model بسبب تعارضات وقت تشغيل ONNX. لمزامنة الشفاه مع Realistic model، فكر في استخدام خدمات TTS الخارجية (مثل OpenAI أو ElevenLabs عبر Runtime AI Chatbot Integrator) أو استخدم Standard model بدلاً من ذلك.
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
- Regular
- Streaming
هذا النهج يستخدم برنامج Runtime AI Chatbot Integrator لإنشاء كلام مركب من خدمات الذكاء الاصطناعي (OpenAI أو ElevenLabs) وتنفيذ مزامنة الشفاه:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- استخدم Runtime AI Chatbot Integrator لإنشاء كلام من النص باستخدام واجهات برمجة التطبيقات الخارجية (OpenAI، ElevenLabs، إلخ.)
- استخدم Runtime Audio Importer لاستيراد بيانات الصوت المركب
- قبل تشغيل الصوت المستورد، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيف ة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بمتغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
هذا النهج يستخدم برنامج Runtime AI Chatbot Integrator للاتصال بواجهات برمجة تطبيقات TTS المتدفقة (مثل ElevenLabs Streaming API) وتنفيذ مزامنة الشفاه:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- استخدم Runtime AI Chatbot Integrator للاتصال بواجهات برمجة تطبيقات TTS المتدفقة (مثل ElevenLabs Streaming API)
- استخدم Runtime Audio Importer لاستيراد بيانات الصوت المركب
- قبل تشغيل الصوت المتدفق، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بمتغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
هذا النهج يستخدم ملفات صوت مسجلة مسبقًا أو مخازن مؤقتة للصوت لمزامنة الشفاه:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- استخدم Runtime Audio Importer لـاستيراد ملف صوتي من القرص أو الذاكرة
- قبل تشغيل الصوت المستورد، قم بالربط مع المندوب
OnGeneratePCMData
- في الوظيفة المرتبطة، استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك - شغل الصوت المستورد ولاحظ رسوم متحركة لمزامنة الشفاه
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بمتغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أص غر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
لمصدر صوت مخصص، تحتاج إلى:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- بيانات صوت بتنسيق PCM float (مصفوفة من عينات النقطة العائمة)
- معدل العينة وعدد القنوات
- استدعِ
ProcessAudioData
من Runtime Viseme Generator الخاص بك مع هذه المعلمات
إليك مثال لبث الصوت من مصدر مخصص:
يستخدم Realistic Model نفس سير عمل معالجة الصوت مثل Standard Model، ولكن مع متغير RealisticLipSyncGenerator
بدلاً من VisemeGenerator
.
في كل الأمثلة الموضحة لـ Standard Model، استبدل ببساطة:
VisemeGenerator
بم تغيرRealisticLipSyncGenerator
الخاص بك- تبقى أسماء الوظائف والمعلمات متطابقة بين كلا النموذجين
ملاحظة: إذا كنت تريد معالجة بيانات الصوت في أجزاء أصغر لمزامنة شفاه أكثر استجابة، اضبط الحساب في وظيفة SetNumSamplesPerChunk
. على سبيل المثال، قسمة معدل العينة على 150 (بث كل ~6.67 مللي ثانية) بدلاً من 100 (بث كل 10 مللي ثانية) سيوفر تحديثات أكثر تواترًا لمزامنة الشفاه.
الخطوة 4: إعداد Anim Graph
بعد إعداد Event Graph، انتقل إلى Anim Graph
لتوصيل المولد برسوم متحركة للشخصية:
مزامنة الشفاه
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- حدد الوضع الذي يحتوي على وجه MetaHuman (عادة من
Use cached pose 'Body Pose'
) - أضف عقدة
Blend Runtime MetaHuman Lip Sync
- قم بتوصيل الوضع بـ
Source Pose
لعقدةBlend Runtime MetaHuman Lip Sync
- قم بتوصيل متغير
RuntimeVisemeGenerator
الخاص بك بـViseme Generator
pin - قم بتوصيل مخرجات عقدة
Blend Runtime MetaHuman Lip Sync
بـResult
pin لـOutput Pose
عند اكتشاف مزامنة شفاه في الصوت، ستحرك شخصيتك ديناميكيًا وفقًا لذلك:
- حدد الوضع الذي يحتوي على وجه MetaHuman (عادة من
Use cached pose 'Body Pose'
) - أضف عقدة
Blend Realistic MetaHuman Lip Sync
- قم بتوصيل الوضع بـ
Source Pose
لعقدةBlend Realistic MetaHuman Lip Sync
- قم بتوصيل متغير
RealisticLipSyncGenerator
الخاص بك بـLip Sync Generator
pin - قم بتوصيل مخرجات عقدة
Blend Realistic MetaHuman Lip Sync
بـResult
pin لـOutput Pose
يوفر Realistic Model جودة بصرية محسنة مع حركات فم أكثر طبيعية:
ملاحظة: تم تصميم Realistic Model حصريًا لشخصيات MetaHuman وهو غير متوافق مع أنواع الشخصيات المخصصة.
رسوم متحركة للضحك
يمكنك أيضًا إضافة رسوم متحركة للضحك تستجيب ديناميكيًا للضحك المكتشف في الصوت:
- أضف عقدة
Blend Runtime MetaHuman Laughter
- قم بتوصيل متغير
RuntimeVisemeGenerator
الخاص بك بـViseme Generator
pin - إذا كنت تستخدم بالفعل مزامنة الشفاه:
- قم بتوصيل المخرجات من عقدة
Blend Runtime MetaHuman Lip Sync
بـSource Pose
لعقدةBlend Runtime MetaHuman Laughter
- قم بتوصيل مخرجات عقدة
Blend Runtime MetaHuman Laughter
بـResult
pin لـOutput Pose
- قم بتوصيل المخرجات من عقدة
- إذا كنت تستخدم الضحك فقط بدون مزامنة شفاه:
- قم ب توصيل وضع المصدر الخاص بك مباشرة بـ
Source Pose
لعقدةBlend Runtime MetaHuman Laughter
- قم بتوصيل المخرجات بـ
Result
pin
- قم ب توصيل وضع المصدر الخاص بك مباشرة بـ
عند اكتشاف ضحك في الصوت، ستحرك شخصيتك ديناميكيًا وفقًا لذلك:
الجمع مع رسوم متحركة للجسم
لتطبيق مزامنة الشفاه والضحك جنبًا إلى جنب مع رسوم متحركة للجسم الموجودة دون تجاوزها:
- أضف عقدة
Layered blend per bone
بين رسوم متحركة للجسم والمخرجات النهائية. تأكد من أنUse Attached Parent
صحيح. - قم بتكوين إعداد الطبقة:
- أضف 1 عنصر إلى مصفوفة
Layer Setup
- أضف 3 عناصر إلى
Branch Filters
للطبقة، معBone Name
التالية:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- أضف 1 عنصر إلى مصفوفة
- قم بإجراء الاتصالات:
- رسوم متحركة موجودة (مثل
BodyPose
) → إدخالBase Pose
- مخرجات رسوم متحركة للوجه (من عقد مزامنة الشفاه و/أو الضحك) → إدخال
Blend Poses 0
- عقدة Layered blend → وضع
Result
النهائي
- رسوم متحركة موجودة (مثل
لماذا يعمل هذا: تعزل عوامل تصفية الفروع عظام رسوم متحركة للوجه، مما يسمح لمزامنة الشفاه والضحك بالاختلاط حصريًا مع حركات الوجه مع الحفاظ على رسوم متحركة للجسم الأصلية. هذا يتطابق مع هيكل MetaHuman للوجه، مما يضمن تكاملًا طبيعيًا.
ملاحظة: تم تصميم ميزات مزامنة الشفاه والضحك للعمل بشكل غير مدمر مع إعداد الرسوم المتحركة الحالي الخاص بك. فهي تؤثر فقط على عظام الوجه المحددة اللازمة لحركة الفم، تاركة رسوم متحركة للوجه الأخرى سليمة. هذا يعني أنه يمكنك دمجها بأمان في أي نقطة في سلسلة الرسوم المتحركة الخاصة بك - إما قبل رسوم متحركة للوجه الأخرى (السماح لهذه الرسوم المتحركة بتجاوز مزامنة الشفاه/الضحك) أو بعدها (السماح لمزامنة الشفاه/الضحك بالاختلاط فوق رسوم متحركة موجودة). هذه المرونة تتيح لك الجمع بين مزامنة الشفاه والضحك مع وميض العين، حركات الحاجبين، التعبيرات العاطفية، ورسوم متحركة أخرى للوجه دون تعارضات.
التكوين
تكوين مزامنة الشفاه
- Standard (Faster) Model
- Realistic (Higher Quality) Model
تحتوي عقدة Blend Runtime MetaHuman Lip Sync
على خيارات تكوين في لوحة الخصائص الخاصة بها:
الخاصية | الافتراضي | الوصف |
---|---|---|
Interpolation Speed | 25 | يتحكم في سرعة انتقال حركات الشفاه بين visemes. القيم الأعلى تؤدي إلى انتقالات أسرع وأكثر حدة. |
Reset Time | 0.2 | المدة بالثواني بعدها يتم إعادة تعيين مزامنة الشفاه. هذا مفيد لمنع استمرار مزامنة الشفاه بعد توقف الصوت. |
تحتوي عقدة Blend Realistic MetaHuman Lip Sync
على خيارات تكوين في لوحة الخصائص الخاصة بها:
الخاصي ة | الافتراضي | الوصف |
---|---|---|
Interpolation Speed | 30 | يتحكم في سرعة انتقال حركات الشفاه بين المواضع. القيم الأعلى تؤدي إلى انتقالات أسرع وأكثر حدة. |
Reset Time | 0.2 | المدة بالثواني بعدها يتم إعادة تعيين مزامنة الشفاه. هذا مفيد لمنع استمرار مزامنة الشفاه بعد توقف الصوت. |
تكوين الضحك
تحتوي عقدة Blend Runtime MetaHuman Laughter
على خيارات تكوين خاصة بها:
الخاصية | الافتراضي | الوصف |
---|---|---|
Interpolation Speed | 25 | يتحكم في سرعة انتقال حركات الشفاه بين رسوم متحركة للضحك. القيم الأعلى تؤدي إلى انتقالات أسرع وأكثر حدة. |
Reset Time | 0.2 | المدة بالثواني بعدها يتم إعادة تعيين الضحك. هذا مفيد لمنع استمرار الضحك بعد توقف الصوت. |
Max Laughter Weight | 0.7 | يقيس أقصى شدة لرسوم متحركة للضحك (0.0 - 1.0). |