मैं पूर्व-निर्देशित 2D स्प्राइट्स को कैसे लागू कर सकता हूं जो किसी भी दिशा का सामना कर सकता है?


28

मैं Googling किया गया है कि कैसे गेम ऑफ क्लैश ऑफ क्लैन्स अपने सैनिकों को सौंपता है, और ऐसा प्रतीत होता है कि वे रन से पहले 2 डी स्प्राइट शीट्स को 3 डी मॉडल प्रदान कर रहे हैं, और रनटाइम पर उन 2 डी छवियों को रेंडर कर रहे हैं। हालांकि, क्लैश ऑफ क्लांस में सेना किसी भी दिशा का सामना कर सकती है।

मेरे समान गेम में, अगर मुझे हर एनीमेशन प्रकार के लिए प्रत्येक ओरिएंटेशन (0-360 डिग्री) के लिए एक छवि बनानी थी, तो उनके एनीमेशन में प्रत्येक फ्रेम में उन्हें भारी मात्रा में चित्र बनाने होंगे। मैं कल्पना नहीं कर सकता कि अन्य डेवलपर्स क्या कर रहे हैं, इसलिए मैं वास्तव में इसे कैसे पूरा कर सकता हूं?


2
जिस तकनीक का आप उल्लेख कर रहे हैं, उसे "बिलबोर्डिंग" कहा जाता है।
वीकर ई।

जवाबों:


45
  1. आमतौर पर 360 से कम दिशाएं होती हैं। सामान्य मामला 8 या 16 है। एनिमेशन बहुत कम हैं।

  2. स्वचालन आपका मित्र है। सूची से एक मॉडल को लोड करने के लिए एक ब्लेंडर / 3 डीमैक्स / आदि स्क्रिप्ट लिखें, इसे हर आवश्यक फ्रेम और छवि के लिए दिशा में प्रस्तुत करें। सामग्री के अनुसार छवियों को टैग करें और उन्हें गेम से संबोधित करें।

  3. तेजी से पहुंच के लिए सब कुछ बनावट एटलस (उर्फ स्प्राइट शीट) में पैक करें।

अंत में, आप कई दर्जन स्प्राइट्स के साथ समाप्त हो जाएंगे, बड़े करीने से केवल दर्जन भर एटलस में पैक किए जाएंगे। इतनी बड़ी बात नहीं;)

मुझे CoC से एक छवि नहीं मिली, लेकिन यहां डियाब्लो II है, जो वर्ण एनिमेशन के लिए एक ही दृष्टिकोण का उपयोग करता है। उदाहरण के लिए अमेज़न पर हमला:

यहाँ छवि विवरण दर्ज करें


4
रेंडरिंग पावर / टाइम बनाम स्टोरेज स्पेस और डाउनलोड टाइम का संतुलन।
एम। मिम्पेन

3
एक "एटलस" क्या है? कोई लिंक?
B27овиЈ

7
@ BasовиЈ "बनावट एटलस" के लिए देखो। यह बहुत सामान्य अवधारणा है।
क्रॉम्स्टर का कहना है कि मोनिका

2
यह ध्यान देने योग्य हो सकता है कि बर्फ़ीला तूफ़ान उत्तर के डेवलपर्स द्वारा इस तकनीक की चर्चा में, वे मूल रूप से इस निष्कर्ष पर पहुंचे थे कि पीसी ग्राफिक्स क्षमताओं में एक अजीब पल को संभालने के लिए यह एक अजीब स्टॉप-गैप उपाय था, और तब भी यह वास्तव में नहीं था अंत में इसके लायक होना। इसके बारे में एक साक्षात्कार था, और अंत में सब कुछ फिर से प्रस्तुत करने के लिए इतना समय लगा कि सामान्य निष्कर्ष यह था कि यह एक महान दृष्टिकोण नहीं था (और उनका अगला गेम निश्चित रूप से 3 डी होगा)।
केरेन

1
@ कल्याण अच्छा जोड़! मुझे लगता है कि यह D2 में NPCs और गियर की विशाल राशि के कारण था। सीओसी और मोबाइल प्लेटफार्मों के लिए यह एक अलग संतुलन है।
क्रॉम्स्टर कहते हैं कि मोनिका

8

इन छवियों के कम रिज़ॉल्यूशन को भी ध्यान में रखें। कुछ और चीजें हैं जो आप अंतरिक्ष को बचाने के लिए कर सकते हैं, हालांकि मुझे नहीं पता कि इनमें से कौन सी क्लैश ऑफ क्लेन्स द्वारा उपयोग की जाती है:

  • आप सैनिकों के लिए मानक दिशाओं (एन, ई, एस, डब्ल्यू, एनई, एसई, एसडब्ल्यू, एनडब्ल्यू) का सामना करने के लिए अधिक से अधिक बार पूर्वाग्रह कर सकते हैं, फिर केवल मानक निर्देशों के लिए ही अनुकूलन करें।

  • आप एक संयुक्त दृष्टिकोण कर सकते हैं, जहां आप केवल कुछ दिशाओं को पूर्व-प्रस्तुत करते हैं। फ्रेम के दौरान, आप उन सैनिकों को सौंप सकते हैं जो मौजूदा छवि से मेल नहीं खाते हैं, या यदि आप समय से बाहर हैं तो निकटतम छवि का उपयोग करें।

  • जब भी संभव हो, बाएं / दाएं सममिति का उपयोग करें, आधे में संग्रहीत फ़्रेमों की संख्या में कटौती करें।

  • आप चलने और आराम करने जैसे कुछ एनिमेशनों को प्राथमिकता दे सकते हैं, इन के लिए अधिक दिशाओं और फ़्रेमों को संग्रहीत कर सकते हैं। फिर अन्य एनिमेशनों को चित्रित करते हैं, जैसे कि तलवार का झूलना, जहाँ आप कम दिशाओं और फ़्रेमों को संग्रहीत करते हैं (मैं झूले के पहले और अंतिम फ्रेम के लिए और अधिक दिशाएँ रखने का सुझाव देता हूँ)।

  • आप निकटतम छवि का उपयोग करके शेष दिशाओं को नकली कर सकते हैं और फिर इसे खींच सकते हैं।

कुल मिलाकर, हम 18 इकाइयों के बारे में बात कर सकते हैं, 8 दिशाओं तक, हो सकता है कि 2 सेकंड का एनिमेशन 20 फ्रेम प्रति सेकंड, 64x64 पिक्सेल का औसत और प्रति पिक्सेल लगभग 2 बाइट्स हो। वह 18x2x20x64x64x2 = 50 एमबी है। वे डिवाइस की क्षमताओं और नक्शे पर उपयोग की जाने वाली इकाइयों की संख्या के आधार पर दिशाओं, रिज़ॉल्यूशन और फ़्रेमों की संख्या को भी माप सकते हैं।


2
यदि आप किसी निश्चित ऑब्जेक्ट के करीब ज़ूम करते हैं तो आप बिलबोर्ड से 3 डी मॉडल पर भी स्विच कर सकते हैं - इसलिए यह 3 डी के करीब है और तब तेज़ 2d का उपयोग करें जब आपके पास पृष्ठभूमि में बहुत सारे चल रहे हों। संक्रमण को आसानी से संभालना मुश्किल हो सकता है।
टिम बी

@ टीबीबी जो विशेष रूप से अच्छा है क्योंकि आप उच्च रिज़ॉल्यूशन प्रदान करते हैं और कम रिज़ॉल्यूशन के लिए छवियों का उपयोग करते हैं।
पीटर

2

@Kromster जवाब के अलावा, ध्यान दें कि छवियां अक्सर काफी संकुचित होती हैं, और बड़ी "एटलस" छवियों में जहां कई दोहराए जाने वाले तत्व होते हैं (जैसे रिक्त पृष्ठभूमि) संपीड़न महत्वपूर्ण है। तो छवियों का अंतिम "आकार" व्यक्तिगत छवि आकार का सिर्फ एक सीधा गुणा नहीं है।


5
जेपीईजी के लिए कंप्रेशन जीपीयू के लिए अलग तरह से काम करता है, खासकर उपकरणों में मोबाइल जीपीयू क्लैश ऑफ क्लांस के लिए लिखा गया था। en.wikipedia.org/wiki/S3_Texture_Compression दूसरे शब्दों में: खाली पृष्ठभूमि बनावट संपीड़न के लिए 100% अप्रासंगिक है।
पीटर

-2

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


अलग-अलग आकार नहीं थे। रेंडरिंग ने बस जरूरत के अनुसार निकटतम पड़ोसी को भोला-भाला किया।
आर ..

@ आर .. सुधार के लिए धन्यवाद। जब से मैंने इसे खेला है कुछ साल हो गए हैं! :)
ग्राहम

1
क्षमा करें, लेकिन यह "मैं कैसे लागू कर सकता हूं .." सवाल का जवाब नहीं देता है।
क्रॉम्स्टर कहते हैं कि

@Kromster तो यह पूछने पर कि "मैं इसे कैसे लागू करूं?" देखने के लिए आसान है जब आप इसे खेलते हैं, क्योंकि ओपी स्पष्ट रूप से क्लैश में नहीं बता सकता है? और उस सामान्य मामले और एक आइसोमेट्रिक दृश्य के विशिष्ट मामले के बीच अंतर को देखते हुए? मैं स्वतंत्र रूप से मानता हूँ कि यह आपके उत्तर के रूप में लगभग अच्छा नहीं है, लेकिन कम गुणवत्ता वाले उत्तर और प्रश्न का उत्तर नहीं देने के बीच अंतर है।
ग्राहम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.