मैं स्तर संपादक में लंबन परतों की कल्पना कैसे करूँ?


9

मैं यूनिटी में 2 डी गेम बना रहा हूं, लेकिन यह किसी भी 2 डी गेम इंजन पर लागू होगा।

यदि मैं ऑर्थोग्राफ़िक कैमरों के साथ मल्टीप्लेन लंबन को लागू करता हूं, तो पृष्ठभूमि की परत के स्प्राइट्स को बाहर करना मुश्किल है और पता है कि वे अन्य परतों में स्प्राइट्स के साथ कहां लाइन लगाएंगे।

मेरी पहली वृत्ति कई कैमरों का उपयोग करने के लिए थी, प्रत्येक परत के लिए एक, और पृष्ठभूमि परतों के लिए कैमरों की गति को कम करना। यह सभी पृष्ठभूमि को स्थानांतरित करने से बचा जाता है हर फ्रेम को छिड़कता है। समस्या यह है कि एक परत जो आधी गति से चलती है, संपादक में देखे जाने पर मुख्य परत का आधा स्थान ले लेगी। इसलिए यह जानना मुश्किल है कि आप गेम को कहां से बाहर निकाल रहे हैं। जब आप परतों की संख्या बढ़ाते हैं तो समस्या तेजी से खराब होती है।

मैं इसके आसपास कैसे पहुंचू? मैंने एडिटर में उनके साथ काम करते समय उनकी इच्छित गति के आधार पर परतों को स्केल करने की कोशिश की है। यह सभी पृष्ठभूमि को मुख्य परत के सापेक्ष सही स्थानों पर रखता है, लेकिन वे बुरी तरह विकृत हैं।

क्या मुझे सिर्फ इसे चूसने और लगातार संपादक और लंबित पृष्ठभूमि का परीक्षण करने के लिए चल रहे खेल के बीच स्विच करने की आवश्यकता है?


4
जब मैंने इस तरह का खेल किया तो मैंने इसे सिर्फ इसलिए बनाया ताकि आप कैमरे को संपादक के चारों ओर खींच सकें और आप देख सकें कि कैसे लंबन ने काम किया। मुझे यकीन नहीं हो रहा है कि यूनिटी में ऐसा कुछ विशेष रूप से कैसे किया जाता है।
तेतराड

जवाबों:


1

मैं एकता से अपरिचित हूं, इसलिए मैं आपको बारीकियों के साथ मदद नहीं कर सकता, लेकिन यह लगता है कि आपको जो आवश्यक है, वह रन-टाइम के दौरान उन मानों को ठीक करने के लिए एक GUI को लागू करने के लिए है, जैसे कि, स्लाइडर्स या न्यूमेरिक फ़ील्ड का एक सेट। रन-टाइम के दौरान जो भी मान आप निर्धारित कर रहे हैं (स्केल, गति, आदि) को बदलने के लिए फ़ील्ड्स को लागू करना काफी सरल होगा जो आपको तत्काल प्रतिक्रिया देता है। नियुक्ति के लिए, आप क्लिक-ड्रैगिंग के साथ या तो फ़ील्ड या मैन्युअल प्लेसमेंट का उपयोग कर सकते हैं (जिसे लागू करना थोड़ा कठिन हो सकता है, लेकिन बहुत अधिक सहज)।

यह आपको एक छोटे से बदलाव के लिए कोड को संकलित और चलाने के बिना पूरा नियंत्रण देता है। जब आप अंततः एक नज़र में पहुंचते हैं और महसूस करते हैं कि आप किससे खुश हैं, तो उन मूल्यों का अपनी सूची में उपयोग करें। यदि यह आपके द्वारा संपादित किए जा रहे चरों की संख्या के कारण बहुत अधिक चुनौतीपूर्ण है (जैसे, कई स्तरों में कई स्प्राइट स्थान), तो आप इसे एक स्तर के संपादक में लागू करना चाहते हैं, मुझे लगता है, मैनुअल समायोजन की समान कार्यक्षमता के साथ लेकिन समायोजित किए गए डेटा को बनाने और संग्रहीत करने का परिणाम।


हाँ, ऐसा लगता है कि एक स्तर के संपादक का उपयोग करना सबसे अच्छा तरीका है, चाहे वह आपका खुद का कोडिंग हो, या मेरे मामले में एकता का, मौजूदा संपादक के साथ काम करने का। मैंने प्रत्येक परत के लिए एक अलग कैमरा ऑब्जेक्ट के साथ अपने लंबन सेटअप को कोडित किया, और प्रत्येक कैमरे को मुख्य कैमरे के फ्रेम के सापेक्ष उचित रूप से स्थानांतरित किया गया। फिर संपादक में मुख्य कैमरा खींचे जाने पर भी उन्हें अपडेट करने के लिए [ExecuteInEditMode] का उपयोग करें। मुझे केवल मुख्य कैमरे को सीधे स्थानांतरित करने के लिए याद रखने की आवश्यकता है।
TenFour04

1

एक विचार: मुझे लगता है कि सामने की परत के लिए एक कैमरा पर्याप्त है। Z समतल पर उस से थोड़ी दूरी पर स्प्रिट रखने से, और दूरी तय करने से आपको उस बैक लेयर को स्थानांतरित करने के लिए एक अंश मिलता है।

उदाहरण के लिए, फ्रंट कैमरा से एक वस्तु दूरी 10 पृष्ठभूमि की परत में 1/10 चलती है। दूरी 2 की एक वस्तु, अपनी संबंधित परत में 1/2 को स्थानांतरित करेगी, आदि।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.