यूनिटी मेकेनिम कीप्रेस पर एनिमेशन कैसे चलाएं
मेकेनिम Unity के लिए एक राज्य-संचालित उपकरण है जो डेवलपर्स को उन्नत एनीमेशन नियंत्रण और एक सुविधा संपन्न संपादक देता है।
मेकेनिम की प्रमुख विशेषताएं एनीमेशन सम्मिश्रण और एनीमेशन रिटारगेटिंग हैं।
एनिमेशन सम्मिश्रण एनिमेशन के बीच सहज बदलाव करने की एक स्वचालित प्रक्रिया है।
एनिमेशन रिटारगेटिंग मौजूदा एनिमेशन को कई कैरेक्टर रिग्स के बीच काम करने के लिए पुन: उपयोग करने की एक प्रक्रिया है, जिससे प्रत्येक नए कैरेक्टर के लिए नए एनिमेशन बनाने की आवश्यकता समाप्त हो जाती है।
इस ट्यूटोरियल में, मैं दिखाऊंगा कि क्यूब को कैसे एनिमेट किया जाए और मेकनिम के साथ कीप्रेस पर एनीमेशन कैसे चलाया जाए।
कदम
किसी क्यूब को Unity में एनिमेट करने के लिए, नीचे दिए गए चरणों का पालन करें:
- नया क्यूब बनाएं (गेमऑब्जेक्ट -> 3डी ऑब्जेक्ट -> क्यूब)
- क्यूब चुनें फिर एनिमेशन विंडो खोलें (विंडो -> एनिमेशन -> एनिमेशन)
- एनिमेशन विंडो में "Create" पर क्लिक करें, जो एक नया एनीमेशन, एक नया एनिमेटर कंट्रोलर बनाएगा, और क्यूब में एक एनिमेटर घटक संलग्न करेगा।
- नए एनिमेशन को नाम दें "SpinAnimation"
- एनीमेशन विंडो में AddProperty -> Transform -> Rotation पर क्लिक करें
- इस एनिमेशन में 2 फ़्रेम होंगे, प्रारंभ और समाप्ति।
- पहले फ्रेम के लिए, हम रोटेशन को (0, 0, 0) पर सेट करते हैं
- अंतिम फ़्रेम के लिए, हम रोटेशन को (0, 360, 0) पर सेट करते हैं
एनीमेशन तैयार है.
टिप: अधिक एनिमेशन बनाने के लिए, एनीमेशन विंडो में एनीमेशन नाम पर क्लिक करें और फिर "Create new Clip..." पर क्लिक करें।
मेकेनिम एनिमेटर नियंत्रक स्थापित करने के लिए, नीचे दिए गए चरणों का पालन करें:
- एनीमेशन के साथ बनाए गए एनिमेटर कंट्रोलर एसेट पर डबल-क्लिक करें
- "Animator" शीर्षक वाली नई विंडो दिखाई देगी, जो कुछ इस तरह दिखनी चाहिए:
- आप देखेंगे कि एक तीर है जो "Entry" से "SpinAnimation" की ओर इशारा कर रहा है, जिसका अर्थ है कि दृश्य शुरू होते ही एनीमेशन चलेगा, लेकिन यह वह नहीं है जो हम चाहते हैं, हम केवल कीप्रेस पर एनीमेशन चलाना चाहते हैं।
चूंकि मेकनिम को एक प्रविष्टि एनीमेशन की आवश्यकता होती है, हम जो कर सकते हैं वह एक नया खाली राज्य बना सकते हैं और इसे एक प्रविष्टि बना सकते हैं:
- एनिमेटर विंडो पर राइट क्लिक करें -> राज्य बनाएं -> खाली करें:
- प्रविष्टि स्थिति का चयन करें -> उस पर राइट-क्लिक करें -> स्टेटमशीन डिफ़ॉल्ट स्थिति सेट करें, फिर "New State" पर इंगित करें:
आखिरी काम जो करना बाकी है वह है स्पिनएनीमेशन में परिवर्तन करना, लेकिन हम विशिष्ट स्थिति पूरी होने के बाद ही परिवर्तन करना चाहते हैं, तभी पैरामीटर्स टैब आता है:
- एनिमेटर विंडो में पैरामीटर्स टैब पर क्लिक करें और फिर (+) चिन्ह पर क्लिक करें:
आप देखेंगे कि कई प्रकार उपलब्ध हैं, लेकिन अभी के लिए, हम ट्रिगर का चयन करेंगे, यह बूल के समान है लेकिन बूल के विपरीत, एनीमेशन पूरा होने के बाद यह स्वचालित रूप से गलत पर सेट हो जाता है, एक-शॉट एनिमेशन के लिए उपयोगी है:
- पैरामीटर को नाम दें "spinTrigger"
- अंत में "Any State" चुनें -> उस पर राइट क्लिक करें -> ट्रांजिशन करें, फिर स्पिनएनीमेशन को इंगित करें:
- ट्रांज़िशन एरो पर क्लिक करें और इंस्पेक्टर व्यू में शर्तों के तहत (+) पर क्लिक करें और सुनिश्चित करें कि स्पिनट्रिगर पैरामीटर चुना गया है
- डिफ़ॉल्ट रूप से Unity के साथ बनाए गए एनिमेशन में लूप सक्षम होता है, लेकिन चूंकि हम केवल एक बार एनीमेशन चलाना चाहते हैं, इसलिए हमें प्रोजेक्ट दृश्य में एनीमेशन क्लिप का चयन करना होगा और फिर लूप टाइम चेकबॉक्स को अनचेक करना होगा:
एक स्क्रिप्ट से मेकनिम मापदंडों को नियंत्रित करने में सक्षम होने के लिए, हमें विशेष फ़ंक्शन का उपयोग करने की आवश्यकता होगी, नीचे दिए गए कोड की जांच करें:
- एक नई स्क्रिप्ट बनाएं, इसे "AnimationTest" कहें, इसमें से सब कुछ हटा दें और फिर इसके अंदर नीचे दिया गया कोड पेस्ट करें:
AnimationTest.cs
using UnityEngine;
public class AnimationTest : MonoBehaviour
{
Animator animator;
// Start is called before the first frame update
void Start()
{
//Get Animator component
animator = GetComponent<Animator>();
}
// Update is called once per frame
void Update()
{
//Play spin animation on key press
if (Input.GetKeyDown(KeyCode.Q))
{
animator.SetTrigger("spinTrigger");
}
}
}
- एनिमेटर घटक के साथ क्यूब में AnimationTest.cs स्क्रिप्ट संलग्न करें:
आइए अब इसका परीक्षण करें:
सब कुछ अपेक्षा के अनुरूप काम करता है, Q दबाने पर एनीमेशन चलता है।