एनिमेटर में स्पेगेटी से कैसे बचें?


9

मैं यूनिटी में एनिमेशन के साथ काम कर रहा हूं और अब तक मैंने केवल चार (अप डाउन लेफ्ट और राइट) बनाए हैं और मेरी एनीमेशन विंडो निम्नलिखित है ... यहाँ छवि विवरण दर्ज करें

समस्या यह है कि अगर मैं आगे बढ़ रहा था, तो मैं चाहता हूं कि हीरो 'न्यूट्रल आइडल' में न जाए, (या फिर वह शुरू हो गया), लेकिन इसका मतलब है कि मेरे पास 4 आइडल पोजिशन हैं ... और उनमें से प्रत्येक अप, डाउन में संक्रमण कर सकता है। , बाएं या दाएं और वे प्रत्येक अतिरिक्त कार्रवाई के साथ तेजी से चलते हैं ...

जिससे मुझे लगता है कि मैं कुछ गलत कर रहा हूं ...।

क्या विभिन्न कार्यों के बीच संक्रमण करने का एक बेहतर तरीका है?


मैं लंबे समय से ऐसा करने की कोशिश कर रहा हूं। अफसोस की बात है, मेरा निष्कर्ष है, आप बस नहीं कर सकते। एनीमेटर ALWAYS स्पेगेटी के एक वेब में बदल जाता है और हमें इसके साथ रहना होगा। इस वीडियो पर एक नज़र डालें, तो यह youtube.com/… में
Nevermind

जवाबों:


9

आप इस प्रकार की समस्या को ब्लेंडट्रीस के साथ हल कर सकते हैं (सामान्य तौर पर इसके बुद्धिमान विचार अक्सर मिश्रित पेड़ों पर भरोसा करते हैं)। ब्लेंड ट्री एक बहु-एनीमेशन स्टेट की तरह है जो एक (फ्लोट) पैरामीटर (एस) के आधार पर तय करता है कि इसमें कौन-कौन से एनिमेशन वर्तमान में सक्रिय हैं (या वैकल्पिक रूप से परिणामी एनीमेशन कई एनिमेशन का मिश्रण हो सकता है)। यहां तक ​​कि जब एनिमेशन को मिश्रित नहीं किया जाता है, लेकिन स्वैप किया जाता है, तो स्वैप मध्य-एनीमेशन होता है (यानी यदि "बाहर निकलना" एनीमेशन 35% पर है, तो नया 35% से खेला जाता है)। "बाहर" से यह सब छिपा हुआ है जैसे कि यह एक सरल / एकल अवस्था है।

उदाहरण के लिए आपके पास 8 स्प्राइट एनिमेशन (4 मुख्य और 4 विकर्ण दिशाओं के साथ निष्क्रिय) के साथ एक मिश्रण का पेड़ है। इस मिश्रण के पेड़ में 2 पैरामीटर हैं - "क्षैतिज" और "ऊर्ध्वाधर"। और उन 2 मापदंडों के आधार पर मिश्रण का पेड़ तय करेगा कि किस एनीमेशन को खेलना है। "क्षैतिज" पैरामीटर के आधार पर मिश्रण का पेड़ बाएं / दाएं एनीमेशन के बीच का चयन करेगा और "ऊर्ध्वाधर" पैरामीटर शीर्ष / डाउन एनीमेशन को तय करेगा। फिर जब संयुक्त आप विकर्णों के साथ सभी 8 एनिमेशन होगा (यह एक ही विचार है कि हर्षपेड / जॉयस्टिक के पीछे है)।

यहाँ छवि विवरण दर्ज करें

यह थोड़ा भ्रामक है, भले ही StackExchange लिंक पसंद नहीं है, मैं लघु उदाहरण वीडियो मैं बनाया लिंक होगा । स्क्रीन के ऊपरी-दाएँ भाग पर ध्यान दें। ग्रे डॉट्स "स्टेट्स" / एनिमेशन हैं और सक्रिय वही है जो रेड डॉट को बंद करता है। जैसा कि शुरुआत में कहा गया है, यह और भी अधिक जटिल हो सकता है और प्रत्येक एनीमेशन में लाल बिंदु से दूरी के आधार पर एक प्रभाव / ताकत होती है, जिसके परिणामस्वरूप कई एनिमेशन के बीच एक मिश्रण होता है।

बाहर से इसकी सिर्फ एक अवस्था (ब्लेंड ट्री) और जब आप वॉक और अटैक के लिए एक ही कॉन्सेप्ट लागू करते हैं तो आपके पास केवल 3 राज्य जुड़े होंगे।

ब्लेंड ट्री एक खाली एनिमेटर क्षेत्र पर राइट क्लिक के साथ बनाए गए हैं - राज्य बनाएं -> न्यू ब्लेंड ट्री से। वहाँ से यह सब इंस्पेक्टर में है। चुने गए मिक्स ट्री के साथ आप मिक्स ट्री (1 डी, 2 डी, इत्यादि) का प्रकार चुन सकते हैं, एनिमेशन जोड़ सकते हैं, उन्हें स्थिति (पैरामीटर मान के सापेक्ष) और कंट्रोलिंग मापदंडों का चयन कर सकते हैं।

यदि आप ब्लेंड ट्रीज़ के बारे में अधिक जानकारी चाहते हैं तो एकता - 2016 और एकता ट्यूटोरियल के वीडियो हैं


2

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

यहाँ छवि विवरण दर्ज करें

अतिरिक्त जानकारी:

एनिमेशन पैरामीटर्स को पहचानने के लिए पैरामीटर सेट करने के तरीके पर एक नज़र डालें , स्टेट मशीन को एक साथ एनिमेशन का संयोजन करने के लिए, स्टेट मशीन व्यवहार आपके द्वारा सेट किए गए चर की जांच करने के तरीके के लिए।


हाय जॉन, लेकिन मैं वास्तव में यह कैसे करूँ? मैं आइडल के बीच स्वाइच करने के लिए ट्रिगर का उपयोग क्यों करूंगा, या आइडल के बीच बिल्कुल स्विच करूंगा? अगर मैं आइडल एनिमेटोन का उपयोग कैसे करूं? आरेख में भी क्यों मैं बेकार में चला जाऊंगा और फिर बाएं और बाएं नहीं और अगली कार्रवाई की प्रतीक्षा में बेकार में चला जाऊंगा या यह दूसरा रास्ता होना चाहिए?
माटस वैटकेविसियस

@MatasVaitkevicius आप एनिमेशन के अंत या शुरुआत में चर सेट और चेक कर सकते हैं। आप एक खाली एनीमेशन बना सकते हैं जो कुछ भी नहीं करता है लेकिन मामले की जांच करता है और फिर इसे अगले भाग पर पुनर्निर्देशित करता है या इसके बाहर एक अमूर्त परत बनाता है। मैंने अधिक जानकारी के लिए मैनुअल के कुछ लिंक शामिल किए हैं।
जॉन हैमिल्टन

तो मैं कैसे बना सकता हूँ अगर मापदंडों के साथ जो संक्रमण को बदल देगा? ऐसा कोई उदाहरण नहीं है कि आपके द्वारा
जोड़े गए

@MatasVaitkevicius आपको वास्तव में पहले थोड़ी खोज करनी चाहिए: gamedev.stackexchange.com/questions/103611/…
जॉन हैमिल्टन

लेकिन यह मैंने कैसे किया है। कार्रवाई पर आग की लपटों को ट्रिगर करना और एनीमेशन शुरू करना तब यह उस दिशा के लिए निष्क्रिय हो जाता है ... अब आप जो कह रहे हैं (अगर मैं आपको सही तरीके से समझता हूं) कि मैं उस दिशा के लिए बेकार जाने के बजाय एनीमेशन के बाद स्विच तंत्र पर जा सकता हूं मेरे लिए उपयुक्त निष्क्रिय का चयन करेगा ... लेकिन मैंने ऐसा तंत्र कहीं नहीं देखा, क्या आप इसे अपने उत्तर में कॉपी कर सकते हैं ....
Matas Vaitkevicius
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.