एनिमेशन सम्मिश्रण मूल बातें


23

कहो कि मेरे पास ऐसे पात्रों के साथ एक रूपरेखा है जो चल सकते हैं और चल सकते हैं और निश्चित रूप से, खड़े रह सकते हैं।

क्या मैं यह सोचने में सही हूँ कि एनीमेशन सम्मिश्रण रनटाइम पर गतिशील एनिमेशन उत्पन्न करके इन दोनों के बीच आसानी से संक्रमण की प्रक्रिया है?

यदि हां, तो यह कैसे काम करता है, और मैं इसे कैसे लागू करूंगा, इसका मूल सिद्धांत क्या है?


1
मेरा मानना ​​है कि यह एक एनीमेशन के अंतिम फ्रेम से प्रत्येक हड्डियों के बीच सिर्फ दूसरे के पहले फ्रेम में रैखिक प्रक्षेप है।
annonymously

यदि आप एक भारित औसत चाहते हैं, तो स्मूथस्टैप के साथ रैखिक प्रक्षेप, (:
Gustavo Maciel

@ Gustavo-Gtoknu क्या आप अभी जो कुछ भी कह सकते हैं उसके बारे में अधिक बता सकते हैं?
सिरयाकोट

आप दोनों फ़्रेमों के अल्फा में एक रैखिक प्रक्षेप करते हैं, दूसरे के व्युत्क्रम पर मिश्रित होने के लिए। दोनों समय के कार्य में। आप एक अलग प्रभाव डालने के लिए प्रक्षेप में भारित औसत को चिकना कर सकते हैं या उपयोग कर सकते हैं।
गुस्तावो मैकिएल

जवाबों:


18

चरित्र एनीमेशन सम्मिश्रण अधिक सामान्य है और इसके लिए उपयोग किया जा सकता है:

  • 2 क्लिप के बीच चिकनी संक्रमण की गणना करना;
  • मौजूदा लोगों से पूरी तरह से नए एनिमेशन बनाना (संभवतः एक ही समय में 2 से अधिक);
  • आईके जैसे व्यवहार को प्राप्त करना;
  • आदि।

मूल विचार यह है कि अलग-अलग एनीमेशन क्लिप वाले दो समान कंकालों के लिए, प्रत्येक संयुक्त रोटेशन के लिए, आप बीच-बीच में मूल्यों की गणना करते हैं। एनिमेशन क्लिप को रोटेशन के साथ दर्शाया गया है। तो रैखिक प्रक्षेप वह नहीं है जिसका आपको उपयोग करना चाहिए यदि आप सटीक परिणाम चाहते हैं (भले ही आप यूलर कोण का उपयोग कर रहे हों)। आप उदाहरण के लिए थप्पड़ का उपयोग कर सकते हैं लेकिन अधिक जटिल समाधान मौजूद हैं।

यह जटिल समाधानों के साथ एक जटिल समस्या है। मूल रूप से, यदि आपके पास दो एनिमेशन क्लिप A और B हैं:

  • यदि ए और बी पूरी तरह से अलग हैं (कूद और तैराकी सम्मिश्रण), तो संभावना है कि आपके पास अजीब / मज़ेदार परिणाम होंगे;
  • यदि ए और बी समान हैं (दो चलना एनीमेशन क्लिप), तो, आपको पहले उन्हें मिश्रण करने के लिए सिंक्रनाइज़ करना होगा जब दोनों बाएं पैर उदाहरण के लिए जमीन पर हों।
  • आदि।

यदि आप रुचि रखते हैं, तो मेरा सुझाव है कि आप इस लेख को पढ़कर शुरुआत करें ताकि आप यह समझ सकें कि कठिनाइयाँ क्या हैं: http://graphics.cs.wisc.edu/Papers/2003/KG03/regCurves.pdf

यह एक तारीख तक सबसे अधिक नहीं है, लेकिन यह पढ़ना आसान है।

आशा है कि ये आपकी मदद करेगा। सादर।


5

सबसे पहले, मुझे लगता है कि आप कंकाल एनीमेशन (विशेष रूप से 3 डी ग्राफिक्स) के बारे में बात कर रहे हैं क्योंकि एनीमेशन बहुत सुंदर कंकाल एनीमेशन पर लागू होता है। यदि आप 2D स्प्राइट-आधारित एनिमेशन के बारे में बात कर रहे हैं (आपने अपने प्रश्न में निर्दिष्ट नहीं किया है) तो आप एनीमेशन सम्मिश्रण के बारे में बहुत कुछ भूल सकते हैं।

उस रास्ते से बाहर ...

क्या मैं यह सोचने में सही हूँ कि एनीमेशन सम्मिश्रण रनटाइम पर गतिशील एनिमेशन उत्पन्न करके इन दोनों के बीच आसानी से संक्रमण की प्रक्रिया है?

यह बहुत अधिक है कि इस शब्द का क्या अर्थ है, हाँ। यह वाक्यांश "गतिशील एनिमेशन उत्पन्न करना" हालांकि थोड़ा भ्रामक है; यह प्रक्रियात्मक एनीमेशन को ध्यान में रखता है और आप जैसा कर रहे हैं वैसा नहीं है।

"एनीमेशन सम्मिश्रण" तब होता है जब आप दो एनिमेशन के बिट्स का उपयोग करके दोनों एनिमेशनों के बीच में एक क्लिप के भार के साथ संक्रमण करते हैं जबकि दूसरी क्लिप का भार नीचे जाता है। यह कंकाल एनीमेशन के साथ सबसे अच्छा काम करता है, ताकि प्रत्येक संयुक्त का रोटेशन दो अलग एनीमेशन क्लिप में उस संयुक्त एनीमेशन के बीच एक मध्य बिंदु पर सेट हो, समय के साथ प्रत्येक क्लिप के भार के साथ। यही है, आप प्रत्येक संयुक्त के रोटेशन की गणना करेंगे जैसे:

rotCombined = weightA*rotA + weightB*rotB

अब, जबकि एनीमेशन सम्मिश्रण कंकाल एनीमेशन के साथ सबसे अच्छा काम करता है, आप इसे वर्टेक्स एनीमेशन (जैसे एमडी 2) के साथ भी कर सकते हैं। यह एक ऐतिहासिक नोट के रूप में अधिक है क्योंकि कुछ आधुनिक गेम इंजन वर्टेक्स एनीमेशन का उपयोग करते हैं, लेकिन आप वर्टेक्स पोज़िशन को उसी तरह सेट कर सकते हैं, जैसे दो अलग-अलग एनिमेशन में वर्टेक्स पोज़िशन के बीच वेटिंग। इसका परिणाम कुछ अजीब दिखने वाले प्रक्षेपों में हो सकता है (जैसे कि जाली के कुछ भाग ढहने या अंदर-बाहर होने) यदि दोनों एनिमेशन बहुत अलग थे, जबकि कंकाल एनीमेशन यह सुनिश्चित करता है कि मेष के विभिन्न हिस्से पूरे रहें।


जब आप कहते हैं कि आप 2 डी ग्राफिक्स के साथ ऐसा नहीं कर सकते, तो क्या आपका मतलब स्प्राइट आधारित एनीमेशन है? मैं यह पता लगाने की कोशिश कर रहा हूं कि व्यक्तिगत बॉडी पार्ट्स की स्थिति और रोटेशन के आधार पर mecanim में बनाए गए कुछ 2D एनिमेशन को कैसे मिश्रित किया जाए, लेकिन मैं यह नहीं देखता कि यह सिर्फ इसलिए संभव नहीं है क्योंकि वे 2D हैं।
मल्लार्दज

क्योंकि स्प्राइट एनीमेशन में नए फ़्रेम उत्पन्न करने का कोई तरीका नहीं है। 3 डी एनीमेशन में, व्यक्तिगत छवियां समय से पहले उत्पन्न नहीं होती हैं।
झूला

मैं इसे प्राप्त करता हूं, लेकिन 2 डी एनीमेशन पूरी तरह से पूरे स्प्राइट को बदलने पर आधारित नहीं है। आप कई स्प्राइट्स में से एक वस्तु की रचना कर सकते हैं और उनके रोटेशन और स्थिति आदि को चेतन कर सकते हैं। मैं यह पता लगाने की कोशिश कर रहा था कि जब मैं आपका उत्तर पढ़ता हूं तो यह कैसे करना है, और आपकी पहली पंक्ति ने मुझे दुखी किया :(! लेकिन सौभाग्य से यह पता चला है कि यह बहुत ही है आसान एकता में क्या करना है और मैं जो अपने स्वयं के इंजन रोल के लिए 3 डी सम्मिश्रण से अधिक नहीं मुश्किल कल्पना।
mallardz

1
आह हाँ, मेरा मतलब था कि प्रेत आधारित एनीमेशन, मैं अपने उत्तर को संपादित करूँगा
झिंगिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.