अपने Android गेम में टेक्सचर की परफ़ॉर्मेंस और उनके दिखने के तरीके को ऑप्टिमाइज़ करने के लिए, इन सबसे सही तरीकों को अपनाएं.
टेक्सचर, आपकी 3D कला का एक अहम हिस्सा होते हैं. ज़्यादा से ज़्यादा डिवाइसों पर अच्छी तरह से चलने वाले 3D गेम, 3D आर्ट से शुरू होते हैं. इसे ग्राफ़िक्स प्रोसेसर का सबसे अच्छा फ़ायदा लेने के लिए डिज़ाइन किया गया है. इस गाइड में, मोबाइल पर टेक्सचर को ऑप्टिमाइज़ करने और उन्हें इस्तेमाल करने के सबसे सही तरीकों के बारे में बताया गया है. इससे आपके गेम की परफ़ॉर्मेंस बेहतर होगी और बैटरी की खपत कम होगी. साथ ही, विज़ुअल क्वालिटी भी अच्छी बनी रहेगी.
इस लेख के कुछ हिस्से, Arm Limited के योगदान और कॉपीराइट पर आधारित हैं.
टेक्स्चर ऐटलस बनाना
टेक्सचर ऐटलस, एक ऐसा टेक्सचर होता है जिसे कई ग्राफ़िक ऑब्जेक्ट के इमेज डेटा को शामिल करने के लिए डिज़ाइन किया जाता है. जैसे, 3D मेश या 2D स्प्राइट. हर ऑब्जेक्ट का अपना टेक्सचर होने के बजाय, एटलस टेक्सचर का इस्तेमाल करके हर ऑब्जेक्ट की इमेज को एक साथ जोड़ा जाता है.

गेम फ़्रेम के ड्रॉ कॉल की संख्या को कम करना, रेंडरिंग की बेहतर परफ़ॉर्मेंस पाने के लिए ज़रूरी है. अलग-अलग ऑब्जेक्ट के लिए एक ही टेक्सचर का इस्तेमाल करना, उन्हें एक ही ड्रॉ कॉल में शामिल करने का एक तरीका है. सीपीयू पर निर्भर रहने वाले गेम के लिए, ड्रॉ कॉल कम करना खास तौर पर ज़रूरी है. ऐसा इसलिए, क्योंकि हर ड्रॉ कॉल से सीपीयू पर ओवरहेड पड़ता है. इसकी वजह यह है कि इसे ग्राफ़िक्स ड्राइवर प्रोसेस करता है. टेक्सचर ऐटलस, आपके गेम के रनटाइम डेटा में टेक्सचर ऐसेट फ़ाइलों की संख्या को भी कम करते हैं. सैकड़ों या हज़ारों टेक्सचर को, टेक्सचर एटलस की बहुत कम फ़ाइलों में इकट्ठा किया जा सकता है.
3D मेश बनाते समय, आपको टेक्सचर ऐटलस लेआउट की योजना बनानी चाहिए. अगर एटलस को मेश ऐसेट बनाने से पहले बनाया गया है, तो मेश ऐसेट को टेक्सचर एटलस के हिसाब से यूवी अनरैप किया जाना चाहिए. अगर एटलस को ऑथरिंग के बाद बनाया जाता है, तो पेंटिंग सॉफ़्टवेयर में मर्ज करने या एटलस बनाने वाले टूल का इस्तेमाल करके, यूवी आइलैंड को टेक्सचर के हिसाब से फिर से व्यवस्थित करना होगा.
इंजन के हिसाब से ड्रॉ कॉल बैचिंग
Unity गेम इंजन में ड्रॉ कॉल बैचिंग की सुविधा होती है. यह ऑब्जेक्ट को अपने-आप जोड़ सकती है. अपने-आप बैच होने की सुविधा का इस्तेमाल करने के लिए, ऑब्जेक्ट में एक जैसा मटीरियल होना चाहिए. इसमें टेक्सचर भी शामिल हैं. साथ ही, उन्हें स्टैटिक के तौर पर मार्क किया जाना चाहिए.
Unreal Engine 4 में बैचिंग के लिए, मैन्युअल तरीके से सेटअप करना ज़रूरी है. Unreal में इंपोर्ट करने से पहले, 3D सॉफ़्टवेयर में ऑब्जेक्ट मर्ज किए जा सकते हैं. Unreal में UE4 ऐक्टर मर्जिंग टूल भी शामिल है. इसकी मदद से, मेश को एक साथ जोड़ा जा सकता है और टेक्सचर ऐटलस फ़ाइलें बनाई जा सकती हैं.
मिपमैप जनरेट करें
मिपमैप, किसी टेक्सचर के लोअर रिज़ॉल्यूशन वाले वर्शन होते हैं. किसी टेक्सचर के लिए मिपमैप के कलेक्शन को मिपमैप चेन कहा जाता है. चेन में मौजूद हर अगला मिपमैप लेवल, पिछले लेवल की तुलना में कम रिज़ॉल्यूशन का होता है. रेंडरिंग के दौरान टेक्सचर एलओडी (लेवल ऑफ़ डिटेल) लागू करने के लिए, मिपमैप का इस्तेमाल किया जाता है. जब किसी मिपमैप की गई टेक्सचर को टेक्सचर स्टेज से बाइंड किया जाता है, तो ग्राफ़िक्स हार्डवेयर, मिपमैप चेन से कोई लेवल चुनने के लिए, फ़्रैगमेंट के ज़रिए इस्तेमाल किए गए टेक्सचर स्पेस का इस्तेमाल करता है. 3D सीन रेंडर करते समय, कैमरे से दूर मौजूद ऑब्जेक्ट, कैमरे के पास मौजूद ऑब्जेक्ट की तुलना में कम रिज़ॉल्यूशन वाले मिपमैप का इस्तेमाल करेगा.
बिना मिपमैप किए गए टेक्सचर की तुलना में, मिपमैप किए गए टेक्सचर में ज़्यादा मेमोरी का इस्तेमाल होता है. अतिरिक्त मिपमैप लेवल से, टेक्सचर का मेमोरी फ़ुटप्रिंट 33% बढ़ जाता है. अगर किसी टेक्सचर को कैमरे से तय दूरी पर बनाया जाता है, तो मिपमैप जनरेट करना मेमोरी का गैर-ज़रूरी इस्तेमाल है.

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

इंजन के हिसाब से मिपमैप की जानकारी
अनरियल इंजन 4 में मिपमैपिंग का इस्तेमाल करने के लिए, टेक्सचर के डाइमेंशन ऐसे होने चाहिए जो दो की घात हों. जैसे, 512x1024, 128x128. अगर टेक्सचर के एक या दोनों डाइमेंशन, दो की घात नहीं हैं, तो मिपमैप चेन जनरेट नहीं की जाएंगी.
Unity इंजन, दो की पावर वाले डाइमेंशन के अलावा अन्य डाइमेंशन वाली टेक्सचर को अपने-आप स्केल कर देगा, ताकि मिपमैप बनाए जा सकें. पक्का करें कि आपकी सोर्स टेक्सचर फ़ाइलें, दो डाइमेंशन की पावर में हों, ताकि इस स्केलिंग से बचा जा सके.
टेक्सचर फ़िल्टर करने के सही मोड चुनें
टेक्सचर फ़िल्टरिंग, हार्डवेयर रेंडरिंग की एक सुविधा है. इससे रेंडर किए गए ट्रायंगल की विज़ुअल इमेज पर असर पड़ता है. टेक्सचर फ़िल्टरिंग का सही तरीके से इस्तेमाल करने पर, किसी सीन की विज़ुअल क्वालिटी को बेहतर बनाया जा सकता है. टेक्सचर फ़िल्टरिंग के कई मोड होते हैं. हर मोड में, रेंडरिंग को बेहतर बनाने और लागत के बीच अलग-अलग संतुलन होता है. लागत में, कंप्यूटेशन का समय और मेमोरी बैंडविड्थ, दोनों शामिल हैं. आम तौर पर, टेक्सचर फ़िल्टर करने के तीन मोड उपलब्ध होते हैं: सबसे नज़दीकी (या पॉइंट), बाइलीनियर, और ट्राइलिनियर. एनिसोट्रॉपिक, टेक्सचर फ़िल्टर करने का एक अतिरिक्त तरीका है. इसे बाइलीनियर या ट्राइलिनियर फ़िल्टरिंग के साथ इस्तेमाल किया जा सकता है.
सबसे नज़दीक
Nearest, टेक्सचर फ़िल्टर करने का सबसे आसान और कम खर्चीला मोड है. Nearest सोर्स टेक्सचर में दिए गए कोऑर्डिनेट का इस्तेमाल करके, एक टेक्सल का सैंपल लेता है. सबसे नज़दीकी ऑब्जेक्ट के हिसाब से रेंडर किए गए ट्रायंगल, ब्लॉक या पिक्सल वाले दिखेंगे. ऐसा खास तौर पर तब होगा, जब उन्हें कैमरे के नज़दीक रेंडर किया जाएगा.
बायलिनियर
बायलिनियर फ़िल्टरिंग, सोर्स टेक्सचर में दिए गए कोऑर्डिनेट के आस-पास के चार टेक्सल का सैंपल लेता है. इन चार टेक्सल का औसत निकालकर, फ़्रैगमेंट के लिए टेक्सचर का रंग तय किया जाता है. बायलिनियर फ़िल्टरिंग से पिक्सल के बीच स्मूद ग्रेडिएंट मिलता है. इससे, आस-पास के पिक्सल को फ़िल्टर करने पर मिलने वाली ब्लॉक जैसी इमेज नहीं मिलती. कैमरे के पास रेंडर किए गए ट्रायंगल, पिक्सलेट होने के बजाय धुंधले दिखेंगे. बायलिनियर इंटरपोलेशन में, आस-पास के पिक्सल के मुकाबले ज़्यादा पिक्सल के सैंपल लिए जाते हैं और उनका औसत निकाला जाता है. इसलिए, इसकी लागत ज़्यादा होती है.

ट्रायलीनियर
जब किसी ऐसे मेश को रेंडर किया जाता है जिसमें वर्टेक्स की दूरी कैमरे से अलग-अलग होती है, तो रेंडरिंग के दौरान एक से ज़्यादा मिपमैप लेवल चुने जा सकते हैं. दो मिपमैप लेवल के बीच बदलावों की वजह से, ट्रांज़िशन पॉइंट पर एक खास कट दिख सकता है. ट्रायलीनियर फ़िल्टरिंग, इन ट्रांज़िशन को आसान बनाती है. इसके लिए, यह दो अलग-अलग मिपमैप लेवल पर बाइनियर फ़िल्टरिंग करती है और नतीजों का इंटरपोलेशन करती है. एक से ज़्यादा एमआईपी लेवल और इंटरपोलेशन का इस्तेमाल करने की वजह से, ट्राइलिनियर, बाइलिनियर की तुलना में ज़्यादा कंप्यूटेशनल होता है.

एनिसोट्रॉपिक
ऐनिसोट्रॉपिक फ़िल्टरिंग से, टेक्सचर वाले मेश की विज़ुअल क्वालिटी बेहतर होती है. ये मेश, कैमरे के हिसाब से बहुत ज़्यादा ऐंगल पर रेंडर किए जाते हैं. ग्राउंड प्लेन, इस तरह के मेश का एक सामान्य उदाहरण है. एनिसोट्रोपिक फ़िल्टरिंग के लिए, मिपमैप किए गए टेक्सचर की ज़रूरत होती है. रेंडरिंग के दौरान लागू किए गए ऐनिसोट्रॉपिक फ़िल्टरिंग के अनुपात या लेवल को कॉन्फ़िगर किया जा सकता है. लेवल बढ़ने पर, ऐनिसोट्रॉपिक फ़िल्टरिंग की लागत बढ़ जाती है.

मोड चुनने की रणनीति
आम तौर पर, परफ़ॉर्मेंस और विज़ुअल क्वालिटी के बीच सबसे अच्छा संतुलन, बाइलीनियर फ़िल्टरिंग से मिलता है. ट्राइलिनियर फ़िल्टरिंग के लिए, मेमोरी बैंडविड्थ की काफ़ी ज़्यादा ज़रूरत होती है. इसलिए, इसका इस्तेमाल सोच-समझकर करना चाहिए. कई मामलों में, 2x एनिसोट्रॉपिक फ़िल्टरिंग के साथ बाइलीनियर फ़िल्टरिंग, 1x एनिसोट्रॉपिक फ़िल्टरिंग के साथ ट्राइलिनियर फ़िल्टरिंग की तुलना में बेहतर दिखती है और बेहतर परफ़ॉर्म करती है. ऐनिसोट्रॉपिक फ़िल्टरिंग के लेवल को 2x से ज़्यादा बढ़ाने पर, परफ़ॉर्मेंस पर बहुत बुरा असर पड़ता है. इसलिए, गेम की ज़रूरी ऐसेट के लिए ही इसका इस्तेमाल करना चाहिए.
टेक्सचर फ़िल्टरिंग में, जीपीयू की कुल ऊर्जा खपत का आधा हिस्सा लग सकता है. इसलिए, जहां भी हो सके वहां आसान टेक्सचर फ़िल्टर चुनना, गेम की पावर की ज़रूरतों को कम करने का एक बेहतरीन तरीका है.
टेक्सचर के साइज़ को ऑप्टिमाइज़ करना
पक्का करें कि टेक्सचर के डाइमेंशन कम से कम हों, ताकि आपको अपनी पसंद के मुताबिक इमेज क्वालिटी मिल सके. अपनी टेक्सचर ऐसेट की समीक्षा करें, ताकि यह पता चल सके कि कहीं गलती से बड़े टेक्सचर तो नहीं जोड़ दिए गए हैं. यह सिद्धांत, अलग-अलग और ऐटलस टेक्सचर, दोनों पर लागू होता है. अगर आपका गेम, अलग-अलग रिज़ॉल्यूशन और परफ़ॉर्मेंस की क्षमताओं वाले कई डिवाइसों पर काम करता है, तो डिवाइस की क्लास के हिसाब से, अपनी टेक्सचर ऐसेट के लो और हाई रिज़ॉल्यूशन वाले वर्शन बनाएं.
अगर किसी मेश को रेंडर करते समय उसके मटीरियल में कई टेक्सचर का इस्तेमाल किया जाता है, तो कुछ टेक्सचर का रिज़ॉल्यूशन कम करें. उदाहरण के लिए, 1024x1024 के डिफ़्यूज़ टेक्सचर का इस्तेमाल करते समय, रफ़नेस या मेटैलिक मैप टेक्सचर को 512x512 पर कम किया जा सकता है. इससे इमेज की क्वालिटी पर बहुत कम असर पड़ेगा. साइज बदलने से जुड़े सभी एक्सपेरिमेंट के असर की पुष्टि करें. इससे यह पक्का किया जा सकेगा कि इमेज की क्वालिटी पर कोई असर न पड़े.
सही कलर स्पेस का इस्तेमाल करना
टेक्सचर ऑथरिंग के लिए इस्तेमाल किए जाने वाले कई सॉफ़्टवेयर पैकेज, sRGB कलर स्पेस में काम करते हैं और इसी का इस्तेमाल करके एक्सपोर्ट करते हैं. डिफ़्यूज़ टेक्सचर, जिन्हें रंग के तौर पर प्रोसेस किया जाता है, sRGB कलर स्पेस का इस्तेमाल कर सकते हैं. ऐसे टेक्सचर जिन्हें रंग के तौर पर प्रोसेस नहीं किया जाता, जैसे कि मेटैलिक, रफ़नेस या सामान्य मैप को sRGB कलर स्पेस में एक्सपोर्ट नहीं किया जाना चाहिए.
गेम इंजन की टेक्सचर सेटिंग में, यह तय करने के लिए एक पैरामीटर शामिल होता है कि कोई टेक्सचर sRGB कलर स्पेस का इस्तेमाल करता है या नहीं.

इस तरह की बनावट के पिक्सल डेटा का इस्तेमाल रंग के डेटा के तौर पर नहीं किया जाता. इसलिए, sRGB कलर स्पेस का इस्तेमाल करने पर गलत विज़ुअल दिखेंगे.

टेक्स्चर कंप्रेस करने की सुविधा का इस्तेमाल करना
टेक्सचर कंप्रेस करने का एल्गोरिदम, बिना कंप्रेस किए गए पिक्सल डेटा पर लागू होता है. इससे एक ऐसा टेक्सचर मिलता है जिसे रेंडरिंग के दौरान, ग्राफ़िक्स हार्डवेयर की मदद से तुरंत डीकंप्रेस किया जा सकता है. टेक्स्चर कंप्रेस करने की सुविधा का बेहतर तरीके से इस्तेमाल करने पर, मेमोरी का इस्तेमाल कम किया जा सकता है. साथ ही, विज़ुअल क्वालिटी पर कम असर पड़ने के साथ-साथ परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. Android पर, टेक्सचर कंप्रेस करने के तीन एल्गोरिदम सबसे ज़्यादा इस्तेमाल किए जाते हैं: ETC1, ETC2, और ASTC. आम तौर पर, नए गेम के लिए एएसटीसी सबसे अच्छा प्राइमरी विकल्प होता है. अगर आपका गेम ऐसे डिवाइसों को टारगेट करता है जिन पर एएसटीसी काम नहीं करता है, तो ईटीसी2 को फ़ॉलबैक विकल्प के तौर पर इस्तेमाल किया जा सकता है.
ETC1
ETC1, Android के सभी डिवाइसों पर काम करता है. ETC1, RGB कलर डेटा के सिर्फ़ एक मोड के साथ काम करता है. इस मोड में, हर पिक्सल के लिए चार बिट होते हैं. ETC1 फ़ॉर्मैट में ऐल्फ़ा चैनल काम नहीं करते. ETC1 फ़ॉर्मैट के साथ काम करने वाले कई गेम इंजन, दूसरे ETC1 टेक्सचर को अल्फा चैनल डेटा दिखाने के लिए इस्तेमाल करने की अनुमति देते हैं.
ETC2
ETC2, 90% से ज़्यादा ऐक्टिव Android डिवाइसों पर काम करता है. बहुत पुराने डिवाइसों पर ETC2 का इस्तेमाल नहीं किया जा सकता. ऐसा इसलिए, क्योंकि इन डिवाइसों पर OpenGL ES 3.0 API काम नहीं करता. ETC1 की तुलना में, ETC2 में ये सुविधाएं जोड़ी गई हैं:
- ऐल्फ़ा चैनल के साथ काम करता है. इसमें आठ बिट और सिंगल बिट ‘पंचथ्रू’ दोनों शामिल हैं
- आरजीबी और आरजीबीए टेक्सचर के sRGB वर्शन
- एक और दो चैनल, R11 और RG11, टेक्सचर
ASTC
ASTC, 75% से ज़्यादा ऐक्टिव Android डिवाइसों पर काम करता है. ASTC में कॉन्फ़िगर किए जा सकने वाले कंप्रेसर ब्लॉक साइज़ होते हैं. इससे आपको किसी टेक्सचर के लिए, इमेज क्वालिटी और कंप्रेसर रेशियो को बेहतर तरीके से कंट्रोल करने की सुविधा मिलती है. ASTC, अक्सर ETC2 के बराबर मेमोरी साइज़ में बेहतर क्वालिटी हासिल कर सकता है. इसके अलावा, यह ETC2 के मुकाबले कम मेमोरी साइज़ में उतनी ही क्वालिटी हासिल कर सकता है.

टेक्सचर कंप्रेस करने की स्पीड
अगर आपके गेम में बहुत सारे टेक्सचर हैं, तो टेक्सचर कंप्रेस होने में ज़्यादा समय लग सकता है. ईटीसी और एएसटीसी, दोनों में कंप्रेस करने की क्वालिटी की सेटिंग चुनी जा सकती हैं. बेहतर क्वालिटी वाली सेटिंग में, वीडियो को कंप्रेस करने में ज़्यादा समय लगता है. डेवलपमेंट के दौरान, कंप्रेस होने में लगने वाला समय कम करने के लिए, क्वालिटी लेवल को कम किया जा सकता है. साथ ही, ज़रूरी बिल्ड बनाने से पहले, क्वालिटी लेवल को बढ़ाया जा सकता है.
गेम इंजन में टेक्सचर कंप्रेस करने की सुविधा
अगर गेम इंजन का इस्तेमाल किया जा रहा है, तो आपको प्रोजेक्ट लेवल पर टेक्सचर कंप्रेस करने का फ़ॉर्मैट (ETC या ASTC) चुनना पड़ सकता है. ज़्यादा से ज़्यादा डिवाइसों के साथ काम करने के लिए, कंप्रेस करने के कई फ़ॉर्मैट इस्तेमाल किए जा सकते हैं. इसके लिए, आपको कुछ और काम करना पड़ सकता है. Google Play की ऐसेट डिलीवरी की सुविधा में मौजूद, टेक्सचर कंप्रेस करने के फ़ॉर्मैट को टारगेट करने की सुविधा का इस्तेमाल करके, अपने गेम में कई फ़ॉर्मैट शामिल किए जा सकते हैं. साथ ही, इंस्टॉल करने के समय किसी डिवाइस पर सिर्फ़ सबसे सही फ़ॉर्मैट डिलीवर किया जा सकता है.
यूवी अनरैप करें
यूवी आइलैंड को जितना हो सके उतना सीधा रखें. इससे टेक्सचर को इन तरीकों से बेहतर बनाने में मदद मिलती है:
- यूवी आइलैंड को पैक करना आसान होता है. इससे कम जगह बर्बाद होती है.
- सीधे यूवी से, टेक्सचर पर ‘सीढ़ी जैसा इफ़ेक्ट’ कम हो जाता है.
- यूवी पैकिंग अच्छी होने पर, टेक्सचर से सबसे अच्छा रिज़ॉल्यूशन मिलता है.
- टेक्सचर की क्वालिटी बेहतर होती है. भले ही, यूवी को सीधा करने की वजह से उनमें थोड़ा बदलाव हो गया हो.

मॉडल पर टेक्सचर की सीम दिखने से, इमेज खराब लगती है. यूवी सीम को ऐसी जगहों पर रखें जहां वे कम दिखें. बेहतर नॉर्मल मैप बनाने के लिए, यूवी आइलैंड को वहां से अलग करें जहां किनारे शार्प हों. साथ ही, आइलैंड के चारों ओर कुछ जगह छोड़ें.
ऐसी जानकारी शामिल न करें जिसे समझना मुश्किल हो
आर्ट बनाते समय, ऐसी जानकारी न जोड़ें जो दिखेगी नहीं. खास तौर पर, छोटी स्क्रीन वाले डिवाइसों के लिए डिज़ाइन किए गए गेम में. किसी कमरे के कोने में मुश्किल से दिखने वाली छोटी कुर्सी के मॉडल के लिए, 4096x4096 का जटिल टेक्सचर बनाने का कोई मतलब नहीं है. कुछ मामलों में, शेप को बेहतर तरीके से दिखाने के लिए, आपको किनारों को बड़ा करना पड़ सकता है. इसके लिए, आपको ज़्यादा हाइलाइट जोड़नी होंगी और शेडिंग करनी होगी.

बेक करने की जानकारी
मोबाइल डिवाइसों की स्क्रीन छोटी होती है. साथ ही, इनमें पर्सनल कंप्यूटर या गेमिंग कंसोल की तुलना में कम पावर वाला ग्राफ़िक्स हार्डवेयर होता है. रनटाइम के दौरान, ऐंबियंट ऑक्लूज़न या स्पेक्युलर हाइलाइटिंग जैसे इफ़ेक्ट का हिसाब लगाने के बजाय, जब भी हो सके, उन्हें डिफ़्यूज़ टेक्सचर में ‘बेक’ करें. इससे परफ़ॉर्मेंस बेहतर होती है और आपकी जानकारी दिखती है.

कलर टिंटिंग की सुविधा का इस्तेमाल करना
अगर आपके पास कस्टम शेडर बनाने की सुविधा है और आपके पास ऐसे मेश हैं जिनकी कलर स्कीम एक जैसी या एक समान है, तो लागू होने वाले मेश पर कलर टिंटिंग का इस्तेमाल करें. कलर टिंटिंग में, ग्रेस्केल टेक्सचर का इस्तेमाल किया जाता है. इसमें आरजीबी टेक्सचर की तुलना में कम मेमोरी लगती है. शेडर, हर वर्टेक्स के हिसाब से रंग का डेटा लागू करता है, ताकि मेश को रंग दिया जा सके. टिंट करने का एक और तरीका है. इसके लिए, आरजीबी मास्क का इस्तेमाल करें और मास्क की कलर रेंज के आधार पर टेक्सचर लागू करें.

पैक टेक्सचर चैनल
एक से ज़्यादा टेक्सचर वाले मटीरियल को रेंडर करते समय, ऐसे टेक्सचर को एक साथ जोड़ने के विकल्प देखें जो सिर्फ़ एक कलर चैनल का इस्तेमाल करते हैं. इन्हें एक ऐसे टेक्सचर में जोड़ें जो तीनों कलर चैनल का इस्तेमाल करता हो. इससे मेमोरी का इस्तेमाल कम होता है. साथ ही, फ़्रैगमेंट शेडर से किए गए टेक्सचर सैंपलर ऑपरेशन की संख्या कम हो जाती है.

पैकिंग करते समय, सबसे ज़्यादा जानकारी वाले डेटा को हरे चैनल में असाइन करें. मानव आंखें, हरे रंग के लिए ज़्यादा संवेदनशील होती हैं. इसलिए, ग्राफ़िक्स हार्डवेयर आम तौर पर हरे रंग के चैनल को ज़्यादा बिट असाइन करता है. उदाहरण के लिए, खुरदरेपन/चिकनेपन वाले मैप में आम तौर पर, धातु के मैप की तुलना में ज़्यादा जानकारी होती है. इसलिए, इसे हरे चैनल को असाइन करना बेहतर विकल्प है.
अगर आपको ऐल्फ़ा चैनल का इस्तेमाल करने वाले मटीरियल के लिए, पैक की गई टेक्सचर में सिर्फ़ दो चैनलों का इस्तेमाल करना है, तो डिफ़्यूज़ टेक्सचर के बजाय पैक की गई टेक्सचर में ऐल्फ़ा चैनल का डेटा डालें. डिफ़्यूज़ टेक्सचर के फ़ॉर्मैट के आधार पर, इससे आपको इसका साइज़ कम करने या ऐल्फ़ा चैनल डेटा को हटाने से इसकी विज़ुअल क्वालिटी बढ़ाने में मदद मिल सकती है.

पक्का करें कि आपके पैक किए गए टेक्सचर, लीनियर आरजीबी कलर स्पेस पर सेट हों, न कि sRGB पर.
सामान्य मैप बनाना
नॉर्मल मैपिंग एक ऐसी तकनीक है जिसकी मदद से, किसी 3D मॉडल को ज़्यादा जानकारी वाला दिखाया जा सकता है. इसके लिए, अतिरिक्त ज्यामिति का इस्तेमाल नहीं किया जाता. झुर्रियों या बोल्ट जैसी सुविधाओं को मॉडल बनाने के लिए, कई त्रिकोणों की ज़रूरत पड़ सकती है. हालांकि, नॉर्मल मैप का इस्तेमाल करके इन्हें सिम्युलेट किया जा सकता है. आर्ट स्टाइल और गेम की दिशा के आधार पर, सामान्य मैपिंग सही हो सकती है और नहीं भी.

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


मेश के नाम के हिसाब से बेकिंग मैचिंग
अगर आपका बेकिंग सॉफ़्टवेयर इस सुविधा के साथ काम करता है, तो मेश के नाम के हिसाब से बेकिंग करें. इस सुविधा से, गलत नॉर्मल मैप प्रोजेक्शन की समस्या को कम किया जा सकता है. जब ऑब्जेक्ट एक-दूसरे के बहुत पास होते हैं, तो हो सकता है कि वे गलती से अपने सामान्य मैप को गलत फ़ेस पर प्रोजेक्ट कर दें. मेश के नाम के हिसाब से मैच करने पर, बेकिंग सिर्फ़ सही सतह पर होती है. Substance Painter में इस सुविधा के बारे में ज़्यादा जानने के लिए, यह पेज देखें. Marmoset Toolbag में इस सुविधा के बारे में ज़्यादा जानने के लिए, यह पेज देखें.
मेश को अलग-अलग करना
अगर बेकिंग करते समय, मेश के नाम से मैच नहीं किया जा सकता, तो अपने मेश को एक्सप्लोड करें. मेश को अलग-अलग हिस्सों में बांटने से, उसके हिस्से एक-दूसरे से दूर हो जाते हैं. इससे नॉर्मल मैप, गलत जगह पर प्रोजेक्ट नहीं होता. अगर आपको ऐंबियंट ऑक्लूज़न के लिए भी बेकिंग करनी है, तो आपको बिना एक्सप्लोड किए गए मेश के साथ अलग से बेकिंग करनी पड़ सकती है.

सीम को कम करें
कठोर किनारों पर लगातार यूवी की वजह से, सीम दिखेंगी. इस असर को कम करने के लिए, कठोर किनारों पर यूवी को स्प्लिट करें. स्मूदिंग ग्रुप सेट करते समय, कोण को 90 डिग्री से कम रखें. यूवी सीम के लिए, ट्राएंगल पर अलग स्मूदिंग ग्रुप होना चाहिए.