प्लगइन का उपयोग कैसे करें
यह गाइड आपको अपने MetaHuman कैरेक्टर्स के लिए Runtime MetaHuman Lip Sync सेट अप करने की प्रक्रिया के माध्यम से चलती है।
नोट: Runtime MetaHuman Lip Sync MetaHuman और कस्टम कैरेक्टर्स दोनों के साथ काम करता है। प्लगइन विभिन्न प्रकार के कैरेक्टर्स का समर्थन करता है, जिनमें शामिल हैं:
- लोकप्रिय वाणिज्यिक कैरेक्टर्स (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, आदि)
- FACS-आधारित ब्लेंडशेप्स वाले कैरेक्टर्स
- ARKit ब्लेंडशेप मानकों का उपयोग करने वाले मॉडल
- Preston Blair फोनेम सेट वाले कैरेक्टर्स
- 3ds Max फोनेम सिस्टम
- चेहरे के भावों के लिए कस्टम मॉर्फ टारगेट वाले कोई भी कैरेक्टर
कस्टम कैरेक्टर्स को सेट अप करने के विस्तृत निर्देशों के लिए, जिसमें उपरोक्त सभी मानकों के लिए विसेम मैपिंग संदर्भ शामिल हैं, कस्टम कैरेक्टर सेटअप गाइड देखें।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें:
- MetaHuman प्लगइन आपके प्रोजेक्ट में सक्षम है (नोट: UE 5.6 से शुरू होकर, यह चरण अब आवश्यक नहीं है क्योंकि MetaHuman कार्यक्षमता सीधे इंजन में एकीकृत है)
- आपके पास कम से कम एक MetaHuman कैरेक्टर डाउनलोड किया हुआ है और आपके प्रोजेक्ट में उपलब्ध है
- Runtime MetaHuman Lip Sync प्लगइन इंस्टॉल है
स्टैंडर्ड मॉडल एक्सटेंशन प्लगइन
यदि आप स्टैंडर्ड (तेज़) मॉडल का उपयोग करने की योजना बना रहे हैं, तो आपको एक्सटेंशन प्लगइन इंस्टॉल करने की आवश्यकता होगी:
- स्टैंडर्ड लिप सिंक एक्सटेंशन प्लगइन को Google Drive से डाउनलोड करें
- डाउनलोड की गई आर्काइव से फ़ोल्डर को अपने प्रोजेक्ट के
Plugins
फ़ोल्डर में निकालें (यदि यह फ़ोल्डर मौजूद नहीं है तो इसे बनाएं) - सुनिश्चित करें कि आपका प्रोजेक्ट एक C++ प्रोजेक्ट के रूप में सेट अप है (भले ही आपके पास कोई C++ कोड न हो)
- अपने प्रोजेक्ट को रीबिल्ड करें
- यह एक्सटेंशन केवल तभी आवश्यक है यदि आप स्टैंडर्ड मॉडल का उपयोग करना चाहते हैं। यदि आपको केवल यथार्थवादी मॉडल की आवश्यकता है, तो आप इस चरण को छोड़ सकते हैं।
- प्लगइन्स को मैन्युअल रूप से बनाने के तरीके के बारे में अधिक जानकारी के लिए, बिल्डिंग प्लगइन्स ट्यूटोरियल देखें
अतिरिक्त प्लगइन्स
- यदि आप ऑडियो कैप्चर (जैसे, माइक्रोफोन इनपुट) का उपयोग करने की योजना बना रहे हैं, तो Runtime Audio Importer प्लगइन इंस्टॉल करें।
- यदि आप मेरे प्लगइन्स के साथ टेक्स्ट-टू-स्पीच कार्यक्षमता का उपयोग करने की योजना बना रहे हैं (आपके पास अपना स्वयं का कस्टम TTS या अन्य ऑडियो इनपुट हो सकता है), तो Runtime Audio Importer प्लगइन के अलावा, निम्नलिखित भी इंस्टॉल करें:
- लोकल TTS के लिए, Runtime Text To Speech प्लगइन।
- एक्सटर्नल TTS प्रोवाइडर्स (ElevenLabs, OpenAI) के लिए, Runtime AI Chatbot Integrator प्लगइन।
सेटअप प्रक्रिया
चरण 1: फेस एनीमेशन ब्लूप्रिंट का पता लगाएं और संशोधित करें
- UE 5.5 और पहले के वर्शन (या UE 5.6+ में लीगेसी MetaHumans)
- UE 5.6+ MetaHuman Creator Characters
आपको एक एनीमेशन ब्लूप्रिंट को संशोधित करने की आवश्यकता है जो आपके MetaHuman कैरेक्टर के फेशियल एनिमेशन्स के लिए उपयोग किया जाएगा। डिफ़ॉल्ट MetaHuman फेस एनीमेशन ब्लूप्रिंट यहाँ स्थित है:
Content/MetaHumans/Common/Face/Face_AnimBP
आपके पास लिप सिंक कार्यक्षमता को लागू करने के लिए कई विकल्प हैं:
- Edit Default Asset (Simplest Option)
- Create Duplicate
- Use Custom Animation Blueprint
डिफ़ॉल्ट Face_AnimBP
को सीधे खोलें और अपने संशोधन करें। कोई भी परिवर्तन इस एनीमेशन ब्लूप्रिंट का उपयोग करने वाले सभी MetaHuman कैरेक्टर्स को प्रभावित करेगा।
नोट: यह दृष्टिकोण सुविधाजनक है लेकिन डिफ़ॉल्ट एनीमेशन ब्लूप्रिंट का उपयोग करने वाले सभी कैरेक्टर्स पर प्रभाव डालेगा।
Face_AnimBP
की डुप्लिकेट बनाएं और उसे एक वर्णनात्मक नाम दें- अपने कैरेक्टर की ब्लूप्रिंट क्लास ढूंढें (उदाहरण के लिए, कैरेक्टर "Bryan" के लिए, यह
Content/MetaHumans/Bryan/BP_Bryan
पर होगी) - कैरेक्टर ब्लूप्रिंट खोलें और Face कंपोनेंट ढूंढें
- Anim Class प्रॉपर्टी को अपने नव निर्मित डुप्लिकेट एनीमेशन ब्लूप्रिंट में बदलें
नोट: यह दृष्टिकोण आपको विशिष्ट कैरेक्टर्स के लिए लिप सिंक को अनुकूलित करने की अनुमति देता है जबकि अन्य को अपरिवर्तित छोड़ देता है।
आप किसी भी एनीमेशन ब्लूप्रिंट में लिप सिंक ब्लेंडिंग लागू कर सकते हैं जिसकी आवश्यक फेशियल बोन्स तक पहुंच हो:
- एक कस्टम एनीमेशन ब्लूप्रिंट बनाएं या मौजूदा का उपयोग करें
- सुनिश्चित करें कि आपका एनीमेशन ब्लूप्रिंट एक स्केलेटन के साथ काम करता है जिसमें डिफ़ॉल्ट MetaHuman के
Face_Archetype_Skeleton
(जो किसी भी MetaHuman कैरेक्टर के लिए उपयोग किया जाने वाला मानक स्केलेटन है) के समान फेशियल बोन्स शामिल हैं
नोट: यह दृष्टिकोण आपको कस्टम एनीमेशन सिस्टम के साथ एकीकरण के लिए अधिकतम लचीलापन प्रदान करता है।
UE 5.6 से शुरू होकर, नई MetaHuman Creator प्रणाली पेश की गई थी, जो पारंपरिक Face_AnimBP
एसेट के बिना कैरेक्टर्स बनाती है। इन कैरेक्टर्स के लिए, प्लगइन एक फेस एनीमेशन ब्लूप्रिंट प्रदान करता है जो यहां स्थित है:
Content/LipSyncData/LipSync_Face_AnimBP
यह एनीमेशन ब्लूप्रिंट प्लगइन की कंटेंट फ़ोल्डर में स्थित है और प्रत्येक प्लगइन अपडेट के साथ ओवरराइट हो जाएगा। अपने कस्टमाइज़ेशन को खोने से बचने के लिए, यह अत्यधिक अनुशंसित है कि:
- इस एसेट को अपने प्रोजेक्ट की कंटेंट फ़ोल्डर में कॉपी करें (उदाहरण के लिए,
YourProject/Content/MetaHumans/LipSync_Face_AnimBP
में) - अपने कैरेक्टर सेटअप में अपनी कॉपी किए गए वर्जन का उपयोग करें
- अपने सभी संशोधन कॉपी किए गए वर्जन में करें
यह सुनिश्चित करता है कि आपके लिप सिंक कॉन्फ़िगरेशन प्लगइन अपडेट के दौरान बने रहेंगे।
प्लगइन के फेस एनीमेशन ब्लूप्रिंट का उपयोग करना:
- अपने MetaHuman Creator कैरेक्टर की ब्लूप्रिंट क्लास का पता लगाएं
- कैरेक्टर ब्लूप्रिंट खोलें और Face कंपोनेंट ढूंढें
- Anim Class प्रॉपर्टी को प्लगइन के
LipSync_Face_AnimBP
में बदलें - Runtime MetaHuman Lip Sync फंक्शनैलिटी को कॉन्फ़िगर करने के लिए स्टेप 2-4 जारी रखें
वैकल्पिक विकल्प:
- लेगेसी निर्देशों का उपयोग करें: यदि आप लेगेसी MetaHumans के साथ काम कर रहे हैं या पारंपरिक वर्कफ़्लो पसंद करते हैं, तो आप अभी भी ऊपर दिए गए UE 5.5 निर्देशों का पालन कर सकते हैं
- कस्टम एनीमेशन ब्लूप्रिंट बनाएँ: अपना खुद का एनीमेशन ब्लूप्रिंट बनाएँ जो MetaHuman Creator स्केलेटन स्ट्रक्चर के साथ काम करता हो
नोट: यदि आप UE 5.6+ का उपयोग कर रहे हैं लेकिन लेगेसी MetaHumans (MetaHuman Creator के माध्यम से नहीं बनाए गए) के साथ काम कर रहे हैं, तो इसके बजाय "UE 5.5 और अर्लियर" टैब निर्देशों का उपयोग करें।
महत्वपूर्ण: Runtime MetaHuman Lip Sync ब्लेंडिंग को किसी भी एनीमेशन ब्लूप्रिंट एसेट में लागू किया जा सकता है जिसमें डिफ़ॉल्ट MetaHuman के Face_Archetype_Skeleton
में मौजूद फेशियल बोन्स वाले पोज़ तक पहुंच हो। आप ऊपर दिए गए विकल्पों तक सीमित नहीं हैं - ये सिर्फ सामान्य इम्प्लीमेंटेशन दृष्टिकोण हैं।
स्टेप 2: इवेंट ग्राफ़ सेटअप
अपना Face एनीमेशन ब्लूप्रिंट खोलें और Event Graph
पर स्विच करें। आपको एक जेनरेटर बनाने की आवश्यकता होगी जो ऑडियो डेटा को प्रोसेस करेगा और लिप सिंक एनीमेशन जेनरेट करेगा।
- स्टैंडर्ड (तेज़) मॉडल
- यथार्थवादी (उच्च गुणवत्ता) मॉडल
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 MetaHuman Lip Sync Generator ऑब्जेक्ट पर प्रोसेसिंग चंक साइज़ सेट करें

नोट: रियलिस्टिक मॉडल विशेष रूप से MetaHuman कैरेक्टर्स के लिए ऑप्टिमाइज़ किया गया है और कस्टम कैरेक्टर प्रकारों के साथ संगत नहीं है।
कॉन्फ़िगरेशन विकल्प
Create Realistic MetaHuman Lip Sync Generator
नोड एक वैकल्पिक Configuration पैरामीटर स्वीकार करता है जो आपको जनरेटर के व्यवहार को अनुकूलित करने की अनुमति देता है:
मॉडल प्रकार
Model Type सेटिंग यह निर्धारित करती है कि रियलिस्टिक मॉडल के किस संस्करण का उपयोग करना है:
मॉडल प्रकार | प्रदर्शन | दृश्य गुणवत्ता | शोर प्रबंधन | अनुशंसित उपयोग के मामले |
---|---|---|---|---|
अत्यधिक अनुकूलित (डिफ़ॉल्ट) | उच्चतम प्रदर्शन, सबसे कम CPU उपयोग | अच्छी गुणवत्ता | पृष्ठभूमि शोर या गैर-आवाज़ वाली ध्वनियों के साथ ध्यान देने योग्य मुंह की हरकतें दिखा सकता है | साफ ऑडियो वातावरण, प्रदर्शन-महत्वपूर्ण परिदृश्य |
अनुकूलित | अच्छा प्रदर्शन, मध्यम CPU उपयोग | उच्च गुणवत्ता | शोरयुक्त ऑडियो के साथ बेहतर स्थिरता | संतुलित प्रदर्शन और गुणवत्ता, मिश्रित ऑडियो स्थितियाँ |
मूल अनअनुकूलित | आधुनिक CPUs पर रियल-टाइम उपयोग के लिए उपयुक्त | उच्चतम गुणवत्ता | पृष्ठभूमि शोर और गैर-आवाज़ वाली ध्वनियों के साथ सबसे अधिक स्थिर | उच्च-गुणवत्ता वाले प्रोडक्शन, शोरयुक्त ऑडियो वातावरण, जब अधिकतम सटीकता की आवश्यकता हो |
प्रदर्शन सेटिंग्स
Intra Op Threads: आंतरिक मॉडल प्रसंस्करण संचालन के लिए उपयोग किए जाने वाले थ्रेड्स की संख्या को नियंत्रित करता है।
- 0 (डिफ़ॉल्ट/स्वचालित): स्वचालित पहचान का उपयोग करता है (आमतौर पर उपलब्ध CPU कोर का 1/4, अधिकतम 4)
- 1-16: थ्रेड काउंट को मैन्युअल रूप से निर्दिष्ट करें। उच्च मान मल्टी-कोर सिस्टम पर प्रदर्शन में सुधार कर सकते हैं लेकिन अधिक CPU का उपयोग करते हैं
Inter Op Threads: विभिन्न मॉडल संचालन के समानांतर निष्पादन के लिए उपयोग किए जाने वाले थ्रेड्स की संख्या को नियंत्रित करता है।
- 0 (डिफ़ॉल्ट/स्वचालित): स्वचालित पहचान का उपयोग करता है (आमतौर पर उपलब्ध CPU कोर का 1/8, अधिकतम 2)
- 1-8: थ्रेड काउंट को मैन्युअल रूप से निर्दिष्ट करें। आमतौर पर रियल-टाइम प्रोसेसिंग के लिए कम रखा जाता है
कॉन्फ़िगरेशन का उपयोग करना
जनरेटर को कॉन्फ़िगर करने के लिए:
Create Realistic MetaHuman Lip Sync Generator
नोड में, Configuration पैरामीटर का विस्तार करें- Model Type को अपने पसंदीदा विकल्प पर सेट करें:
- सर्वोत्तम प्रदर्शन के लिए अत्यधिक अनुकूलित का उपयोग करें (अधिकांश उपयोगकर्ताओं के लिए अनुशंसित)
- संतुलित प्रदर्शन और गुणवत्ता के लिए अनुकूलित का उपयोग करें
- केवल तभी मूल अनअनुकूलित का उपयोग करें जब अधिकतम गुणवत्ता आवश्यक हो
- यदि आवश्यक हो तो Intra Op Threads और Inter Op Threads को समायोजित करें (अधिकांश मामलों में स्वचालित पहचान के लिए 0 पर छोड़ दें) प्रदर्शन सिफारिशें:
- अधिकांश परियोजनाओं के लिए साफ ऑडियो के साथ, सर्वश्रेष्ठ प्रदर्शन के लिए अत्यधिक अनुकूलित का उपयोग करें
- यदि आप ऐसे ऑडियो के साथ काम कर रहे हैं जिसमें पृष्ठभूमि शोर, संगीत, या गैर-आवाज़ वाली ध्वनियाँ हैं, तो बेहतर स्थिरता के लिए अनुकूलित या मूल अनअनुकूलित मॉडल का उपयोग करने पर विचार करें
- अत्यधिक अनुकूलित मॉडल गैर-आवाज़ ऑडियो को प्रोसेस करते समय मॉडल निर्माण के दौरान लागू अनुकूलन तकनीकों के कारण सूक्ष्म मुंह की हरकतें दिखा सकता है
- मूल अनअनुकूलित मॉडल, हालांकि अधिक CPU संसाधनों की मांग करता है, आधुनिक हार्डवेयर पर रीयल-टाइम अनुप्रयोगों के लिए अभी भी उपयुक्त है और चुनौतीपूर्ण ऑडियो स्थितियों के साथ सबसे सटीक परिणाम प्रदान करता है
- केवल थ्रेड काउंट को समायोजित करें यदि आप प्रदर्शन संबंधी समस्याओं का सामना कर रहे हैं या आपकी विशिष्ट अनुकूलन आवश्यकताएं हैं
- उच्च थ्रेड काउंट का मतलब हमेशा बेहतर प्रदर्शन नहीं होता है - इष्टतम मान आपके विशिष्ट हार्डवेयर और परियोजना आवश्यकताओं पर निर्भर करते हैं
प्रोसेसिंग चंक आकार कॉन्फ़िगरेशन: प्रोसेसिंग चंक आकार यह निर्धारित करता है कि प्रत्येक इनफेरेंस चरण में कितने सैंपल प्रोसेस किए जाते हैं। डिफ़ॉल्ट मान 160 सैंपल है, जो 16kHz (आंतरिक प्रोसेसिंग सैंपल दर) पर 10ms ऑडियो के अनुरूप है। आप अद्यतन आवृत्ति और CPU उपयोग के बीच संतुलन बनाने के लिए इस मान को समायोजित कर सकते हैं:
- छोटे मान अधिक बार अद्यतन प्रदान करते हैं लेकिन CPU उपयोग बढ़ाते हैं
- बड़े मान CPU लोड को कम करते हैं लेकिन लिप सिंक की प्रतिक्रियाशीलता को कम कर सकते हैं
प्रोसेसिंग चंक आकार सेट करने के लिए:
- अपने
Realistic MetaHuman Lip Sync Generator
ऑब्जेक्ट तक पहुंचें Processing Chunk Size
प्रॉपर्टी ढूंढें- अपना वांछित मान सेट करें
160 के गुणज मानों का उपयोग करने की सिफारिश की जाती है। यह मॉडल की आंतरिक प्रोसेसिंग संरचना के साथ संरेखित करता है। अनुशंसित मानों में शामिल हैं:
160
(डिफ़ॉल्ट, न्यूनतम अनुशंसित)320
480
640
- आदि।
160
सैंपल का डिफ़ॉल्ट प्रोसेसिंग चंक आकार 16kHz पर 10ms ऑडियो के अनुरूप है। 160 के गुणज का उपयोग करने से इस आधार इकाई के साथ संरेखण बना रहता है, जो प्रोसेसिंग दक्षता को अनुकूलित करने और विभिन्न चंक आकारों में सुसंगत व्यवहार बनाए रखने में मदद कर सकता है।
रियलिस्टिक मॉडल के साथ विश्वसनीय और सुसंगत संचालन के लिए, निष्क्रियता की अवधि के बाद नए ऑडियो डेटा फीड करना चाहते हैं प्रत्येक बार रियलिस्टिक MetaHuman Lip Sync Generator को फिर से बनाना आवश्यक है। यह ONNX रनटाइम व्यवहार के कारण है जो चुप्पी की अवधि के बाद जनरेटर का पुन: उपयोग करने पर लिप सिंक के काम करना बंद करने का कारण बन सकता है।
उदाहरण परिदृश्य: यदि आपने TTS लिप सिंक किया और फिर रुक गए, और बाद में नए ऑडियो के साथ फिर से लिप सिंक करना चाहते हैं, तो मौजूदा का पुन: उपयोग करने के बजाय एक नया रियलिस्टिक MetaHuman Lip Sync Generator बनाएं।
चरण 3: ऑडियो इनपुट प्रोसेसिंग सेट अप करें
आपको ऑडियो इनपुट को प्रोसेस करने की एक विधि सेट अप करने की आवश्यकता है। यह आपके ऑडियो स्रोत के आधार पर कई तरीकों से किया जा सकता है।
- Microphone (Real-time)
- Microphone (Playback)
- Text-to-Speech (Local)
- Text-to-Speech (External APIs)
- From Audio File/Buffer
- Streaming Audio Buffer
यह दृष्टिकोण माइक्रोफोन में बोलते समय रियल-टाइम में लिप सिंक करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- Runtime Audio Importer का उपयोग करके एक Capturable Sound Wave बनाएं
- ऑडियो कैप्चर करना शुरू करने से पहले,
OnPopulateAudioData
डेलिगेट से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें - माइक्रोफोन से ऑडियो कैप्चर करना शुरू करें
Realistic Model, Standard Model के समान ऑडियो प्रोसेसिंग वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
वेरिएबल के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस बदलें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
वेरिएबल से- फ़ंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
यह दृष्टिकोण माइक्रोफोन से ऑडियो कैप्चर करता है, फिर उसे लिप सिंक के साथ प्लेबैक करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- Runtime Audio Importer का उपयोग करके एक Capturable Sound Wave बनाएं
- माइक्रोफोन से ऑडियो कैप्चर करना शुरू करें
- कैप्चर करने योग्य साउंड वेव को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
डेलिगेट से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें
Realistic Model, Standard Model के समान ऑडियो प्रोसेसिंग वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
वेरिएबल के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस बदलें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
वेरिएबल से- फ़ंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए छोटे चंक्स में ऑडियो डेटा को प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को एडजस्ट करें। उदाहरण के लिए, सैंपल रेट को 100 (हर 10 ms स्ट्रीमिंग) के बजाय 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
- Regular
- Streaming
यह दृष्टिकोण टेक्स्ट से स्पीच सिंथेसाइज़ करता है और लिप सिंक करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- टेक्स्ट से स्पीच जनरेट करने के लिए Runtime Text To Speech का उपयोग करें
- सिंथेसाइज़्ड ऑडियो को इम्पोर्ट करने के लिए Runtime Audio Importer का उपयोग करें
- इम्पोर्ट की गई साउंड वेव को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
डेलिगेट से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें
Runtime Text To Speech प्लगइन द्वारा प्रदान किया गया लोकल TTS, ONNX रनटाइम कॉन्फ्लिक्ट्स के कारण वर्तमान में Realistic model के साथ सपोर्टेड नहीं है। Realistic model के साथ टेक्स्ट-टू-स्पीच के लिए, एक्सटर्नल TTS सॉल्यूशंस (जैसे Runtime AI Chatbot Integrator के माध्यम से OpenAI या ElevenLabs) या कोई अन्य TTS जो एक अलग प्रोसेस में चलता है या ONNX रनटाइम का उपयोग नहीं करता है, पर विचार करें, या इसके बजाय Standard model का उपयोग करें।
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए ऑडियो डेटा को छोटे चंक्स में प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को एडजस्ट करें। उदाहरण के लिए, 100 (हर 10 ms स्ट्रीमिंग) के बजाय सैंपल रेट को 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
यह दृष्टिकोण रियल-टाइम लिप सिंक के साथ स्ट्रीमिंग टेक्स्ट-टू-स्पीच सिंथेसिस का उपयोग करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- टेक्स्ट से स्ट्रीमिंग स्पीच जनरेट करने के लिए Runtime Text To Speech का उपयोग करें
- सिंथेसाइज़्ड ऑडियो को इम्पोर्ट करने के लिए Runtime Audio Importer का उपयोग करें
- स्ट्रीमिंग साउंड वेव को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
डेलिगेट से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें
Runtime Text To Speech प्लगइन द्वारा प्रदान किया गया लोकल TTS वर्तमान में ONNX रनटाइम कॉन्फ्लिक्ट्स के कारण Realistic मॉडल के साथ सपोर्टेड नहीं है। Realistic मॉडल के साथ टेक्स्ट-टू-स्पीच के लिए, एक्सटर्नल TTS सर्विसेज (जैसे कि Runtime AI Chatbot Integrator के माध्यम से OpenAI या ElevenLabs) का उपयोग करने पर विचार करें या इसके बजाय Standard मॉडल का उपयोग करें।
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए ऑडियो डेटा को छोटे चंक्स में प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को एडजस्ट करें। उदाहरण के लिए, 100 (हर 10 ms स्ट्रीमिंग) के बजाय सैंपल रेट को 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
- Regular
- Streaming
यह दृष्टिकोण संश्लेषित वाक् उत्पन्न करने के लिए AI सेवाओं (OpenAI या ElevenLabs) से और लिप सिंक करने के लिए Runtime AI Chatbot Integrator प्लगइन का उपयोग करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- बाहरी API (OpenAI, ElevenLabs, आदि) का उपयोग करके पाठ से वाक् उत्पन्न करने के लिए Runtime AI Chatbot Integrator का उपयोग करें
- संश्लेषित ऑडियो डेटा को आयात करने के लिए Runtime Audio Importer का उपयोग करें
- आयात की गई ध्वनि तरंग को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
प्रतिनिधि से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें
Realistic Model, Standard Model के समान ऑडियो प्रसंस्करण वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
चर के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस प्रतिस्थापित करें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
चर के साथ- फ़ंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
नोट: यदि आप अधिक उत्तरदायी लिप सिंक के लिए छोटे चंक्स में ऑडियो डेटा को प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को समायोजित करें। उदाहरण के लिए, 100 (हर ~10 ms स्ट्रीमिंग) के बजाय सैंपल रेट को 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
यह दृष्टिकोण सिंथेसाइज्ड स्ट्रीमिंग स्पीच को AI सेवाओं (OpenAI या ElevenLabs) से उत्पन्न करने और लिप सिंक करने के लिए Runtime AI Chatbot Integrator प्लगइन का उपयोग करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- स्ट्रीमिंग TTS APIs (जैसे ElevenLabs Streaming API) से कनेक्ट करने के लिए Runtime AI Chatbot Integrator का उपयोग करें
- सिंथेसाइज्ड ऑडियो डेटा को इम्पोर्ट करने के लिए Runtime Audio Importer का उपयोग करें
- स्ट्रीमिंग साउंड वेव को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
डेलिगेट से बाइंड करें - बाउंड फंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें
Realistic Model, Standard Model के समान ऑडियो प्रोसेसिंग वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
वेरिएबल के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस बदलें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
वेरिएबल से- फंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए छोटे चंक्स में ऑडियो डेटा प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फंक्शन में गणना को एडजस्ट करें। उदाहरण के लिए, सैंपल रेट को 100 (हर 10 ms स्ट्रीमिंग) के बजाय 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
यह दृष्टिकोण लिप सिंक के लिए पहले से रिकॉर्ड किए गए ऑडियो फ़ाइलों या ऑडियो बफ़र्स का उपयोग करता है:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- डिस्क या मेमोरी से एक ऑडियो फ़ाइल इम्पोर्ट करने के लिए Runtime Audio Importer का उपयोग करें
- इम्पोर्ट किए गए साउंड वेव को प्लेबैक करने से पहले, इसके
OnGeneratePCMData
डेलिगेट से बाइंड करें - बाउंड फ़ंक्शन में, अपने Runtime Viseme Generator से
ProcessAudioData
को कॉल करें - इम्पोर्ट किए गए साउंड वेव को प्ले करें और लिप सिंक एनीमेशन देखें
Realistic Model, Standard Model के समान ऑडियो प्रोसेसिंग वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
वेरिएबल के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस बदलें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
वेरिएबल से- फ़ंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए छोटे चंक्स में ऑडियो डेटा प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को एडजस्ट करें। उदाहरण के लिए, सैंपल रेट को 100 (हर 10 ms स्ट्रीमिंग) के बजाय 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
बफ़र से स्ट्रीमिंग ऑडियो डेटा के लिए, आपको चाहिए:
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- फ्लोट PCM फॉर्मेट में ऑडियो डेटा (फ्लोटिंग-पॉइंट सैंपल्स की एक सरणी) आपके स्ट्रीमिंग स्रोत से उपलब्ध
- सैंपल दर और चैनलों की संख्या
- जैसे ही ऑडियो चंक उपलब्ध होते हैं, अपने Runtime Viseme Generator से
ProcessAudioData
को इन पैरामीटर्स के साथ कॉल करें
यहाँ स्ट्रीमिंग ऑडियो डेटा से लिप सिंक प्रोसेस करने का एक उदाहरण है:
नोट: स्ट्रीमिंग ऑडियो स्रोतों का उपयोग करते समय, विकृत प्लेबैक से बचने के लिए ऑडियो प्लेबैक टाइमिंग को उचित रूप से प्रबंधित करना सुनिश्चित करें। उचित स्ट्रीमिंग ऑडियो प्रबंधन के बारे में अधिक जानकारी के लिए Streaming Sound Wave documentation देखें।
Realistic Model, Standard Model के समान ऑडियो प्रोसेसिंग वर्कफ़्लो का उपयोग करता है, लेकिन VisemeGenerator
के बजाय RealisticLipSyncGenerator
वेरिएबल के साथ।
Standard Model के लिए दिखाए गए प्रत्येक उदाहरण में, बस बदलें:
VisemeGenerator
को अपनेRealisticLipSyncGenerator
वेरिएबल से- फ़ंक्शन नाम और पैरामीटर दोनों मॉडलों के बीच समान रहते हैं
नोट: स्ट्रीमिंग ऑडियो स्रोतों का उपयोग करते समय, विकृत प्लेबैक से बचने के लिए ऑडियो प्लेबैक टाइमिंग को उचित रूप से प्रबंधित करना सुनिश्चित करें। उचित स्ट्रीमिंग ऑडियो प्रबंधन के बारे में अधिक जानकारी के लिए Streaming Sound Wave documentation देखें।
नोट: यदि आप अधिक रिस्पॉन्सिव लिप सिंक के लिए छोटे चंक में ऑडियो डेटा प्रोसेस करना चाहते हैं, तो SetNumSamplesPerChunk
फ़ंक्शन में गणना को समायोजित करें। उदाहरण के लिए, 100 (हर 10 ms स्ट्रीमिंग) के बजाय सैंपल दर को 150 से विभाजित करने पर (हर ~6.67 ms स्ट्रीमिंग) अधिक बार लिप सिंक अपडेट प्रदान करेगा।
चरण 4: Anim Graph सेटअप
इवेंट ग्राफ़ सेटअप करने के बाद, जनरेटर को कैरेक्टर की एनिमेशन से कनेक्ट करने के लिए Anim Graph
पर स्विच करें:
Lip Sync
- Standard (Faster) Model
- Realistic (Higher Quality) Model
- उस पोज़ को ढूंढें जिसमें MetaHuman चेहरा है (आमतौर पर
Use cached pose 'Body Pose'
से) Blend Runtime MetaHuman Lip Sync
नोड जोड़ें- पोज़ को
Blend Runtime MetaHuman Lip Sync
नोड केSource Pose
से कनेक्ट करें - अपने
RuntimeVisemeGenerator
वेरिएबल कोViseme Generator
पिन से कनेक्ट करें Blend Runtime MetaHuman Lip Sync
नोड के आउटपुट कोOutput Pose
केResult
पिन से कनेक्ट करें
जब ऑडियो में लिप सिंक का पता चलता है, तो आपका कैरेक्टर तदनुसार गतिशील रूप से एनिमेट होगा:
- उस पोज़ को ढूंढें जिसमें MetaHuman चेहरा है (आमतौर पर
Use cached pose 'Body Pose'
से) Blend Realistic MetaHuman Lip Sync
नोड जोड़ें- पोज़ को
Blend Realistic MetaHuman Lip Sync
नोड केSource Pose
से कनेक्ट करें - अपने
RealisticLipSyncGenerator
वेरिएबल कोLip Sync Generator
पिन से कनेक्ट करें Blend Realistic MetaHuman Lip Sync
नोड के आउटपुट कोOutput Pose
केResult
पिन से कनेक्ट करें
Realistic Model अधिक प्राकृतिक मुंह की हरकतों के साथ बेहतर विजुअल क्वालिटी प्रदान करता है:
नोट: Realistic Model विशेष रूप से MetaHuman कैरेक्टर्स के लिए डिज़ाइन किया गया है और यह कस्टम कैरेक्टर प्रकारों के साथ संगत नहीं है।
हंसी एनीमेशन
आप हंसी एनीमेशन भी जोड़ सकते हैं जो ऑडियो में पाई गई हंसी पर गतिशील रूप से प्रतिक्रिया करेगा:
Blend Runtime MetaHuman Laughter
नोड जोड़ें- अपने
RuntimeVisemeGenerator
वेरिएबल कोViseme Generator
पिन से कनेक्ट करें - यदि आप पहले से ही लिप सिंक का उपयोग कर रहे हैं:
Blend Runtime MetaHuman Lip Sync
नोड के आउटपुट कोBlend Runtime MetaHuman Laughter
नोड केSource Pose
से कनेक्ट करेंBlend Runtime MetaHuman Laughter
नोड के आउटपुट कोOutput Pose
केResult
पिन से कनेक्ट करें
- यदि लिप सिंक के बिना केवल हंसी का उपयोग कर रहे हैं:
- अपने सोर्स पोज़ को सीधे
Blend Runtime MetaHuman Laughter
नोड केSource Pose
से कनेक्ट करें - आउटपुट को
Result
पिन से कनेक्ट करें
- अपने सोर्स पोज़ को सीधे
जब ऑडियो में हंसी का पता चलता है, तो आपका कैरेक्टर तदनुसार गतिशील रूप से एनिमेट होगा:
फेशियल और बॉडी एनीमेशन्स के साथ संयोजन
मौजूदा बॉडी एनिमेशन और कस्टम फेशियल एनिमेशन (जैसे एक्सप्रेशन, इमोशन, या कोई अन्य फेशियल मूवमेंट) को ओवरराइड किए बिना उनके साथ लिप सिंक और हंसी को लागू करने के लिए:
- अपने बॉडी एनिमेशन और फाइनल आउटपुट के बीच एक
Layered blend per bone
नोड जोड़ें। सुनिश्चित करें किUse Attached Parent
true है। - लेयर सेटअप कॉन्फ़िगर करें:
Layer Setup
ऐरे में 1 आइटम जोड़ें- लेयर के लिए
Branch Filters
में 3 आइटम जोड़ें, निम्नलिखितBone Name
के साथ:FACIAL_C_FacialRoot
FACIAL_C_Neck2Root
FACIAL_C_Neck1Root
- कस्टम फेशियल एनिमेशन के लिए महत्वपूर्ण:
Curve Blend Option
में, "Use Max Value" चुनें। यह कस्टम फेशियल एनिमेशन (एक्सप्रेशन, इमोशन, आदि) को लिप सिंक के ऊपर ठीक से लेयर करने की अनुमति देता है। - कनेक्शन बनाएँ:
- मौजूदा एनिमेशन (जैसे
BodyPose
) →Base Pose
इनपुट - फेशियल एनिमेशन आउटपुट (लिप सिंक और/या हंसी नोड्स से) →
Blend Poses 0
इनपुट - लेयर्ड ब्लेंड नोड → फाइनल
Result
पोज़
- मौजूदा एनिमेशन (जैसे
यह क्यों काम करता है: ब्रांच फ़िल्टर फेशियल एनिमेशन बोन को अलग करते हैं, जिससे लिप सिंक और हंसी विशेष रूप से फेशियल मूवमेंट के साथ ब्लेंड हो सके जबकि मूल बॉडी एनिमेशन संरक्षित रहते हैं। "Use Max Value" कर्व ब्लेंड विकल्प प्रत्येक कर्व से अधिकतम मान लेता है न कि उन्हें एडिटिवली ब्लेंड करता है, जिससे कस्टम फेशियल एनिमेशन (जैसे एक्सप्रेशन और इमोशन) को लिप सिंक के साथ बिना कॉन्फ्लिक्ट के ठीक से संयोजित किया जा सकता है। यह प्राकृतिक एकीकरण के लिए MetaHuman फेशियल रिग संरचना से मेल खाता है।
नोट: लिप सिंक और हंसी की सुविधाएँ आपके मौजूदा एनिमेशन सेटअप के साथ गैर-विनाशकारी रूप से काम करने के लिए डिज़ाइन की गई हैं। वे केवल मुँह की हलचल के लिए आवश्यक विशिष्ट फेशियल बोन को प्रभावित करती हैं, अन्य फेशियल एनिमेशन को बरकरार रखते हुए। इसका मतलब है कि आप उन्हें अपनी एनिमेशन चेन में किसी भी बिंदु पर सुरक्षित रूप से एकीकृत कर सकते हैं - या तो अन्य फेशियल एनिमेशन से पहले (उन एनिमेशन को लिप सिंक/हंसी को ओवरराइड करने की अनुमति देकर) या उनके बाद (लिप सिंक/हंसी को अपने मौजूदा एनिमेशन के ऊपर ब्लेंड होने देकर)। यह लचीलापन आपको लिप सिंक और हंसी को आँख झपकने, भौहें हिलाने, भावनात्मक अभिव्यक्तियों और अन्य फेशियल एनिमेशन के साथ बिना कॉन्फ्लिक्ट के संयोजित करने देता है।
लिप सिंक व्यवहार को फाइन-ट्यून करना
बेसिक लिप सिंक फंक्शनैलिटी सेटअप करने के बाद, आप अपने प्रोजेक्ट की आवश्यकताओं के अनुरूप मुँह की हलचल के विशिष्ट पहलुओं को बेहतर ढंग से समायोजित करना चाह सकते हैं।
जीभ बाहर निकलने का नियंत्रण
स्टैंडर्ड लिप सिंक मॉडल में, आप कुछ फोनेम के दौरान अत्यधिक आगे की ओर जीभ की हलचल देख सकते हैं। जीभ बाहर निकलने को नियंत्रित करने के लिए:
- अपने
Blend Runtime MetaHuman Lip Sync
याBlend Realistic MetaHuman Lip Sync
नोड के बाद, एकModify Curve
नोड जोड़ें Modify Curve
नोड पर राइट-क्लिक करें और Add Curve Pin चुनेंCTRL_expressions_tongueOut
नाम के साथ एक कर्व पिन जोड़ें- नोड के Apply Mode प्रॉपर्टी को Scale पर सेट करें
- जीभ के एक्सटेंशन को नियंत्रित करने के लिए Value पैरामीटर को एडजस्ट करें (उदाहरण के लिए, 20% कम करने के लिए 0.8)
जॉ ओपनिंग कंट्रोल
यथार्थवादी लिप सिंक आपके ऑडियो कंटेंट और विजुअल आवश्यकताओं के आधार पर अत्यधिक रिस्पॉन्सिव जॉ मूवमेंट्स उत्पन्न कर सकता है। जॉ ओपनिंग इंटेंसिटी को एडजस्ट करने के लिए:
- अपने लिप सिंक ब्लेंड नोड के बाद, एक
Modify Curve
नोड जोड़ें Modify Curve
नोड पर राइट-क्लिक करें और Add Curve Pin चुनेंCTRL_expressions_jawOpen
नाम के साथ एक कर्व पिन जोड़ें- नोड के Apply Mode प्रॉपर्टी को Scale पर सेट करें
- जॉ ओपनिंग रेंज को नियंत्रित करने के लिए Value पैरामीटर को एडजस्ट करें (उदाहरण के लिए, जॉ मूवमेंट को 10% कम करने के लिए 0.9)
कॉन्फ़िगरेशन
लिप सिंक कॉन्फ़िगरेशन
- Standard (Faster) Model
- Realistic (Higher Quality) Model
Blend Runtime MetaHuman Lip Sync
नोड में इसके प्रॉपर्टीज पैनल में कॉन्फ़िगरेशन विकल्प होते हैं:
प्रॉपर्टी | डिफ़ॉल्ट | विवरण |
---|---|---|
Interpolation Speed | 25 | नियंत्रित करता है कि विसेम्स के बीच लिप मूवमेंट्स कितनी तेजी से ट्रांजिशन करती हैं। उच्च मान तेज और अधिक अचानक ट्रांजिशन का परिणाम देते हैं। |
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)। |
लिप सिंक मॉडल्स के बीच चयन
अपने प्रोजेक्ट के लिए कौन सा लिप सिंक मॉडल उपयोग करना है, यह तय करते समय इन कारकों पर विचार करें:
विचारणीय बिंदु | स्टैंडर्ड मॉडल | रियलिस्टिक मॉडल |
---|---|---|
कैरेक्टर संगतता | मेटाह्यूमन्स और सभी कस्टम कैरेक्टर प्रकार | केवल मेटाह्यूमन्स |
दृश्य गुणवत्ता | कुशल परफॉर्मेंस के साथ अच्छा लिप सिंक | अधिक प्राकृतिक मुंह की हरकतों के साथ बेहतर यथार्थवाद |
परफॉर्मेंस | मोबाइल/VR सहित सभी प्लेटफॉर्म के लिए अनुकूलित | थोड़ी अधिक संसाधन आवश्यकताएं |
उपयोग के मामले | सामान्य अनुप्रयोग, गेम्स, VR/AR, मोबाइल | सिनेमैटिक अनुभव, क्लोज-अप कैरेक्टर इंटरैक्शन |
इंजन वर्जन संगतता
यदि आप Unreal Engine 5.2 का उपयोग कर रहे हैं, तो UE की रीसैंपलिंग लाइब्रेरी में बग के कारण रियलिस्टिक मॉडल सही ढंग से काम नहीं कर सकता है। UE 5.2 उपयोगकर्ताओं के लिए जिन्हें विश्वसनीय लिप सिंक कार्यक्षमता की आवश्यकता है, कृपया इसके बजाय स्टैंडर्ड मॉडल का उपयोग करें।
यह समस्या विशेष रूप से UE 5.2 से संबंधित है और अन्य इंजन वर्जन को प्रभावित नहीं करती है।
अधिकांश प्रोजेक्ट्स के लिए, स्टैंडर्ड मॉडल गुणवत्ता और परफॉर्मेंस का उत्कृष्ट संतुलन प्रदान करता है, साथ ही कैरेक्टर प्रकारों की सबसे विस्तृत श्रृंखला का समर्थन करता है। रियलिस्टिक मॉडल तब आदर्श है जब आपको मेटाह्यूमन कैरेक्टर्स के लिए विशेष रूप से उच्चतम दृश्य निष्ठा की आवश्यकता होती है, ऐसे संदर्भों में जहां परफॉर्मेंस ओवरहेड कम महत्वपूर्ण होता है।