EA DICE के लोगों ने बैटलफील्ड बैड कंपनी 2 और बैटलफील्ड 3 में विनाशकारी वातावरण कैसे बनाया?
क्या वे पूर्व-उप-क्षेत्रों से बाहर की इमारतों को इकट्ठा करते हैं, जो एक विस्फोट या कुछ समान होने पर अलग हो जाते हैं? मैं कुछ और नहीं सोच सकता।
EA DICE के लोगों ने बैटलफील्ड बैड कंपनी 2 और बैटलफील्ड 3 में विनाशकारी वातावरण कैसे बनाया?
क्या वे पूर्व-उप-क्षेत्रों से बाहर की इमारतों को इकट्ठा करते हैं, जो एक विस्फोट या कुछ समान होने पर अलग हो जाते हैं? मैं कुछ और नहीं सोच सकता।
जवाबों:
यह बस हाँ करने के लिए कि वे क्या करते हैं। लेकिन विनाश मुखौटा का उपयोग करके सीधे किनारों को कवर करने के लिए एक अतिरिक्त लंबाई पर जाएं । ज्यामिति के हिस्से को हटाने के बाद, वे इसे नष्ट करने योग्य बनाने के लिए नष्ट हुए खंड के चारों ओर विस्तृत जाल जोड़ते हैं ।
यहाँ दिया गया है कि यह कैसे काम करता है,
इस घर के एक हिस्से को नष्ट करते समय, वे ज्यामिति के एक टुकड़े को हटाकर शुरू करते हैं
फिर नष्ट हुए खंड के चारों ओर विस्तार जाल लगाए।
और अंतिम चरण विनाश मास्क को जोड़ना है।
वे अधिक नाटकीय रूप के लिए कण प्रभाव और मेष मलबे का भी उपयोग करते हैं।
(सभी संदर्भ उन 2 प्रकाशनों से लिया गया है जिनका मैंने टिप्पणी में उल्लेख किया है)
यह CSG है - कंस्ट्रक्टिव सॉलिड ज्योमेट्री (हालांकि इस मामले में, यह विनाशकारी है, कड़ाई से बोल रहा है), अगर आप एल्गोरिदम वास्तव में कैसे काम करते हैं, इस पर अधिक शोध करना चाहते हैं।
मानक दृष्टिकोण दो मौजूदा जाल ए और बी (घर और घटाया गया "विस्फोट" वॉल्यूम) का उपयोग एक तीसरा "मेष" (ग्राफ) उत्पन्न करने के लिए है जहां दो मेष विमानों और किनारों को काटना, सी - जो क्षेत्र का वर्णन करता है वे साँझा करते है। 2 डी में:
/ \
/ \
/ A \
| |
| /-|-\
| |C| |
--- ----- | ------- G
| B|
\---/
A घर है, B विस्फोट का आयतन है, C, A और B. G के बीच का मैदान / चौराहा क्षेत्र है।
इसके पीछे का गणित / तर्क तुच्छ नहीं है, क्योंकि इस कार्य से निपटने के लिए कई किनारे मामले हैं और इस कार्य के आधे से अधिक यह पहचानना है कि संभावित प्रकार के ग्राफ़ में से कौन से विशेष मामले हैं जिन्हें कोड में पूरा करने की आवश्यकता है। मैंने दिग्गजों द्वारा बताई गई समस्या को gamedev.net पर "बहुत कठिन समस्या" के रूप में देखा है और मैं आपको इसे 2D में भी प्रयास करने से बता सकता हूँ, यहाँ तक कि, और सफलता की एक मध्यम डिग्री होने पर जहाँ केवल कुछ ही मामले विफल होते हैं, यह कोई छोटा काम नहीं है।
एक तरीका जो आसान हो सकता है वह है बहुभुज अपघटन एल्गोरिदम का उपयोग करना, और ज्यामिति का उपयोग करना जो इसके बजाय आपके ज्यामिति के आधार के रूप में बनाता है।