Metlivi ब्लॉग

पालतू जानवरों (पेट) के कई एनिमेशन स्टेट्स के लिए पुन: प्रयोज्य स्प्राइट शीट की योजना कैसे बनाएं

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

15 अक्टूबर 20266 मिनट में पढ़ेंलेखक: Metlivi Editorial Team
खंड 1

उन स्टेट्स से शुरुआत करें जिनकी पेट को वास्तव में आवश्यकता है

शीट के आयाम (डायमेंशन्स) चुनने से पहले पेट के लिए आवश्यक स्टेट्स की सूची बनाएं। एक छोटे सेट में आइडल (idle), मूव (move) और एक संक्षिप्त प्रतिक्रिया (reaction) शामिल हो सकती है; सटीक सूची प्रोजेक्ट पर निर्भर करती है। प्रत्येक स्टेट के लिए तय करें कि यह लूप में चलेगी, एक बार चलेगी या अंत में उल्टी (रिवर्स) हो जाएगी। पहले और अंतिम फ़्रेम को चिह्नित करें और अनुमान लगाएं कि गति (मोशन) के लिए कितने अलग-अलग पोज़ की आवश्यकता है। यह एक प्लानिंग सहायता है, कोई निर्धारित एनिमेशन फॉर्मूला नहीं।

Aseprite में, फ़्रेम टैग श्रेणियों (रेंजेस) को नामित एनिमेशन के रूप में चिह्नित कर सकते हैं, और प्रत्येक टैग फ़ॉरवर्ड, रिवर्स या पिंग-पॉन्ग प्लेबैक निर्दिष्ट कर सकता है। योजना बनाते समय श्रेणियों को नाम देने और टैग करने से सोर्स फ़ाइल में स्टेट की सीमाएं दिखाई देती हैं, भले ही आप बाद में उन्हें एक साथ एक्सपोर्ट करें। Aseprite: Tags

खंड 2

एक ऐसा फ़्रेम बॉक्स और एंकर चुनें जो प्रत्येक स्टेट के काम आ सके

जब प्राप्त करने वाला टूल एक नियमित ग्रिड की अपेक्षा करता हो, तो एनिमेशन फ़्रेमों के लिए एक सुसंगत सेल चौड़ाई और ऊंचाई निर्धारित करें। इसमें पेट के सबसे चौड़े पोज़, उठे हुए कान या पूंछ, और शरीर से परे किसी भी छोटी हलचल के लिए जगह शामिल करें। पेट को एक साझा एंकर के सापेक्ष रखें, जैसे कि उसके पैरों का केंद्र या उसके विश्राम पोज़ का केंद्र। जब पेट पोज़ बदलता है, तो एंकर को ही स्थानांतरित करने के बजाय उस एंकर के चारों ओर ड्राइंग को हिलाएं; अन्यथा पेट फ़्रेमों के बीच कूदता हुआ दिखाई दे सकता है।

एक निश्चित ग्रिड को स्लाइस करना सीधा और आसान होता है क्योंकि प्रत्येक सेल के आयाम और पंक्ति या कॉलम की स्थिति समान होती है। Aseprite का स्प्राइट-शीट आयात (इम्पोर्ट) फ़्रेम की चौड़ाई और ऊंचाई मांगता है, और इमेज में अंतराल होने पर ऑफ़सेट और पैडिंग का समर्थन करता है। यदि फ़्रेम आकार में काफी भिन्न हैं या उन्हें अलग-अलग पिवट की आवश्यकता है, तो एक समान ग्रिड की तुलना में प्रति-फ़्रेम मेटाडेटा वाला एटलस बेहतर हो सकता है। Aseprite: Sprite sheets

खंड 3

ड्रॉ करने से पहले स्टेट्स को पंक्तियों या टैग्स में मैप करें

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

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

खंड 4

संपादन योग्य (एडिटेबल) सोर्स को एक्सपोर्ट की गई शीट से अलग रखें

स्प्राइट शीट को एक डिलीवरी इमेज मानें, एकमात्र संपादन योग्य सोर्स नहीं। मूल प्रोजेक्ट को उसकी लेयर्स, फ़्रेम्स, टैग्स और स्लाइस के साथ रखें ताकि आप फ़्लैट किए गए एक्सपोर्ट से फिर से बनाए बिना किसी व्यक्तिगत स्टेट को बदल सकें। Aseprite प्रमाणित करता है कि उसकी .aseprite फ़ाइल लेयर्स, फ़्रेम्स, टैग्स और स्लाइस जैसी जानकारी को सुरक्षित रखती है; पीएनजी एक्सपोर्ट कलाकृति (आर्टवर्क) को कहीं और उपयोग करने के लिए उपयोगी है। Aseprite: Files

यदि रनटाइम को फ़्रेम खोजने या समय और स्टेट के नाम पढ़ने की आवश्यकता है, तो मेटाडेटा जोड़ें। Aseprite के एक्सपोर्ट विकल्पों में JSON डेटा, पैडिंग नियंत्रण, ट्रिमिंग और टैग चयन शामिल हैं। पैक्ड लेआउट या परिवर्तनशील आकार के क्रॉप्स का उपयोग करते समय, इमेज के साथ उस मेटाडेटा को सुरक्षित रखें: केवल पंक्ति और कॉलम से पिक्सेल निर्देशांक का सुरक्षित रूप से अनुमान नहीं लगाया जा सकता है। Aseprite स्लाइस नामित सीमाएं और पिवट भी संग्रहीत कर सकते हैं, और स्लाइस की जानकारी को स्प्राइट-शीट JSON में शामिल किया जा सकता है। Aseprite: ExportSpriteSheet, Aseprite: Slices

खंड 5

इम्पोर्टर को ध्यान में रखते हुए पैडिंग और ट्रिमिंग का निर्णय लें

पैडिंग फ़्रेमों के बीच या शीट के चारों ओर खाली स्थान का वर्णन करती है; इसकी सही मात्रा इम्पोर्टर पर और टेक्सचर को कैसे सैंपल किया जाएगा, इस पर निर्भर करती है। यदि टारगेट वर्कफ़्लो के लिए दिखाई देने वाले अंतराल की आवश्यकता है या यदि आप सीमाओं का आसानी से निरीक्षण करना चाहते हैं, तो सेल्स को अलग रखें। यदि फ़्रेम एक-दूसरे को छूते हैं, तो पुष्टि करें कि क्या इम्पोर्टर अभी भी उन्हें सही तरीके से स्लाइस कर सकता है। Aseprite बॉर्डर, शेप और इनर पैडिंग को अलग-अलग एक्सपोर्ट सेटिंग्स के रूप में प्रस्तुत करता है, इसलिए "पैडिंग" को एक सार्वभौमिक विकल्प मानने के बजाय टूल में प्रत्येक सेटिंग का अर्थ जांचें। Aseprite: ExportSpriteSheet

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

खंड 6

शीट को केवल एक इमेज के रूप में नहीं, बल्कि एक एनिमेशन के रूप में सत्यापित करें

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

शीट को अगले चरण पर सौंपने से पहले इस संक्षिप्त चेकलिस्ट का उपयोग करें:

  • प्रत्येक स्टेट का एक स्पष्ट नाम और फ़्रेम श्रेणी हो।

  • ग्रिड के आयाम, फ़्रेम के आयाम और पढ़ने का क्रम इम्पोर्टर से मेल खाते हों।

  • पेट सभी पोज़ में एक ही एंकर पर संरेखित रहे।

  • क्रॉपिंग और पैडिंग से बारीकियां न कटती हों और न ही आस-पास की सेल्स आपस में मिलती हों।

  • एक्सपोर्ट किया गया मेटाडेटा, यदि उपयोग किया गया है, तो सही इमेज के साथ हो और वर्तमान लेआउट का वर्णन करता हो।

  • संपादन योग्य सोर्स बाद के संशोधनों के लिए उपलब्ध रहे।

खंड 7

योजना का एक व्यावहारिक क्रम

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

योजना का मुख्य विकल्प आर्टवर्क और इम्पोर्टर के बीच का अनुबंध (कॉन्ट्रैक्ट) है: एक नियमित ग्रिड को सुसंगत सेल्स और एक ज्ञात क्रम की आवश्यकता होती है; एक पैक्ड या ट्रिम की गई शीट को विश्वसनीय मेटाडेटा और सुरक्षित प्लेसमेंट जानकारी की आवश्यकता होती है। उस अनुबंध को स्पष्ट बनाएं, और वही सोर्स एनिमेशन व्यवस्थित रह सकता है जबकि इसका एक्सपोर्ट किया गया लेआउट प्रोजेक्ट के अनुरूप बदलता है।

खंड 8

स्रोत

संबंधित लेख

इस विषय को आगे पढ़ें