यह लेख कुछ उपयोगी स्पष्टीकरण देता है, भले ही वह 4.3 से पहले आया हो:
यदि आप "पिक्सेल आर्ट" के लिए जा रहे हैं तो कैमरे का ऑर्थोग्राफ़िक आकार महत्वपूर्ण महत्व का है; यह एकता में 2 डी नौकायन का सबसे पेचीदा हिस्सा है।
ऑर्थोग्राफिक आकार व्यक्त करता है कि कैमरा प्रक्षेपण के शीर्ष आधे हिस्से में कितनी विश्व इकाइयां निहित हैं। उदाहरण के लिए, यदि आप 5 का ऑर्थोग्राफ़िक आकार सेट करते हैं, तो व्यूपोर्ट के ऊर्ध्वाधर विस्तार में दुनिया की अंतरिक्ष की ठीक 10 इकाइयाँ होंगी। (क्षैतिज विस्तार प्रदर्शन पहलू अनुपात पर निर्भर हैं।)
याद रखें कि आपका स्प्राइट क्वाड 1 यूनिट है। इसका मतलब है कि ऑर्थोग्राफिक आकार आपको बताता है कि आप व्यूपोर्ट में कितने स्प्राइट्स खड़ी कर सकते हैं (2 से विभाजित)।
पिक्सेल-आर्ट लुक को सफाई से प्रस्तुत करने के लिए, आपको यह सुनिश्चित करने की आवश्यकता है कि स्प्राइट के स्रोत बनावट के नक्शे के प्रत्येक 1: 1 को व्यूपोर्ट डिस्प्ले में दिखाया गया है। आप स्रोत पिक्सेल को छोड़ दिया जाना या दोगुना नहीं होना चाहते हैं, या आपके स्प्राइट विकृत और "गंदे" दिखेंगे। इसे 1: 1 अनुपात सुनिश्चित करने की चाल एक ऑर्थोग्राफ़िक आकार सेट करने के लिए है जो आपके ऊर्ध्वाधर स्क्रीन रिज़ॉल्यूशन को स्प्राइट की पिक्सेल ऊंचाई से विभाजित करता है।
मान लें कि आप 960x640 पर चल रहे हैं, और आप 64x64 स्प्राइट का उपयोग कर रहे हैं। एक स्प्राइट (64) पैदावार की पिक्सेल ऊंचाई द्वारा ऊर्ध्वाधर स्क्रीन रिज़ॉल्यूशन (640) को विभाजित करने पर, 64x64 स्प्राइट्स की संख्या जो लंबवत रूप से 640 पिक्सेल में खड़ी हो सकती है। याद रखें कि ऑर्थोग्राफ़िक आकार एक आधा-ऊंचाई है, इसलिए इस मामले में आपका लक्ष्य ऑर्थोग्राफ़िक आकार 5 (10 का एक आधा) होने वाला है। इसे ऐसा दिखना चाहिए:
यदि आप अपने ऑर्थोग्राफ़िक आकार को आधा या दो बार सेट करते हैं, तो आप अभी भी प्रयोग करने योग्य परिणाम प्राप्त कर सकते हैं, क्योंकि स्प्राइट का ऊर्ध्वाधर आकार अभी भी व्यूपोर्ट के ऊर्ध्वाधर आकार में समान रूप से विभाजित होगा। लेकिन यदि आप ऑर्थोग्राफ़िक आकार गलत तरीके से सेट करते हैं, तो आप कुछ पिक्सेल को छोड़ कर या दोगुना करके देखेंगे, और यह वास्तव में बहुत बुरा लगेगा:
चर संकल्प
स्वच्छ पिक्सेल कला को प्रस्तुत करने के लिए आपको एकल, निश्चित रिज़ॉल्यूशन तक सीमित रखने की आवश्यकता नहीं है। चर रिज़ॉल्यूशन को संभालने का सबसे सरल तरीका अपने कैमरे में एक कस्टम स्क्रिप्ट संलग्न करना है जो वर्तमान ऊर्ध्वाधर रिज़ॉल्यूशन और ज्ञात (निश्चित) स्प्राइट आकार के अनुसार ऑर्थोग्राफ़िक आकार सेट करता है :
// set the camera to the correct orthographic size
// (so scene pixels are 1:1)
s_baseOrthographicSize = Screen.height / 64.0f / 2.0f;
Camera.main.orthographicSize = s_baseOrthographicSize;
जबकि यह एक साधारण फिक्स है, इसमें एक खामी है: जैसा कि स्क्रीन रिज़ॉल्यूशन कम हो जाता है, आप दुनिया के कम और कम देखेंगे, और स्प्राइट स्क्रीन के अधिक से अधिक भाग लेंगे। स्रोत और स्क्रीन पिक्सल के बीच 1: 1 अनुपात रखने का परिणाम है: 1920x1200 पर 64x64 स्प्राइट 640x480 पर अधिक स्पष्ट स्थान लेता है। यह एक समस्या है या नहीं यह आपके विशिष्ट खेल की जरूरतों पर निर्भर करता है।
यदि आप चाहते हैं कि आपका स्प्राइट स्क्रीन रिज़ॉल्यूशन की परवाह किए बिना उसी स्पष्ट आकार का बना रहे, तो बस ऑर्थोग्राफ़िक आकार को एक निश्चित मान पर सेट करें और स्क्रीन रिज़ॉल्यूशन की परवाह किए बिना इसे वहां छोड़ दें। वहाँ दोष यह है कि आपके स्प्राइट्स में अब 1: 1 स्रोत-टू-स्क्रीन पिक्सेल अनुपात नहीं होगा। आप केवल उन प्रस्तावों के प्रभाव को कम कर सकते हैं, जो केवल आधे या केवल अपने लक्ष्य के संकल्प को दोगुना कर सकते हैं।
(कुछ जोर दिया)
यह स्पष्ट रूप से बेहतर काम करता है यदि ऊंचाई रिज़ॉल्यूशन स्प्राइट आकार से विभाज्य है, लेकिन तब भी जब यह नहीं है, यह अभी भी एक सभ्य परिणाम का एक अच्छा अनुमान देता है।
TL; DR :cameraSelf.orthographicSize = screenH / (float)spriteSize / 2f;