संक्षेप में: कठोर सीवनें जहाँ एक मटीरियल दूसरे से मिलता है (घास चट्टान से टकराती, कीचड़ पत्थर से मिलता) एक शौकिया वातावरण के सबसे बड़े संकेतकों में से एक हैं। वर्टेक्स पेंटिंग उन सीवनों को मिटाने के लिए मटीरियल को सीधे एक मेश पर ब्लेंड करती है, और एक "height blend" संक्रमण को एक फ़ेड के बजाय प्राकृतिक दिखाता है। यह लेख समझाता है कि वर्टेक्स ब्लेंडिंग कैसे काम करती है, वह height-blend तरकीब जो अच्छे संक्रमणों को कीचड़ भरे से अलग करती है, इसे कहाँ पेंट करें, रनटाइम पर क्या खर्च होता है, और यह डिकल और टाइलिंग टेक्सचर के साथ कैसे फ़िट होती है।
प्रकृति के कोई कठोर किनारे नहीं होते। जहाँ पानी गाद से गाद घास से मिलती है, संक्रमण अनियमित और आपस में गुँथा हुआ होता है: ठीक वही जो वर्टेक्स ब्लेंडिंग पुनः बनाती है ताकि आपके मटीरियल सीधी, स्पष्ट रेखाओं में मिलना बंद कर दें।
समस्या: सीवनें सब कुछ धोखा देती हैं
असली सतहें अनियमित रूप से संक्रमित होती हैं: घास बजरी में रेंगती है, कीचड़ नीचे के स्थानों में जमा होता है, काई चट्टान के छायादार तरफ़ चढ़ती है। दो मटीरियल के बीच एक कठोर सीधी रेखा तुरंत नक़ली पढ़ी जाती है, हर टेक्सचर कितना भी अच्छा हो।
आपके पास दो फ़ोटोरियल टेक्सचर हो सकते हैं और फिर भी एक वातावरण मिले जो ग़लत दिखता है, क्योंकि उनके बीच का संक्रमण वह जगह है जहाँ विश्वसनीयता रहती है। असली दुनिया में मटीरियल एक-दूसरे में प्रवेश करते हैं: मिट्टी दरारों में बह जाती है, घास एक रास्ते में पतली होती है, बर्फ़ कगारों पर जमती है। एक गेम सतह जो एक तीखे पॉलीगॉन किनारे के साथ घास से चट्टान में बदलती है, चिल्लाती है "टाइलों से बनी"। वर्टेक्स पेंटिंग उन किनारों को घोलने का प्राथमिक उपकरण है, मटीरियल को एक-दूसरे में यूँ बहने देती है जैसे वे बाहर करते हैं।
वर्टेक्स ब्लेंडिंग कैसे काम करती है
हर वर्टेक्स रंग/अल्फा डेटा संग्रहीत करता है; एक ब्लेंड मटीरियल उसे पढ़कर सतह भर में प्रति-पिक्सेल दो या अधिक टेक्सचर मिलाता है। वर्टेक्स डेटा को इंजन में पेंट करें और मटीरियल वहाँ संक्रमित होते हैं जहाँ आपने पेंट किया, बिना अतिरिक्त UV या ज्यामिति।
एक मेश पर हर वर्टेक्स थोड़ा अतिरिक्त डेटा ढो सकता है: वर्टेक्स रंग, आमतौर पर चार चैनल। एक ब्लेंड मटीरियल उस डेटा को एक मास्क के रूप में व्याख्या करता है: जहाँ चैनल मज़बूत है, मटीरियल A दिखाओ; जहाँ कमज़ोर है, मटीरियल B दिखाओ; और बीच में इंटरपोलेट करो। चूँकि आप वर्टेक्स डेटा को एडिटर में मॉडल पर सीधे पेंट करते हैं, आप संक्रमण को हाथ से नियंत्रित करते हैं, ठीक वहाँ जहाँ चाहें: दीवार के आधार के साथ कीचड़, फ़र्श के कोनों पर घिसाव, एक शिलाखंड के एक तरफ़ काई। यह अतिरिक्त UV सेट और जोड़ी गई ज्यामिति नहीं लेती (विवरण पेंट करने के लिए पर्याप्त वर्टेक्स रखने से परे), यही कारण है कि यह टेरेन और बड़े मेश के लिए वर्कहॉर्स ब्लेंडिंग तकनीक है।
height-blend तरकीब
अल्फा पर रेखीय रूप से ब्लेंड न करें: एक height map का उपयोग करके ब्लेंड करें ताकि ऊपरी मटीरियल पहले दरारें और नीचे के स्थान भरे। रेखीय ब्लेंडिंग एक नरम कीचड़ भरा फ़ेड देती है; height ब्लेंडिंग एक तीखा, प्राकृतिक, गुँथा हुआ संक्रमण देती है।
यह आपके ब्लेंड मटीरियल का एकल सबसे महत्वपूर्ण अपग्रेड है, और यही एक पेशेवर संक्रमण को धुँधले से अलग करता है। एक भोला ब्लेंड मास्क के साथ दो टेक्सचर के बीच रेखीय रूप से फ़ेड होता है, एक नरम, भूतिया ओवरलैप पैदा करता है जो Photoshop ग्रेडिएंट जैसा दिखता है। एक height blend के बजाय संक्रमण तय करने के लिए मटीरियल की ऊँचाई/विस्थापन जानकारी का उपयोग करता है: आने वाला मटीरियल ऊँचे बिंदुओं को ढकने से पहले पहले नीचे के क्षेत्रों: गारे की रेखाएँ, दरारें, गड्ढे: में जम जाता है, ठीक जैसे असली मिट्टी, रेत या बर्फ़ जमा होती है। परिणाम एक धुँधले फ़ेड के बजाय एक तीखी, अनियमित, विश्वसनीय सीमा है। यदि आपके ब्लेंड कीचड़ भरे दिखते हैं, ऊँचाई-आधारित संक्रमण जोड़ना लगभग हमेशा समाधान है।
एक जंगल का किनारा जंगल में एक ब्लेंड है: वृक्ष-रेखा एक रेखा पर नहीं रुकती, वह बिखरती और पतली होती है। ऊँचाई-आधारित वर्टेक्स ब्लेंडिंग एक साफ़ सीमा के बजाय उस दंतुरित, गुँथे संक्रमण को पुनः बनाती है।
इसे कहाँ पेंट करें
संक्रमण वहाँ पेंट करें जहाँ सतहें स्वाभाविक रूप से परस्पर क्रिया करती हैं: दीवारों का आधार (मिट्टी/नमी), फ़र्श के कोने और किनारे (घिसाव), चट्टान के छायादार तरफ़ (काई), नीचे के स्थान (कीचड़/पोखर), और जहाँ भी दो टेरेन परतें मिलती हैं।
वर्टेक्स ब्लेंडिंग उन जगहों पर सबसे अधिक फल देती है जहाँ आँख यथार्थवाद जाँचती है: संपर्क बिंदु और घिसाव क्षेत्र। कुछ उच्च-मूल्य स्थान जिन पर हमेशा विचार करें: दीवारों के आधार पर रेंगती मिट्टी और नमी; फ़र्श और सीढ़ियों के कोनों पर जहाँ पैर उतरते हैं, खरोंच और उजागर मटीरियल; चट्टानों के उत्तर/छायादार चेहरों पर काई और लाइकेन; सबसे नीचे बिंदुओं पर कीचड़ और ठहरा पानी; और एक भूदृश्य पर टेरेन परतों के बीच सीवनें। ये वही स्थान हैं जिन्हें एक कहानीकार सजाता है, क्योंकि यहीं एक जगह अपना इतिहास दिखाती है। इन्हें पेंट करें और एक साफ़, नई-दिखती किट अचानक अपक्षयित और असली पढ़ी जाती है।
प्रदर्शन और सीमाएँ
ब्लेंड मटीरियल प्रति-पिक्सेल अधिक खर्च करते हैं (वे कई टेक्सचर सेट सैंपल करते हैं), इसलिए उन्हें वहाँ उपयोग करें जहाँ संक्रमण मायने रखते हैं, हर जगह नहीं। वर्टेक्स विवरण मेश घनत्व से सीमित है: आप केवल उतना बारीक पेंट कर सकते हैं जितना आपके वर्टेक्स अनुमति दें।
ब्लेंडिंग मुफ़्त नहीं है: एक दो- या तीन-परत ब्लेंड मटीरियल प्रति-पिक्सेल कई टेक्सचर सैंपल करता है, इसलिए एकल मटीरियल से महँगा है। यह हीरो टेरेन और उन सतहों पर ठीक है जिन्हें कैमरा अध्ययन करता है, पर हर मेश पर एक चार-परत ब्लेंड को कंबल की तरह लगाना GPU बर्बाद करता है। दूसरी सीमा रिज़ॉल्यूशन है: वर्टेक्स पेंटिंग केवल उतनी विस्तृत हो सकती है जितना मेश घना है, इसलिए एक लो-पॉली दीवार एक बारीक पेंट किए संक्रमण को नहीं ढो सकती: यहीं डिकल आते हैं ताकि ऊपर छोटे पैमाने का विवरण जोड़ें। हर पैमाने पर सही उपकरण उपयोग करें: चौड़े संक्रमण के लिए वर्टेक्स ब्लेंड, तीखे स्थानीय विवरण के लिए डिकल।
यह अन्य उपकरणों के साथ कहाँ फ़िट होती है
वर्टेक्स ब्लेंड मध्यम-पैमाने का मटीरियल संक्रमण संभालती है; टाइलिंग टेक्सचर सस्ते में आधार विवरण देती हैं; डिकल तीखे स्थानीय फ़ीचर (दरारें, दाग़, रिसाव) जोड़ते हैं जो प्रति-वर्टेक्स पेंट करने के लिए बहुत बारीक हैं। वे ढेर हो जाते हैं।
इनमें से कोई भी उपकरण प्रतिस्पर्धा नहीं करता: वे परत बनाते हैं। टाइलिंग टेक्सचर आपको बड़ी सतहों पर किफ़ायती उच्च-आवृत्ति विवरण देती हैं। वर्टेक्स ब्लेंडिंग उन टाइलिंग मटीरियल को मिलाती है ताकि वे कठोर रेखाओं में न मिलें। डिकल फिर ऊपर बैठते हैं उन विशिष्ट, तीखे विवरणों के लिए जिन तक वर्टेक्स रिज़ॉल्यूशन नहीं पहुँच सकता: एक दरार, एक झुलसन, एक सीवन के ऊपर एक पानी का दाग़। एक परिपक्व वातावरण सतह आमतौर पर तीनों एक साथ होती है। एक विश्वसनीय मटीरियल ब्लेंडिंग को एक गेम में लाना (और इसे मानक इंजन मटीरियल में बेक कराना ताकि रनटाइम पर कुछ भी अप्रत्याशित न खर्च हो) ठीक उसी तरह का सतह-काम है जिसे Numivo दिनचर्या बनाने के लिए बनाया गया है, ताकि सीवनें दो मटीरियल की हर मुलाक़ात के लिए एक अनुकूलित शेडर के बिना गायब हो जाएँ।
चुराने योग्य फ़ील्ड संख्याएँ
- कीचड़ भरे ब्लेंड ठीक करने वाला अपग्रेड: height blend, रेखीय अल्फा नहीं
- वर्टेक्स-पेंट विवरण की छत = मेश वर्टेक्स घनत्व: घना मेश, बारीक पेंट
- सर्वोच्च-मूल्य पेंट क्षेत्र: दीवार आधार, फ़र्श किनारे, छायादार चट्टान, नीचे के स्थान
- ब्लेंड मटीरियल की लागत सैंपल की गई परतों के साथ बढ़ती है: बहु-परत ब्लेंड हीरो सतहों के लिए आरक्षित रखें
- पूरा स्टैक: स्थानीय विवरण के लिए टाइलिंग आधार → वर्टेक्स ब्लेंड → डिकल
मिनी-FAQ
टेरेन के लिए वर्टेक्स पेंटिंग बनाम splat/वेट मैप? वही विचार, अलग भंडारण: टेरेन अक्सर वर्टेक्स रंगों के बजाय लेयर वेट मैप (एक टेक्सचर मास्क) उपयोग करता है, जो विवरण को मेश घनत्व से अलग करता है। मेश वर्टेक्स रंग उपयोग करते हैं; बड़े टेरेन अक्सर लेयर मैप उपयोग करते हैं। height-blend सिद्धांत दोनों पर लागू होता है।
मेरा ब्लेंड नरम और कीचड़ भरा क्यों दिखता है? आप लगभग निश्चित रूप से अल्फा पर रेखीय रूप से ब्लेंड कर रहे हैं। एक ऊँचाई/विस्थापन-चालित ब्लेंड पर स्विच करें ताकि संक्रमण पहले नीचे के क्षेत्रों में जमे, और नरमी एक तीखे, प्राकृतिक किनारे में बदल जाती है।
कितनी ब्लेंड परतें बहुत ज़्यादा हैं? दो सस्ती हैं और अधिकांश संक्रमण कवर करती हैं; तीन टेरेन के लिए सामान्य हैं; चार-प्लस महँगी और बनाने में कठिन हो जाती हैं। यदि आपको अधिक चाहिए, सवाल करें कि क्या डिकल या दूसरा मटीरियल बेहतर काम करेगा।
क्या मुझे इसके लिए एक कस्टम शेडर चाहिए? ब्लेंड लॉजिक इतना मानक है कि अधिकांश इंजन और टूलसेट इसे प्रदान करते हैं, और सादे इंजन मटीरियल में बेक करना रनटाइम लागत को पूर्वानुमेय रखता है। आपको शायद ही कभी अनुकूलित शेडर कोड चाहिए: आपको height-blend सेटअप और पेंट करने के लिए एक समझदार जगह चाहिए।
सीवनें वह जगह हैं जहाँ विश्वसनीय वातावरण जीते या हारे जाते हैं। अपने संक्रमण वहाँ पेंट करें जहाँ सतहें सचमुच परस्पर क्रिया करती हैं, एक सपाट फ़ेड के बजाय ऊँचाई से ब्लेंड करें, और इसके चारों ओर टाइलिंग और डिकल ढेर करें, और आपके मटीरियल यूँ मिलेंगे जैसे वे दुनिया में करते हैं: अनियमित रूप से, गुँथे हुए, और एक भी धोखा देने वाली सीधी रेखा के बिना।

