प्लगइन को कस्टम किरदारों के साथ कैसे उपयोग करें
यह गाइड आपको गैर-मेटाह्यूमन किरदारों के लिए रनटाइम मेटाह्यूमन लिप सिंक सेट करने की प्रक्रिया के माध्यम से चलाती है। इस प्रक्रिया के लिए एनीमेशन अवधारणाओं और रिगिंग से परिचित होना आवश्यक है। यदि आपको अपने विशिष्ट किरदार के लिए इसे लागू करने में सहायता की आवश्यकता है, तो आप [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 चेहरे की एनीमेशन के लिए blendshapes का एक व्यापक सेट प्रदान करता है, जिसमें कई मुंह के आकार शामिल हैं। यहाँ बताया गया है कि उन्हें 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 (हल्का) | लिप पकर + हल्का जॉ ड्रॉप |
Preston Blair system एक क्लासिक एनीमेशन मानक है जो मुँह के आकारों के लिए वर्णनात्मक नामों का उपयोग करता है:
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. पोज़ एसेट को अंतिम रूप दें
- प्रत्येक पोज़ का नाम पूर्वापेक्षाएँ अनुभाग से विसेम नामों से मेल खाने के लिए बदलें
- किसी भी अनुपयोगी पोज़ को हटा दें
ऑडियो हैंडलिंग और ब्लेंडिंग सेटअप करना
एक बार आपका पोज़ एसेट तैयार हो जाने के बाद, आपको ऑडियो हैंडलिंग और ब्लेंडिंग नोड्स सेटअप करने की आवश्यकता है:
- अपने कैरेक्टर के एनीमेशन ब्लूप्रिंट को ढूंढें या बनाएं
- स्टैंडर्ड प्लगइन सेटअप गाइड में दस्तावेज किए गए समान चरणों का पालन करते हुए ऑडियो हैंडलिंग और ब्लेंडिंग सेटअप करें
Blend Runtime MetaHuman Lip Sync
नोड में, डिफ़ॉल्ट MetaHuman पोज़ एसेट के बजाय अपना कस्टम पोज़ एसेट चुनें
बॉडी एनिमेशन के साथ संयोजन
यदि आप अन्य बॉडी एनिमेशन के साथ-साथ लिप सिंक करना चाहते हैं:
- स्टैंडर्ड प्लगइन गाइड में दस्तावेज किए गए समान चरणों का पालन करें
- MetaHuman बोन नामों का उपयोग करने के बजाय, अपने कैरेक्टर की नेक स्केलेटन के लिए सही बोन नाम प्रदान करना सुनिश्चित करें
परिणाम
यहां इस सेटअप का उपयोग करने वाले कस्टम कैरेक्टर्स के उदाहरण दिए गए हैं:
लिप सिंक की गुणवत्ता काफी हद तक विशिष्ट कैरेक्टर और उसके विसेम कितनी अच्छी तरह सेटअप किए गए हैं, पर निर्भर करती है। उपरोक्त उदाहरण अलग-अलग प्रकार के कस्टम कैरेक्टर्स के साथ अलग-अलग विसेम सिस्टम के साथ काम कर रहे प्लगइन को प्रदर्शित करते हैं।