नीचे दी गई छवि एक पृष्ठभूमि के शीर्ष पर बिंदु नमूने के साथ प्रदान किए गए दो स्प्राइट्स दिखाती है:
- बाईं खोपड़ी में इसके ऊपर कोई घुमाव / स्केलिंग नहीं है, इसलिए प्रत्येक पिक्सेल पृष्ठभूमि के साथ पूरी तरह से मेल खाता है।
- दाहिनी खोपड़ी को घुमाया / स्केल किया गया है, और इससे बड़े पिक्सेल निकलते हैं जो अब अक्ष संरेखित नहीं हैं ।
मैं एक पिक्सेल शेडर कैसे विकसित कर सकता हूं जो कि शेष दृश्य के समान आकार के धुरी वाले पिक्सेल के साथ दायीं ओर तब्दील स्प्राइट को प्रस्तुत करेगा?
यह संबंधित हो सकता है कि बंदर द्वीप जैसे पुराने खेलों में स्प्राइट स्केलिंग कैसे लागू किया गया था, क्योंकि यह वह प्रभाव है जिसे मैं प्राप्त करने की कोशिश कर रहा हूं, लेकिन रोटेशन के साथ जोड़ा गया।
संपादित करें
काओड के सुझावों के अनुसार, मैंने समस्या को पोस्ट-प्रोसेस के रूप में संबोधित करने का प्रयास किया। सबसे आसान तरीका यह था कि पहले एक अलग रेंडर टारगेट को प्रस्तुत किया जाए (वांछित पिक्सेल आकार से मेल खाने के लिए) और फिर दूसरी बार रेंडर करने पर इसे अपस्केल किया जाए। यह ऊपर मेरी आवश्यकताओं को संबोधित किया था।
पहले मैंने इसे करने की कोशिश की Linear -> Point
और नतीजा यह निकला:
कोई विकृति नहीं है, लेकिन परिणाम धुंधला दिखता है और यह अधिकांश हाइलाइट रंगों को खो देता है। मेरी राय में यह रेट्रो लुक को तोड़ता है जिसकी मुझे जरूरत थी।
दूसरी बार मैंने कोशिश की Point -> Point
और परिणाम यह रहा:
विकृति के बावजूद, मुझे लगता है कि यह मेरी जरूरतों के लिए काफी अच्छा हो सकता है, हालांकि यह गति की तुलना में स्थिर छवि के रूप में बेहतर दिखता है।
प्रदर्शन करने के लिए, यहाँ प्रभाव का एक वीडियो है, हालाँकि YouTube ने इसमें से पिक्सेल को फ़िल्टर किया है:
हालाँकि, मैं प्रश्न को कुछ और दिनों के लिए खुला छोड़ दूंगा जब कोई बेहतर नमूनाकरण समाधान के साथ आता है जो चलते समय विकृति की मात्रा को कम करते हुए कुरकुरे रूप को बनाए रखता है।
SpriteBatch
मुझे तत्काल मोड का उपयोग करने की आवश्यकता होती है, इसलिए यह परेशानी के लायक नहीं है। मैं इसके साथ जाऊँगा :)