मुख्य कंटेंट तक स्किप करें

प्लगइन का उपयोग कैसे करें

यह गाइड आपको अपने 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 फोनेम सिस्टम्स
  • फेशियल एक्सप्रेशंस के लिए कस्टम मॉर्फ टार्गेट्स वाले कोई भी कैरेक्टर

कस्टम कैरेक्टर्स को सेटअप करने के विस्तृत निर्देशों के लिए, जिसमें उपरोक्त सभी मानकों के लिए विसीम मैपिंग संदर्भ शामिल हैं, कस्टम कैरेक्टर सेटअप गाइड देखें।

पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें:

  1. आपके प्रोजेक्ट में MetaHuman प्लगइन सक्षम है (नोट: UE 5.6 से शुरू, यह चरण अब आवश्यक नहीं है क्योंकि MetaHuman फंक्शनैलिटी सीधे इंजन में इंटीग्रेटेड है)
  2. आपके पास कम से कम एक MetaHuman कैरेक्टर डाउनलोड और आपके प्रोजेक्ट में उपलब्ध है
  3. Runtime MetaHuman Lip Sync प्लगइन इंस्टॉल है

स्टैंडर्ड मॉडल एक्सटेंशन प्लगइन

यदि आप स्टैंडर्ड (फास्टर) मॉडल का उपयोग करने की योजना बना रहे हैं, तो आपको एक्सटेंशन प्लगइन इंस्टॉल करने की आवश्यकता होगी:

  1. स्टैंडर्ड Lip Sync एक्सटेंशन प्लगइन को Google Drive से डाउनलोड करें
  2. डाउनलोड की गई आर्काइव से फोल्डर को अपने प्रोजेक्ट के Plugins फोल्डर में एक्सट्रैक्ट करें (यदि यह फोल्डर मौजूद नहीं है तो इसे बनाएं)
  3. सुनिश्चित करें कि आपका प्रोजेक्ट C++ प्रोजेक्ट के रूप में सेटअप है (भले ही आपके पास कोई C++ कोड न हो)
  4. अपने प्रोजेक्ट को रीबिल्ड करें
note
  • यह एक्सटेंशन केवल आवश्यक है यदि आप स्टैंडर्ड मॉडल का उपयोग करना चाहते हैं। यदि आपको केवल रियलिस्टिक मॉडल की आवश्यकता है, तो आप इस चरण को छोड़ सकते हैं।
  • प्लगइन्स को मैन्युअली बिल्ड करने के बारे में अधिक जानकारी के लिए, बिल्डिंग प्लगइन्स ट्यूटोरियल देखें

अतिरिक्त प्लगइन्स

  • यदि आप ऑडियो कैप्चर का उपयोग करने की योजना बना रहे हैं (जैसे, माइक्रोफोन इनपुट), तो Runtime Audio Importer प्लगइन इंस्टॉल करें।
  • यदि आप मेरे प्लगइन्स के साथ टेक्स्ट-टू-स्पीच फंक्शनैलिटी का उपयोग करने की योजना बना रहे हैं (आपके पास अपना कस्टम TTS या अन्य ऑडियो इनपुट हो सकता है), तो Runtime Audio Importer प्लगइन के अतिरिक्त, यह भी इंस्टॉल करें:

प्लेटफॉर्म-स्पेसिफिक कॉन्फिगरेशन

Android / Meta Quest कॉन्फिगरेशन

यदि आप Android या Meta Quest प्लेटफॉर्म्स को टारगेट कर रहे हैं और इस प्लगइन के साथ बिल्ड एरर्स आते हैं, तो आपको अपने प्रोजेक्ट सेटिंग्स में x86_64 (x64) Android आर्किटेक्चर को डिसेबल करना होगा:

  1. Edit > Project Settings पर जाएं
  2. Platforms > Android पर नेविगेट करें
  3. Platforms - Android, Build सेक्शन के अंदर, Support x86_64 [aka x64] ढूंढें और सुनिश्चित करें कि यह डिसेबल है, जैसा कि नीचे दिखाया गया है

Disable x64 Android Architecture

ऐसा इसलिए है क्योंकि प्लगइन वर्तमान में Android / Meta Quest प्लेटफॉर्म्स के लिए केवल arm64-v8a और armeabi-v7a आर्किटेक्चर्स को सपोर्ट करता है।

सेटअप प्रोसेस

स्टेप 1: फेस एनिमेशन ब्लूप्रिंट को लोकेट और मॉडिफाई करें

आपको एक एनिमेशन ब्लूप्रिंट को मॉडिफाई करना होगा जो आपके MetaHuman कैरेक्टर के फेशियल एनिमेशन्स के लिए उपयोग किया जाएगा। डिफॉल्ट MetaHuman फेस एनिमेशन ब्लूप्रिंट इस लोकेशन पर मौजूद है:

Content/MetaHumans/Common/Face/Face_AnimBP

फेस एनीमेशन ब्लूप्रिंट

आपके पास लिप सिंक फंक्शनैलिटी को लागू करने के लिए कई विकल्प हैं:

डिफ़ॉल्ट Face_AnimBP को सीधे खोलें और अपने संशोधन करें। किसी भी परिवर्तन का प्रभाव इस एनीमेशन ब्लूप्रिंट का उपयोग करने वाले सभी मेटाह्यूमन कैरेक्टर्स पर पड़ेगा।

नोट: यह दृष्टिकोण सुविधाजनक है लेकिन डिफ़ॉल्ट एनीमेशन ब्लूप्रिंट का उपयोग करने वाले सभी कैरेक्टर्स को प्रभावित करेगा।

महत्वपूर्ण: Runtime MetaHuman Lip Sync ब्लेंडिंग को किसी भी एनीमेशन ब्लूप्रिंट एसेट में इम्प्लीमेंट किया जा सकता है जिसमें डिफ़ॉल्ट MetaHuman के Face_Archetype_Skeleton में मौजूद फेशियल बोन्स वाले पोज़ तक पहुंच हो। आप उपरोक्त विकल्पों तक सीमित नहीं हैं - ये सिर्फ सामान्य इम्प्लीमेंटेशन अप्रोच हैं।

स्टेप 2: इवेंट ग्राफ सेटअप

अपना फेस एनीमेशन ब्लूप्रिंट खोलें और Event Graph पर स्विच करें। आपको एक जनरेटर बनाने की आवश्यकता होगी जो ऑडियो डेटा को प्रोसेस करेगा और लिप सिंक एनीमेशन जनरेट करेगा।

  1. Event Blueprint Begin Play नोड जोड़ें यदि यह पहले से मौजूद नहीं है
  2. Create Runtime Viseme Generator नोड जोड़ें और इसे Begin Play इवेंट से कनेक्ट करें
  3. आउटपुट को एक वेरिएबल के रूप में सेव करें (जैसे "VisemeGenerator") ग्राफ के अन्य भागों में उपयोग के लिए

Creating Runtime Viseme Generator

चरण 3: ऑडियो इनपुट प्रोसेसिंग सेट अप करें

आपको ऑडियो इनपुट को प्रोसेस करने के लिए एक विधि सेट अप करने की आवश्यकता है। यह आपके ऑडियो स्रोत के आधार पर कई तरीकों से किया जा सकता है।

यह दृष्टिकोण माइक्रोफोन में बोलते समय रियल-टाइम में लिप सिंक करता है:

  1. रनटाइम ऑडियो इम्पोर्टर का उपयोग करके कैप्चर करने योग्य साउंड वेव बनाएं
  2. ऑडियो कैप्चर शुरू करने से पहले, OnPopulateAudioData डेलिगेट से बाइंड करें
  3. बाउंड फंक्शन में, अपने रनटाइम विसेम जनरेटर से ProcessAudioData को कॉल करें
  4. माइक्रोफोन से ऑडियो कैप्चरिंग शुरू करें

कॉपी करने योग्य नोड्स.

ऑडियो कैप्चर के दौरान लिप सिंक

चरण 4: Anim Graph सेटअप

इवेंट ग्राफ सेटअप करने के बाद, जनरेटर को कैरेक्टर की एनीमेशन से कनेक्ट करने के लिए Anim Graph पर स्विच करें:

लिप सिंक

  1. मेटाह्यूमन फेस वाले पोज़ को ढूंढें (आमतौर पर Use cached pose 'Body Pose' से)
  2. Blend Runtime MetaHuman Lip Sync नोड जोड़ें
  3. पोज़ को Blend Runtime MetaHuman Lip Sync नोड के Source Pose से कनेक्ट करें
  4. अपने RuntimeVisemeGenerator वेरिएबल को Viseme Generator पिन से कनेक्ट करें
  5. Blend Runtime MetaHuman Lip Sync नोड के आउटपुट को Output Pose के Result पिन से कनेक्ट करें

Blend Runtime MetaHuman Lip Sync

जब ऑडियो में लिप सिंक डिटेक्ट होता है, तो आपका कैरेक्टर डायनामिक रूप से एनिमेट होगा:

Lip Sync

हंसी एनीमेशन

आप हंसी एनीमेशन भी जोड़ सकते हैं जो ऑडियो में डिटेक्ट की गई हंसी पर डायनामिक रूप से प्रतिक्रिया देगा:

  1. Blend Runtime MetaHuman Laughter नोड जोड़ें
  2. अपने RuntimeVisemeGenerator वेरिएबल को Viseme Generator पिन से कनेक्ट करें
  3. यदि आप पहले से ही लिप सिंक का उपयोग कर रहे हैं:
    • Blend Runtime MetaHuman Lip Sync नोड के आउटपुट को Blend Runtime MetaHuman Laughter नोड के Source Pose से कनेक्ट करें
    • Blend Runtime MetaHuman Laughter नोड के आउटपुट को Output Pose के Result पिन से कनेक्ट करें
  4. यदि केवल हंसी का उपयोग कर रहे हैं बिना लिप सिंक के:
    • अपने सोर्स पोज़ को सीधे Blend Runtime MetaHuman Laughter नोड के Source Pose से कनेक्ट करें
    • आउटपुट को Result पिन से कनेक्ट करें

Blend Runtime MetaHuman Laughter

जब ऑडियो में हंसी डिटेक्ट होती है, तो आपका कैरेक्टर डायनामिक रूप से एनिमेट होगा:

Laughter

बॉडी एनीमेशन के साथ कॉम्बाइन करना

लिप सिंक और हंसी को मौजूदा बॉडी एनीमेशन के साथ ओवरराइड किए बिना एप्लाई करने के लिए:

  1. अपने बॉडी एनिमेशन और फाइनल आउटपुट के बीच एक Layered blend per bone नोड जोड़ें। सुनिश्चित करें कि Use Attached Parent सही है।
  2. लेयर सेटअप कॉन्फ़िगर करें:
    • Layer Setup ऐरे में 1 आइटम जोड़ें
    • लेयर के लिए Branch Filters में 3 आइटम जोड़ें, निम्नलिखित Bone Name के साथ:
      • FACIAL_C_FacialRoot
      • FACIAL_C_Neck2Root
      • FACIAL_C_Neck1Root
  3. कनेक्शन बनाएं:
    • मौजूदा एनिमेशन (जैसे BodyPose) → Base Pose इनपुट
    • फेशियल एनिमेशन आउटपुट (लिप सिंक और/या लाफ्टर नोड्स से) → Blend Poses 0 इनपुट
    • लेयर्ड ब्लेंड नोड → फाइनल Result पोज़

Layered Blend Per Bone

यह कैसे काम करता है: ब्रांच फिल्टर्स फेशियल एनिमेशन बोन्स को अलग करते हैं, जिससे लिप सिंक और लाफ्टर विशेष रूप से फेशियल मूवमेंट्स के साथ ब्लेंड होते हैं जबकि मूल बॉडी एनिमेशन को संरक्षित रखते हैं। यह MetaHuman फेशियल रिग स्ट्रक्चर से मेल खाता है, जिससे प्राकृतिक एकीकरण सुनिश्चित होता है।

नोट: लिप सिंक और लाफ्टर फीचर्स को आपके मौजूदा एनिमेशन सेटअप के साथ गैर-विनाशकारी रूप से काम करने के लिए डिज़ाइन किया गया है। वे केवल मुंह की गति के लिए आवश्यक विशिष्ट फेशियल बोन्स को प्रभावित करते हैं, अन्य फेशियल एनिमेशन को अछूता छोड़ देते हैं। इसका मतलब है कि आप उन्हें अपनी एनिमेशन चेन में किसी भी बिंदु पर सुरक्षित रूप से एकीकृत कर सकते हैं - या तो अन्य फेशियल एनिमेशन से पहले (उन एनिमेशन को लिप सिंक/लाफ्टर को ओवरराइड करने की अनुमति देकर) या उनके बाद (अपने मौजूदा एनिमेशन के ऊपर लिप सिंक/लाफ्टर को ब्लेंड करने देकर)। यह लचीलापन आपको लिप सिंक और लाफ्टर को आई ब्लिंकिंग, आइब्रो मूवमेंट्स, इमोशनल एक्सप्रेशन्स और अन्य फेशियल एनिमेशन के साथ संघर्ष के बिना जोड़ने की अनुमति देता है।

कॉन्फ़िगरेशन

लिप सिंक कॉन्फ़िगरेशन

Blend Runtime MetaHuman Lip Sync नोड में इसके प्रॉपर्टी पैनल में कॉन्फ़िगरेशन विकल्प हैं:

प्रॉपर्टीडिफ़ॉल्टविवरण
इंटरपोलेशन स्पीड25नियंत्रित करता है कि विसेम्स के बीच होंठों की गति कितनी तेजी से ट्रांजिशन करती है। उच्च मान तेज और अधिक अचानक ट्रांजिशन का परिणाम देते हैं।
रीसेट टाइम0.2सेकंड में वह अवधि जिसके बाद लिप सिंक रीसेट हो जाता है। यह ऑडियो बंद होने के बाद भी लिप सिंक को जारी रखने से रोकने के लिए उपयोगी है।

लाफ्टर कॉन्फ़िगरेशन

Blend Runtime MetaHuman Laughter नोड के अपने कॉन्फ़िगरेशन विकल्प हैं:

प्रॉपर्टीडिफ़ॉल्टविवरण
इंटरपोलेशन स्पीड25होंठों की गति के बीच हंसी एनिमेशन में परिवर्तन की गति को नियंत्रित करता है। उच्च मान तेज और अधिक अचानक परिवर्तन का परिणाम देते हैं।
रीसेट टाइम0.2सेकंड में वह अवधि जिसके बाद हंसी रीसेट हो जाती है। यह ऑडियो बंद होने के बाद भी हंसी को जारी रखने से रोकने के लिए उपयोगी है।
मैक्स लाफ्टर वेट0.7हंसी एनिमेशन की अधिकतम तीव्रता को स्केल करता है (0.0 - 1.0)।

लिप सिंक मॉडल के बीच चयन

अपने प्रोजेक्ट के लिए किस लिप सिंक मॉडल का उपयोग करना है, यह तय करते समय इन कारकों पर विचार करें:

विचारस्टैंडर्ड मॉडलरियलिस्टिक मॉडल
कैरेक्टर कंपैटिबिलिटीमेटाह्यूमन्स और सभी कस्टम कैरेक्टर प्रकारकेवल मेटाह्यूमन्स
विजुअल क्वालिटीकुशल प्रदर्शन के साथ अच्छी लिप सिंकअधिक प्राकृतिक मुंह की गतिविधियों के साथ बेहतर यथार्थवाद
परफॉर्मेंसमोबाइल/VR सहित सभी प्लेटफॉर्म के लिए अनुकूलितथोड़ी अधिक संसाधन आवश्यकताएं
उपयोग के मामलेसामान्य एप्लिकेशन, गेम्स, VR/AR, मोबाइलसिनेमैटिक अनुभव, क्लोज-अप कैरेक्टर इंटरैक्शन

इंजन वर्जन कंपैटिबिलिटी

UE 5.2 कंपैटिबिलिटी इश्यू

यदि आप Unreal Engine 5.2 का उपयोग कर रहे हैं, तो रियलिस्टिक मॉडल UE के रीसैंपलिंग लाइब्रेरी में बग के कारण सही ढंग से काम नहीं कर सकता है। UE 5.2 उपयोगकर्ताओं के लिए जिन्हें विश्वसनीय लिप सिंक फंक्शनैलिटी की आवश्यकता है, कृपया स्टैंडर्ड मॉडल का उपयोग करें।

यह समस्या विशेष रूप से UE 5.2 से संबंधित है और अन्य इंजन वर्जन को प्रभावित नहीं करती है।

अधिकांश प्रोजेक्ट्स के लिए, स्टैंडर्ड मॉडल क्वालिटी और परफॉर्मेंस का उत्कृष्ट संतुलन प्रदान करता है, साथ ही कैरेक्टर प्रकारों की सबसे विस्तृत श्रृंखला का समर्थन करता है। रियलिस्टिक मॉडल तब आदर्श है जब आपको मेटाह्यूमन कैरेक्टर्स के लिए उच्चतम विजुअल फिडेलिटी की आवश्यकता होती है, विशेष रूप से उन संदर्भों में जहां परफॉर्मेंस ओवरहेड कम महत्वपूर्ण होता है।