आइसोमेट्रिक टाइल्स में एनिमेटेड दरवाजों से कैसे निपटें


10

मुझे एक मुश्किल मुद्दा मिल गया है मुझे यकीन नहीं है कि मैं सबसे अच्छा कैसे निपट सकता हूं: मेरे पास एक दरवाजे की एक एनिमेटेड टाइल है। जब यह बंद हो जाता है तो इसे एक तरह से सॉर्ट किया जाना चाहिए, लेकिन जब यह ओपन होगा तो इसे एक अलग तरीके से सॉर्ट करना होगा, क्योंकि यह एक अलग (पड़ोसी टाइल) से संबंधित है।

यहाँ दरवाजा बंद है:

बंद दरवाज़ा

और दरवाजा खोला:

दरवाजा खोला

मुझे लगता है कि ऐसी टाइलों के लिए छंटाई प्रणाली को ओवरराइड करना और फ्रेम के आधार पर छंटाई को समायोजित करना संभव होगा, लेकिन यह थोड़ा हैकी लगता है।

क्या किसी ने इसी तरह के परिदृश्य का सामना किया है? कोई सुरुचिपूर्ण समाधान?


2
आपकी सॉर्टिंग प्रणाली वर्तमान में टाइल्स के ड्रॉ ऑर्डर का पता कैसे लगाती है?
रॉय टी।

जवाबों:


4

हो सकता है कि आप अलग-अलग टाइलों पर दो वस्तुओं में से एक दरवाजा बना सकते हैं , और केवल एक समय में उनमें से एक दिखा सकते हैं। इस तरह, खोला गया दरवाजा गर्भधारण को भी अवरुद्ध कर सकता है, जो थोड़े यथार्थवादी लगता है।


4

तीन स्प्रिट बनाएं ...

  1. दरवाजा बंद (जैसे आपका पहला स्प्राइट) - ब्लॉक आंदोलन
  2. दरवाजे के सिर्फ फ्रेम (आपके मामले में पोस्ट), लेकिन कोई दरवाजा नहीं - आंदोलन को अवरुद्ध नहीं करता है
  3. बस खुली स्थिति में दरवाजा - ब्लॉक आंदोलन

जब दरवाजा बंद हो जाता है, तो स्प्राइट 1 को ड्रा करें, और इसे "अवरोधक" के रूप में व्यवहार करें ताकि खिलाड़ी इसके माध्यम से नहीं चल सकें।

जब दरवाजा खोला जाता है, तो उस स्प्राइट को # 2 (सिर्फ डोर पोस्ट) के साथ बदलें। इसके बाद आसन्न सेल में # 3 (सिर्फ दरवाजा) रखें जो दरवाजा अंदर होगा।

समापन केवल दरवाजे को हटा रहा है, और पोस्ट को बंद स्थिति में पोस्ट + दरवाजे के साथ बदल रहा है।

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

नकारात्मक पक्ष यह है कि आपके पास उस वर्ग में खिलाड़ी या कोई अन्य ऑब्जेक्ट नहीं हो सकता है जहां खोला गया दरवाजा जाएगा।


3

2 तरकीबें हैं जिनका मैं 2 डी में छंटाई के लिए उपयोग करता हूं:

  • स्प्राइट्स में ग्राउंड पोजीशन जोड़ें, यह एक ऐसा पॉइंट है जहां स्प्राइट जमीन को छूता है (स्प्र मेन्स फीट, ट्री ट्रंक, डोर फ्रेम) और स्प्राइट पिक्सल्स की जगह इसे सॉर्ट करता है। इस तरह से स्प्राइट एनीमेशन से प्रभावित नहीं होगा

  • वस्तुओं में गैर-छांटे जाने योग्य चिल्ड्स जोड़ें (फ़े पुरुषों के पास कई चिल्ड हो सकते हैं जो सॉर्टिंग को प्रभावित नहीं करते हैं - लबादा, धनुष, तलवार, आदि, दरवाजे के फ्रेम में बच्चा दरवाजा है)। इस तरह से बाल स्प्राइट का एनीमेशन या तो छंटाई को प्रभावित नहीं करता है।


1

वस्तुओं की छँटाई को हल करने का सबसे अच्छा तरीका है कि छँटाई न करें। यदि आप एक गहराई बफर का उपयोग करते हैं, तो आप एक पास में सब कुछ प्रस्तुत कर सकते हैं। जिन वस्तुओं का उच्च z- मान है, वे कम z- मान वाली वस्तुओं की तुलना में अधिक दूर होंगी।

यहां तक ​​कि अगर आपका गेम 2 डी है, तो आपको अभी भी एक गहन बफर के साथ 3 डी निर्देशांक का उपयोग करने पर विचार करना चाहिए, अन्यथा आप पेंटर के एल्गोरिथ्म के साथ हमेशा के लिए टैंगो करेंगे ।


सच है, लेकिन जेड स्थिति कैसे निर्धारित करें? केवल
छाँटकर

हाँ, लेकिन यह छँटाई अब ऑफ़लाइन होने के बजाय, रेंडरिंग के दौरान होती है। अब स्तरीय डिजाइनर ऑब्जेक्ट्स को क्लिपिंग के बारे में चिंता किए बिना, जेड मानों के साथ स्तर का निर्माण कर सकता है।
नाइट ६६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.