मुक्त पथ में कुशल पथ-खोज


12

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

तो मैं एक बहुत सरल pathfinding एल्गोरिथ्म को लागू करने के बारे में सोच रहा हूँ- यानी, बस एक किरण को वर्तमान स्थिति से लक्ष्य की स्थिति में ले जाया जाता है, और फिर मैं अपेक्षाकृत जल्दी विभाजन के उपयोग से बाधाओं की एक सूची प्राप्त कर सकता हूं। मैं इस बारे में निश्चित नहीं हूं कि बाधाओं के चारों ओर आदेशित इकाई युद्धाभ्यास के हिस्से का निर्धारण कैसे किया जाए।

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

क्या संभावित क्षेत्र मेरे मापदंडों को देखते हुए एक उचित सन्निकटन प्राप्त करेंगे, या मुझे किसी अन्य समाधान की आवश्यकता है?

जवाबों:


7

हालांकि संभावित क्षेत्र काम कर सकते हैं, मुझे लगता है कि आपके पास उप-इष्टतम पथ और "स्थानीय न्यूनतम" के साथ समस्याएँ होंगी जहां आपकी इकाइयाँ आस-पास के अवरोधों में फंस जाएँगी। A * 3D ओपन स्पेस वातावरण के लिए उपयुक्त है। यह बस एक नेविगेशन जाल उत्पन्न करने का मुद्दा बन जाता है जो आपकी आवश्यकताओं को पूरा करता है। तुम भी नेविगेशनल नोड्स के लिए Octrees जैसी संरचनाओं का उपयोग कर सकते हैं। प्रत्येक अष्टक का अधिकतम आकार जितना छोटा होता है, पथ चिकना होता है। की जाँच करें इस लेख चेहरा खेल के लिए चेहरा से (अब मृत, जोड़ा वेबैक लिंक)। पथ अनुकूलन (दृष्टि शॉर्टकट की लाइन) और स्टीयरिंग व्यवहार की तरह एक संयुक्त * और आप जाने के लिए अच्छा होगा! पथ नोड्स के लिए एक ऑक्ट्री का उपयोग करने के उदाहरण के रूप में नीचे दी गई छवि देखें:


यह बड़े मानचित्रों के पैमाने पर कैसे जा रहा है? यदि मेरे पास एक ऐसा नक्शा है जो प्रत्येक आयाम में दो बार बड़ा था, तो मुझे नोड्स की आठ गुना संख्या की आवश्यकता होगी, जो समस्याग्रस्त होगा।
डेडएमजी

जरुरी नहीं। आप नोड आकार को बड़ा रख सकते हैं जब तक कि आपकी खोज इसके निकट न हो जाए। यह आपको उन नोड्स को रखने की अनुमति देता है जिन्हें आप बड़ी संख्या में नहीं बल्कि कुछ में रुचि रखते हैं।
MichaelHouse

खाली स्थान नेविगेशन जाल की एक अच्छी संपत्ति यात्रा लागत समानता है; आप
Will

@Will: मैंने थोड़ा सा Googling किया, लेकिन मैं वास्तव में केवल पाथफाइंडिंग एल्गोरिथ्म को नहीं समझ पाया जो सामने आया। इस पर एक उत्तर पोस्ट करने के लिए देखभाल?
डेडएमजी

@ डीडीएमजी यह निश्चित व्याख्या है: harablog.wordpress.com/2011/09/07/jump-point-search <br/> यदि आप A * को लागू कर सकते हैं, तो आप JPS को फिर से स्पष्ट रूप से सीधा कर सकते हैं। A * प्रथम करें, और JPS को अनुकूलन के रूप में जोड़ें।
विल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.