ओवरवर्ल्ड और बैटल स्प्राइट्स को एक समान स्केल पर कैसे रखें
ओवरवर्ल्ड और बैटल दृश्यों में किसी कैरेक्टर का आकार एक जैसा महसूस कराने के लिए, स्क्रीन पर रेंडर होने वाले आर्टवर्क की ऊंचाई की तुलना करें—सिर्फ़ सोर्स इमेज के डाइमेंशन की नहीं। कैरेक्टर के लिए एक साझा पिक्सेल-ऊंचाई का लक्ष्य चुनें, एक समान वर्ल्ड स्केल और पिक्सेल डेंसिटी सेट करें, फिर दोनों दृश्यों की तुलना एक ही कैमरा स्केल पर करें। कैरेक्टर के पैरों को एक सामान्य बेसलाइन पर संरेखित (align) करें और गेम के अभीष्ट डिस्प्ले आकारों पर परिणाम की जांच करें। यदि कोई दृश्य जानबूझकर किसी भिन्न कैमरे या कंपोज़िशन का उपयोग करता है, तो स्प्राइट स्केल को चुपचाप बदलने के बजाय उस अपवाद को दस्तावेज़ित करें।
तय करें कि आपके गेम के लिए “एक जैसा स्केल” का क्या अर्थ है
एक मापनीय लक्ष्य निर्धारित करके शुरुआत करें। उदाहरण के लिए, आप तय कर सकते हैं कि संदर्भ कैमरा दृश्य (reference camera view) में दोनों दृश्यों में कैरेक्टर पैर के तलवे से लेकर सिर के शीर्ष तक 32 स्क्रीन पिक्सेल का स्थान घेरे। यह केवल एक उदाहरण के रूप में दिया गया लक्ष्य है, कोई अनुशंसित सार्वभौमिक आकार नहीं: ऐसा लक्ष्य चुनें जो आपके गेम के रिज़ॉल्यूशन और उसके आर्ट में मौजूद विवरण के स्तर के अनुकूल हो।
पारदर्शी इमेज आयत (rectangle) को नहीं, बल्कि दिखने वाले कैरेक्टर को मापें। ओवरवर्ल्ड स्प्राइट में परछाई, हथियार, एंटीना या खाली पैडिंग शामिल हो सकती है, जबकि बैटल स्प्राइट में एक अलग पोज़ हो सकता है। तय करें कि आपका लक्ष्य सिर से पैर तक की शरीर की रूपरेखा (silhouette) को मापता है या पूरे दिखने वाले आर्टवर्क को, और दोनों के लिए एक ही नियम का उपयोग करें। एक छोटी संदर्भ शीट रखें जिसमें लक्षित ऊंचाई, संदर्भ रिज़ॉल्यूशन, इच्छित फ़्लोर लाइन और दृश्य-विशिष्ट कोई भी जानबूझकर किए गए अंतर दर्ज हों।
यह परिभाषा इसलिए मायने रखती है क्योंकि एक बड़े सोर्स कैनवस का अपने आप यह मतलब नहीं होता कि स्क्रीन पर कैरेक्टर भी बड़ा दिखेगा। कैनवस डाइमेंशन इमेज क्षेत्र का वर्णन करते हैं; इंजन की इम्पोर्ट सेटिंग्स, ऑब्जेक्ट स्केल और कैमरा यह निर्धारित करते हैं कि वह क्षेत्र कितने डिस्प्ले पिक्सेल घेरता है। Aseprite कैनवस बदलने और स्प्राइट कंटेंट का आकार बदलने के बीच अंतर करता है, इसलिए आर्टवर्क में बदलाव करने से पहले जांच लें कि आपको किस ऑपरेशन की आवश्यकता है।Aseprite: Sprite Size
प्रत्येक कैनवस के भीतर वास्तविक आर्टवर्क की तुलना करें
ओवरवर्ल्ड और बैटल इमेज को उनके मूल (native) पिक्सेल स्केल पर खोलें और चुने गए माप में पिक्सेल की गिनती करें। कैरेक्टर की दिखने वाली ऊंचाई और पैरों तथा कैनवस के किनारे के बीच की दूरी को रिकॉर्ड करें। यदि बैटल कैरेक्टर 48 दिखने वाले पिक्सेल लंबा है और ओवरवर्ल्ड कैरेक्टर 32 पिक्सेल का है, तो इंजन द्वारा कोई भी सीन स्केलिंग लागू करने से पहले उनके आर्टवर्क का अनुपात 1.5:1 से भिन्न होगा।
जब अनुपात अन्य मामलों में समान हों, तो एक सरल शुरुआती गणना यह है: वांछित रेंडर की गई ऊंचाई ÷ वर्तमान रेंडर की गई ऊंचाई = समायोजन कारक (adjustment factor)। यदि कोई स्प्राइट वर्तमान में 24 पिक्सेल लंबा रेंडर होता है और उसे 32 पिक्सेल रेंडर होना चाहिए, तो कारक 32 ÷ 24 = 1.33 है। इसका उपयोग एक नैदानिक अनुमान के रूप में करें, फिर आर्ट और दृश्य सेटअप का निरीक्षण करें। यह एक निदर्शी गणना है; यह मानती है कि कैमरे, क्रॉप या ट्रांसफ़ॉर्म में कोई अंतर नहीं है।
इमेज फ़ाइलों की चौड़ाई और ऊंचाई को केवल एक जैसा करने के लिए उनका आकार न बदलें। एक पोज़ चौड़ा हो सकता है, या बैटल एनिमेशन में उठा हुआ हाथ शामिल हो सकता है। इच्छित आकार को सुरक्षित रखें और शरीर के समान लैंडमार्क की तुलना करें। यदि स्प्राइट्स की शारीरिक रचना (anatomy) या परिप्रेक्ष्य (perspective) स्पष्ट रूप से भिन्न हैं, तो पिक्सेल ऊंचाई का मिलान करने पर भी वे एक समान महसूस नहीं हो सकते हैं; ऐसे में डिज़ाइन को समायोजित करें या किसी दृश्य-विशिष्ट अपवाद पर सहमति बनाएं।
साझा पिक्सेल डेंसिटी और वर्ल्ड स्केल सेट करें
Unity में, ओवरवर्ल्ड और बैटल स्प्राइट्स को एक ही Pixels Per Unit (PPU) पर सेट करें, और Pixel Perfect Camera की Asset Pixels Per Unit सेटिंग को उस मान से मिलाएं। Unity PPU को उन पिक्सेल की संख्या के रूप में परिभाषित करता है जो एक सीन यूनिट बनाते हैं, और इसका Pixel Perfect Camera मार्गदर्शन दृश्य के सभी स्प्राइट्स में एक साझा मान रखने का सुझाव देता है।Unity: 2D Pixel Perfect उदाहरण के लिए, यदि प्रोजेक्ट प्रति यूनिट 16 पिक्सेल का उपयोग करता है, तो 32-पिक्सेल लंबा स्प्राइट ऑब्जेक्ट स्केलिंग से पहले 2 वर्ल्ड यूनिट घेरेगा।
प्रत्येक कैरेक्टर ऑब्जेक्ट के ट्रांसफ़ॉर्म स्केल की भी जांच करें। यदि एक दृश्य में ऑब्जेक्ट को 0.8 और दूसरे में 1.0 पर स्केल किया गया है, तो केवल PPU का मिलान उसकी भरपाई नहीं करेगा। सुसंगत इम्पोर्ट और ट्रांसफ़ॉर्म सेटिंग्स को प्राथमिकता दें, और केवल तभी आर्टवर्क या स्पष्ट रूप से रिकॉर्ड किए गए दृश्य-विशिष्ट स्केल को समायोजित करें जब कंपोज़िशन की मांग हो।
किसी अन्य इंजन में, समकक्ष नियंत्रण खोजें: कितने सोर्स पिक्सेल एक वर्ल्ड यूनिट पर मैप होते हैं, नोड या ऑब्जेक्ट स्केल, और कैमरे का व्यूपोर्ट या ज़ूम। Godot के 2D रेंडरिंग पाथ में कैनवस और व्यूपोर्ट ट्रांसफ़ॉर्म शामिल हैं, जिसमें स्क्रीन का आकार बदलते समय उपयोग किया जाने वाला स्ट्रेच ट्रांसफ़ॉर्म भी शामिल है; इसलिए केवल सोर्स इमेज के डाइमेंशन ही उसके अंतिम स्क्रीन आकार को निर्धारित नहीं कर सकते हैं।Godot: Viewport and canvas transforms
पैरों को एक सुविचारित पिवट के साथ संरेखित करें
एक कैरेक्टर सही ऊंचाई का हो सकता है, फिर भी यदि वह दृश्यों के बीच हवा में तैरता, धंसता या अपनी स्थिति बदलता है तो उसका स्केल असंगत दिख सकता है। पिवट को एक सार्थक एंकर पर सेट करें, आमतौर पर पैरों के बीच जमीन के संपर्क बिंदु पर, फिर उस एंकर को दोनों दृश्यों में एक ही फ़्लोर बेसलाइन पर संरेखित करें। उन स्प्राइट्स के लिए जिनके पैर एनिमेशन के दौरान हिलते हैं, रूट या पिवट को लगातार एंकर करें और संपर्क फ़्रेमों की जांच करें।
यह मानने से बचें कि प्रत्येक इमेज का केंद्र एक अच्छा एंकर है। कैनवस में पारदर्शी पैडिंग की मात्रा अलग-अलग हो सकती है, और एक केंद्रित पिवट आर्टवर्क को एक अलग वर्टिकल स्थिति में रख सकता है। Unity का पिक्सेल-परफ़ेक्ट वर्कफ़्लो पिक्सेल में मापे गए कस्टम पिवट्स का समर्थन करता है और एक से अधिक स्प्राइट वाले टेक्सचर में व्यक्तिगत स्प्राइट्स के लिए पिवट्स सेट करने की अनुशंसा करता है।Unity: 2D Pixel Perfect Godot में, Sprite2D डिफ़ॉल्ट रूप से केंद्रित होता है; इसका दस्तावेज़ीकरण नोट करता है कि पिक्सेल के बीच स्थित होने पर केंद्रित पिक्सेल आर्ट विकृत दिख सकता है और सेंटरिंग को अक्षम करने या पिक्सेल स्नैपिंग को सक्षम करने के विकल्पों का वर्णन करता है।Godot: Sprite2D
फ़िल्टरिंग, स्नैपिंग और कैमरा स्केल की जांच करें
स्पष्ट पिक्सेल आर्ट के लिए nearest या point फ़िल्टरिंग का उपयोग करें, और पुष्टि करें कि टेक्सचर कम्प्रेशन इसके रूप को नहीं बदल रहा है। Unity का मार्गदर्शन विशेष रूप से इसके Pixel Perfect Camera के साथ उपयोग किए जाने वाले स्प्राइट्स के लिए Point फ़िल्टरिंग और नो कम्प्रेशन की अनुशंसा करता है।Unity: 2D Pixel Perfect ये सेटिंग्स किनारों की स्पष्टता को बनाए रखती हैं; वे अलग-अलग स्केल वाले दो स्प्राइट्स को एक ही आकार का नहीं बनाती हैं।
इसके बाद, दृश्यों की तुलना उनके कैमरों को समान संदर्भ दृश्य पर सेट करके या एक अस्थायी साझा परीक्षण कैमरे के साथ करें। बैटल दृश्य अक्सर ज़ोर देने के लिए ज़ूम इन करता है। यदि कैमरा ज़ूम दोगुना हो जाता है, तो कैरेक्टर दोगुने स्क्रीन पिक्सेल घेर सकता है, भले ही स्प्राइट का वर्ल्ड स्केल अपरिवर्तित रहे। तय करें कि आवश्यकता समान वर्ल्ड साइज़ की है या समान स्क्रीन प्रॉमिनेंस (screen prominence) की: ये दोनों अलग-अलग लक्ष्य हैं। यदि बैटल फ़्रेमिंग जानबूझकर कैरेक्टर को बड़ा दिखाती है, तो ज़ूम को एक प्रेजेंटेशन विकल्प के रूप में रिकॉर्ड करें और उस दृश्य का उपयोग अंतर्निहित स्प्राइट स्केल को आंकने के लिए न करें।
पिक्सेल आर्ट के लिए, स्थिर फ़्रेम के साथ-साथ गति का भी निरीक्षण करें। सबपिक्सेल स्थितियां या असंगत स्नैपिंग कैरेक्टर के हिलने पर किनारों को झिलमिलाता (flicker) या असमान दिखा सकती है। Unity का Pixel Perfect Camera इसके एसेट PPU से बंधी ग्रिड स्नैपिंग प्रदान करता है; Godot 2D वर्टिकल और ट्रांसफ़ॉर्म के लिए पिक्सेल-स्नैपिंग सेटिंग्स प्रदान करता है।Unity: 2D Pixel Perfect Godot: Sprite2D प्रोजेक्ट की वास्तविक कैमरा सेटिंग्स के साथ परीक्षण करें, क्योंकि स्नैपिंग और स्केलिंग व्यवहार रेंडरिंग सेटअप पर निर्भर करता है।
एसेट्स में बदलाव करने से पहले एक संक्षिप्त तुलनात्मक जांच करें
यदि संभव हो तो एक ही कैरेक्टर पोज़ के साथ एक साथ रखकर (side-by-side) तुलना करें। क्रमवार इन जांचों का उपयोग करें:
- समान लैंडमार्क और पिक्सेल-गणना नियम का उपयोग करके दिखने वाले शरीर की ऊंचाई की तुलना करें।
- पैरों की बेसलाइन और स्प्राइट पिवट या रूट स्थिति की तुलना करें।
- PPU या समकक्ष इम्पोर्ट डेंसिटी, ऑब्जेक्ट स्केल और किसी भी पैरेंट स्केल को सत्यापित करें।
- कैमरा ज़ूम, संदर्भ रिज़ॉल्यूशन, व्यूपोर्ट स्केलिंग और डिस्प्ले साइज़ का मिलान करें।
- ब्लर, असमान पिक्सेल प्लेसमेंट या क्लिपिंग को पकड़ने के लिए मूल आकार में और चलते समय निरीक्षण करें।
- कुछ एनिमेशन फ़्रेमों की फिर से जांच करें, विशेष रूप से सबसे छोटे और सबसे लंबे पोज़ की।
यदि आर्टवर्क के माप मेल खाते हैं लेकिन कैरेक्टर अभी भी बैटल में बड़ा दिखता है, तो स्प्राइट को संपादित करने से पहले कैमरा फ़्रेमिंग और आसपास की वस्तुओं की जांच करें। यदि कैमरा और ट्रांसफ़ॉर्म मेल खाते हैं लेकिन सिल्हूट की ऊंचाई भिन्न है, तो आर्ट या एक नियंत्रित दृश्य-विशिष्ट स्केल को समायोजित करें। यदि ऊंचाई मेल खाने के दौरान पैर हिलते हैं, तो पिवट, पैडिंग या एंकर को सही करें। यह क्रम एक त्रुटि की भरपाई दूसरी त्रुटि से करने के बजाय कारण को अलग करने में मदद करता है।
भविष्य के स्प्राइट्स के लिए एक छोटा स्केल संदर्भ रखें
स्प्राइट एसेट्स के साथ साझा लक्षित ऊंचाई, PPU या समकक्ष, संदर्भ रिज़ॉल्यूशन, पिवट परंपरा और इच्छित कैमरा सेटिंग्स को रिकॉर्ड करें। Aseprite के कैनवस उपकरण पारदर्शी सीमाओं को ट्रिम कर सकते हैं, लेकिन ट्रिमिंग कैनवस की सीमाओं को बदल देती है, इसलिए जांचें कि पिवट्स, स्लाइस या इंजन-साइड एंकर उसके बाद भी ठीक से संरेखित हैं या नहीं।Aseprite: Canvas Size ट्रिमिंग को एक एसेट परिवर्तन के रूप में मानें जिसके लिए एक त्वरित दृश्य जांच की आवश्यकता होती है।
विश्वसनीय मानक वह कैरेक्टर है जो सहमत दृश्यमान-ऊंचाई लक्ष्य से मेल खाता है, एक ग्राउंड एंकर साझा करता है, और इच्छित कैमरे और फ़िल्टरिंग सेटिंग्स के तहत लगातार रेंडर होता है। कैमरा एम्फ़ैसिस में जानबूझकर किए गए अंतरों को स्पष्ट प्रेजेंटेशन विकल्पों के रूप में सुरक्षित रखें। उन जांचों के रिकॉर्ड होने के बाद, बाद के ओवरवर्ल्ड पोज़ और बैटल एनिमेशन की तुलना उसी व्यावहारिक संदर्भ से की जा सकती है।
