कस्टम कैरेक्टर्स के साथ प्लगइन का उपयोग कैसे करें
यह गाइड आपको गैर-मेटाह्यूमन कैरेक्टर्स के लिए Runtime MetaHuman Lip Sync सेट करने की प्रक्रिया के माध्यम से ले जाती है। इस प्रक्रिया के लिए एनीमेशन अवधारणाओं और रिगिंग से परिचित होना आवश्यक है। यदि आपको अपने विशिष्ट कैरेक्टर के लिए इसे लागू करने में सहायता की आवश्यकता है, तो आप [email protected] पर पेशेवर सहायता के लिए संपर्क कर सकते हैं।
लिप सिंक मॉडल्स के बारे में महत्वपूर्ण नोट
कस्टम कैरेक्टर्स केवल स्टैंडर्ड (फास्टर) मॉडल के साथ समर्थित हैं।
यथार्थवादी (उच्च गुणवत्ता) मॉडल विशेष रूप से मेटाह्यूमन कैरेक्टर्स के लिए डिज़ाइन किया गया है और कस्टम कैरेक्टर्स के साथ उपयोग नहीं किया जा सकता है। इस गाइड के दौरान, आपको संदर्भित होने पर मुख्य सेटअप गाइड से स्टैंडर्ड मॉडल निर्देशों का पालन करना चाहिए।
एक्सटेंशन प्लगइन आवश्यक: कस्टम कैरेक्टर्स के साथ स्टैंडर्ड मॉडल का उपयोग करने के लिए, आपको मुख्य सेटअप गाइड के पूर्वापेक्षाएँ अनुभाग में वर्णित के अनुसार स्टैंडर्ड लिप सिंक एक्सटेंशन प्लगइन इंस्टॉल करना होगा।
यह एक्सटेंशन इस गाइड में वर्णित सभी कस्टम कैरेक्टर कार्यान्वयन के लिए आवश्यक है।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपका कैरेक्टर इन आवश्यकताओं को पूरा करता है:
- एक वैध कंकाल (स्केलेटन) है
- चेहरे के भावों के लिए मॉर्फ टार्गेट्स (ब्लेंड शेप्स) शामिल हैं
- आदर्श रूप से विसेम्स को परिभाषित करने वाले 10+ मॉर्फ टार्गेट्स हैं (अधिक विसेम्स = बेहतर लिप सिंक गुणवत्ता)
प्लगइन को आपके कैरेक्टर के मॉर्फ टार्गेट्स को निम्नलिखित मानक विसेम्स में मैप करने की आवश्यकता है:
Sil -> Silence
PP -> Bilabial plosives (p, b, m)
FF -> Labiodental fricatives (f, v)
TH -> Dental fricatives (th)
DD -> Alveolar plosives (t, d)
KK -> Velar plosives (k, g)
CH -> Postalveolar affricates (ch, j)
SS -> Sibilants (s, z)
NN -> Nasal (n)
RR -> Approximant (r)
AA -> Open vowel (aa)
E -> Mid vowel (e)
IH -> Close front vowel (ih)
OH -> Close-mid back vowel (oh)
OU -> Close back vowel (ou)
नोट: यदि आपके कैरेक्टर में विज़म का एक अलग सेट है (जो संभावित है), तो आपको प्रत्येक विज़म के लिए सटीक मिलान की आवश्यकता नहीं है। अनुमानित मिलान अक्सर पर्याप्त होते हैं - उदाहरण के लिए, आपके कैरेक्टर के SH
विज़म को प्लगइन के CH
विज़म पर मैप करना प्रभावी रूप से काम करेगा क्योंकि वे निकट से संबंधित पोस्टएल्वियोलर ध्वनियाँ हैं।
विज़म मैपिंग संदर्भ
यहां सामान्य विज़म सिस्टम और प्लगइन के आवश्यक विज़म के बीच मैपिंग दी गई हैं:
- Apple ARKit
- FACS-Based Systems
- Preston Blair System
- 3ds Max Phoneme System
- Custom Characters (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe)
ARKit चेहरे की एनीमेशन के लिए ब्लेंडशेप्स का एक व्यापक सेट प्रदान करता है, जिसमें कई मुंह के आकार शामिल हैं। यहां बताया गया है कि उन्हें RuntimeMetaHumanLipSync विज़म पर कैसे मैप करें:
RuntimeMetaHumanLipSync विज़म | ARKit समकक्ष | नोट्स |
---|---|---|
Sil | mouthClose | तटस्थ/विश्राम स्थिति |
PP | mouthPressLeft + mouthPressRight | द्विओष्ठ्य ध्वनियों के लिए, दोनों प्रेस आकारों को एक साथ उपयोग करें |
FF | lowerLipBiteLeft + lowerLipBiteRight (या mouthRollLower) | निचला होंठ ऊपरी दांतों को छूता है, जैसे "f" और "v" ध्वनियों में |
TH | tongueOut | ARKit में सीधी जीभ नियंत्रण है |
DD | jawOpen (हल्का) + tongueUp (यदि आपके पास जीभ रिग है) | जीभ एल्वियोलर रिज को छूती है; हल्का जबड़ा खुलना |
KK | mouthLeft या mouthRight (हल्का) | मुंह के कोने का सूक्ष्म खिंचाव वेलर ध्वनियों का अनुमान लगाता है |
CH | jawOpen (हल्का) + mouthFunnel (हल्का) | पोस्टएल्वियोलर ध्वनियों के लिए संयोजित करें |
SS | mouthFrown | सिबिलेंट्स के लिए हल्के भौंह चढ़ाने का उपयोग करें |
NN | jawOpen (बहुत हल्का) + mouthClose | लगभग बंद मुंह के साथ हल्का जबड़ा खुलना |
RR | mouthPucker (हल्का) | आर-ध्वनियों के लिए सूक्ष्म गोलाई |
AA | jawOpen + mouthStretchLeft + mouthStretchRight (या jawOpen + mouthOpen) | "आह" ध्वनि के लिए चौड़ा खुला मुंह |
E | jawOpen (हल्का) + mouthSmile | हल्की मुस्कान के साथ मध्यम-खुली स्थिति |
IH | mouthSmile (हल्का) | होंठों का हल्का फैलाव |
OH | mouthFunnel | गोल खुला आकार |
OU | mouthPucker | कसकर गोल होंठ |
FACS (फेशियल एक्शन कोडिंग सिस्टम) चेहरे की हरकतों का वर्णन करने के लिए एक्शन यूनिट्स (AUs) का उपयोग करता है। कई पेशेवर एनीमेशन सिस्टम FACS-आधारित दृष्टिकोण का उपयोग करते हैं:
RuntimeMetaHumanLipSync विज़म | FACS एक्शन यूनिट्स | नोट्स |
---|---|---|
Sil | तटस्थ | कोई सक्रिय AUs नहीं |
PP | AU23 + AU24 | लिप प्रेसर + लिप टाइटनर |
FF | AU22 + AU28 | लिप फनलर + लिप सक |
TH | AU25 (हल्का) + AU27 | लिप्स अपार्ट + माउथ स्ट्रेच |
DD | AU25 + AU16 | लिप्स अपार्ट + लोअर लिप डिप्रेसर |
KK | AU26 + AU14 | जॉ ड्रॉप + डिम्पलर |
CH | AU18 + AU25 | लिप पकर + लिप्स अपार्ट |
SS | AU20 | लिप स्ट्रेचर |
NN | AU25 (बहुत हल्का) | हल्का लिप्स अपार्ट |
RR | AU18 (हल्का) | हल्का लिप पकर |
AA | AU27 + AU26 | माउथ स्ट्रेच + जॉ ड्रॉप |
E | AU25 + AU12 | लिप्स अपार्ट + लिप कॉर्नर पुलर |
IH | AU12 + AU25 (हल्का) | लिप कॉर्नर पुलर + हल्का लिप्स अपार्ट |
OH | AU27 (हल्का) + AU18 | हल्का माउथ स्ट्रेच + लिप पकर |
OU | AU18 + AU26 (हल्का) | लिप पकर + हल्का जॉ ड्रॉप |
प्रेस्टन ब्लेयर प्रणाली एक क्लासिक एनीमेशन मानक है जो मुंह के आकारों के लिए वर्णनात्मक नामों का उपयोग करती है:
RuntimeMetaHumanLipSync Viseme | Preston Blair | Notes |
---|---|---|
Sil | Rest | तटस्थ बंद मुंह की स्थिति |
PP | MBP | क्लासिक "MBP" मुंह आकार |
FF | FV | निचले होंठ पर दांतों के साथ "FV" स्थिति |
TH | TH | सामने के दांतों को छूती जीभ |
DD | D/T/N | इन व्यंजनों के लिए समान स्थिति |
KK | CKG | कठोर व्यंजन स्थिति |
CH | CH/J/SH | इन ध्वनियों के लिए हल्का मुंह बनाना |
SS | S/Z | हल्का खुले दांतों की स्थिति |
NN | N/NG/L | D/T के समान लेकिन अलग जीभ स्थिति |
RR | R | R ध्वनि के लिए गोल होंठ |
AA | AI | चौड़ा खुला मुंह |
E | EH | मध्यम खुला मुंह |
IH | EE | फैले होंठ |
OH | OH | गोल मध्यम खुलाव |
OU | OO | कसकर गोल होंठ |
3ds Max अपने कैरेक्टर स्टूडियो के लिए एक ध्वन्यात्मक-आधारित प्रणाली का उपयोग करता है:
RuntimeMetaHumanLipSync Viseme | 3ds Max Phoneme | Notes |
---|---|---|
Sil | rest | डिफ़ॉल्ट मुंह स्थिति |
PP | p_b_m | प्रत्यक्ष समतुल्य |
FF | f_v | प्रत्यक्ष समतुल्य |
TH | th | प्रत्यक्ष समतुल्य |
DD | t_d | प्रत्यक्ष समतुल्य |
KK | k_g | प्रत्यक्ष समतुल्य |
CH | sh_zh_ch | संयुक्त आकार |
SS | s_z | प्रत्यक्ष समतुल्य |
NN | n_l | इन ध्वनियों के लिए संयुक्त |
RR | r | प्रत्यक्ष समतुल्य |
AA | ah | खुला स्वर ध्वनि |
E | eh | मध्य स्वर |
IH | ee | बंद अग्र स्वर |
OH | oh | पीछे का गोल स्वर |
OU | oo | बंद पिछला स्वर |
विज़ेम या मुंह ब्लेंड शेप्स/मॉर्फ टार्गेट वाले कस्टम कैरेक्टर (Daz Genesis 8/9, Reallusion CC3/CC4, Mixamo, ReadyPlayerMe, आदि) को आमतौर पर प्लगइन की विज़ेम प्रणाली में उचित अनुमानों के साथ मैप किया जा सकता है।
एक कस्टम पोज़ एसेट बनाना
अपने कैरेक्टर के लिए एक कस्टम पोज़ एसेट बनाने के लिए इन चरणों का पालन करें जिसका उपयोग Blend Runtime MetaHuman Lip Sync
नोड के साथ किया जाएगा:
1. अपने कैरेक्टर का कंकाल मेश ढूंढें
वह कंकाल मेश ढूंढें जिसमें लिप सिंक एनीमेशन के लिए उपयोग करने के लिए मॉर्फ टार्गेट (ब्लेंड शेप्स) हैं। यह आपके कैरेक्टर के डिज़ाइन के आधार पर एक पूर्ण-शरीर मेश या सिर्फ एक चेहरे का मेश हो सकता है।
2. मॉर्फ टार्गेट और कर्व्स सत्यापित करें
आगे बढ़ने से पहले, जांचें कि आपके कंकाल मेश में लिप सिंक एनीमेशन के लिए उपयुक्त मॉर्फ टार्गेट और संबंधित कर्व्स हैं।
मॉर्फ टार्गेट जांचें:
सत्यापित करें कि आपके कंकाल मेश में मॉर्फ टार्गेट (ब्लेंड शेप्स) हैं जिनका उपयोग लिप सिंक एनीमेशन के लिए विज़ेम के रूप में किया जा सकता है। चेहरे की एनीमेशन सपोर्ट वाले अधिकांश कैरेक्टर में कुछ फोनेम/विज़ेम मॉर्फ टार्गेट होने चाहिए।
महत्वपूर्ण: कर्व्स टैब सत्यापित करें यह चरण विशेष रूप से ब्लेंडर या अन्य बाहरी सॉफ़्टवेयर से निर्यात किए गए चरित्रों के लिए महत्वपूर्ण है:
- स्केलेटल मेश एडिटर में कर्व्स टैब खोलें
- जांचें कि क्या आप अपने मॉर्फ लक्ष्यों के अनुरूप कर्व्स देख सकते हैं
- यदि कर्व्स टैब खाली है लेकिन मॉर्फ लक्ष्य मौजूद हैं, तो अपने मॉर्फ लक्ष्यों के ठीक समान नामों का उपयोग करके मैन्युअल रूप से नई कर्व्स जोड़ें
नोट: यह समस्या आमतौर पर ब्लेंडर निर्यात के साथ होती है जहां मॉर्फ लक्ष्य सफलतापूर्वक आयात हो जाते हैं लेकिन एनीमेशन कर्व्स स्वचालित रूप से नहीं बनाए जाते हैं। मेल खाने वाली कर्व्स के बिना, कंट्रोल रिग पर बेक करने के बाद एनीमेशन ठीक से भर नहीं पाएगा।
वैकल्पिक समाधान: ब्लेंडर से निर्यात के दौरान इस समस्या को रोकने के लिए, अपनी FBX निर्यात सेटिंग्स में कस्टम प्रॉपर्टीज़ और एनीमेशन सक्षम करने का प्रयास करें, जो मॉर्फ लक्ष्यों के साथ एनीमेशन कर्व्स शामिल करने में मदद कर सकता है।
3. एक संदर्भ मुद्रा एनीमेशन बनाएँ
Create Asset -> Create Animation -> Reference Pose
पर जाएँ- एनीमेशन अनुक्रम के लिए एक वर्णनात्मक नाम दर्ज करें और इसे उचित स्थान पर सहेजें
- बनाया गया एनीमेशन अनुक्रम स्वचालित रूप से खुलेगा, जो एक खाली एनीमेशन को लूप में चलाते हुए दिखाएगा
- आसान संपादन के लिए एनीमेशन प्लेबैक रोकने के लिए
Pause
बटन पर क्लिक करें
4. एनीमेशन अनुक्रम संपादित करें
Edit in Sequencer
->Edit with FK Control Rig
पर क्लिक करेंBake to Control Rig
डायलॉग में, बिना किसी सेटिंग बदलेBake to Control Rig
बटन पर क्लिक करें
- एडिटर
Animation Mode
में स्विच हो जाएगा जिसमेंSequencer
टैब खुला होगा View Range End Time
को 0016 पर सेट करें (जो स्वचालित रूप सेWorking Range End
को भी 0016 पर सेट कर देगा)- स्लाइडर के दाएं किनारे को सीक्वेंसर विंडो के दाएं छोर तक खींचें
5. एनीमेशन कर्व्स तैयार करें
- एनीमेशन सीक्वेंस एसेट पर वापस जाएं और
Curves
सूची में मॉर्फ टार्गेट्स ढूंढें (यदि वे दिखाई नहीं दे रहे हैं, तो एनीमेशन सीक्वेंस एसेट को बंद करें और फिर से खोलें) - ऐसे किसी भी मॉर्फ टार्गेट को हटा दें जो विज़म या मुंह की हरकतों से संबंधित नहीं हैं जिन्हें आप लिप सिंक के लिए उपयोग करना चाहते हैं
6. अपने विसेम मैपिंग की योजना बनाएं
प्लगइन के आवश्यक सेट से मेल खाने के लिए अपने कैरेक्टर के विसेम की मैपिंग योजना बनाएं। उदाहरण के लिए:
Sil -> Sil
PP -> FV
FF -> FV
TH -> TH
DD -> TD
KK -> KG
CH -> CH
SS -> SZ
NN -> NL
RR -> RR
AA -> AA
E -> E
IH -> IH
OH -> O
OU -> U
ध्यान दें कि यह स्वीकार्य है कि जब आपके चरित्र के विसेम सेट में हर आवश्यक विसेम के लिए सटीक मेल नहीं होता है, तो दोहराए गए मैपिंग हो सकते हैं।
7. प्रत्येक विसेम को एनिमेट करें
- प्रत्येक विसेम के लिए, संबंधित मॉर्फ टार्गेट कर्व्स को 0.0 से 1.0 तक एनिमेट करें
- प्रत्येक विसेम एनीमेशन को एक अलग फ्रेम पर शुरू करें
- प्राकृतिक दिखने वाले विसेम आकार बनाने के लिए आवश्यकतानुसार अतिरिक्त कर्व्स कॉन्फ़िगर करें (जबड़ा/मुंह खोलना, जीभ की स्थिति, आदि)
8. एक पोज़ एसेट बनाएँ
Create Asset
->Pose Asset
->Current Animation
पर जाएँ- पोज़ एसेट के लिए एक वर्णनात्मक नाम दर्ज करें और इसे एक उपयुक्त स्थान पर सहेजें
- बनाया गया पोज़ एसेट स्वचालित रूप से खुलेगा, जिसमें
Pose_0
,Pose_1
, आदि जैसे पोज़ दिखाई देंगे, जिनमें से प्रत्येक एक विसेम से मेल खाता है - यह सुनिश्चित करने के लिए विसेम वेट का पूर्वावलोकन करें कि वे अपेक्षा के अनुरूप काम करते हैं
9. पोज़ एसेट को अंतिम रूप दें
- पूर्वापेक्षाएँ अनुभाग से विसेम नामों से मेल खाने के लिए प्रत्येक पोज़ का नाम बदलें
- किसी भी अप्रयुक्त पोज़ को हटा दें
ऑडियो हैंडलिंग और ब्लेंडिंग सेटअप
एक बार आपका पोज़ एसेट तैयार हो जाए, तो आपको ऑडियो हैंडलिंग और ब्लेंडिंग नोड्स सेटअप करने की आवश्यकता है:
- अपने कैरेक्टर का Animation Blueprint ढूंढें या बनाएं
- स्टैंडर्ड प्लगइन सेटअप गाइड में दस्तावेज किए गए समान चरणों का पालन करते हुए ऑडियो हैंडलिंग और ब्लेंडिंग सेटअप करें
Blend Runtime MetaHuman Lip Sync
नोड में, डिफ़ॉल्ट MetaHuman पोज़ एसेट के बजाय अपना कस्टम पोज़ एसेट चुनें
बॉडी एनिमेशन के साथ संयोजन
यदि आप अन्य बॉडी एनिमेशन के साथ Lip Sync करना चाहते हैं:
- स्टैंडर्ड प्लगइन गाइड में दस्तावेज किए गए समान चरणों का पालन करें
- MetaHuman बोन नामों का उपयोग करने के बजाय, अपने कैरेक्टर की नेक स्केलेटन के लिए सही बोन नाम प्रदान करना सुनिश्चित करें
परिणाम
यहां इस सेटअप का उपयोग करने वाले कस्टम कैरेक्टर के उदाहरण दिए गए हैं:
Lip Sync की गुणवत्ता काफी हद तक विशिष्ट कैरेक्टर और उसके विसेम कितने अच्छे से सेटअप किए गए हैं, पर निर्भर करती है। उपरोक्त उदाहरण अलग-अलग प्रकार के कस्टम कैरेक्टर के साथ प्लगइन के काम करने को प्रदर्शित करते हैं, जिनमें विशिष्ट विसेम सिस्टम हैं।