नेविगेशन जाल पथ-खोज कैसे काम करता है?


27

मैं यह समझना चाहता हूं कि नवमेश कैसे काम करते हैं, उन्हें कैसे लागू करते हैं और यह अन्य प्रकार के पथ प्रणालियों से क्यों बेहतर है।


यह मेरे सुबह के इंटरनेट भटकने के दौरान हुआ: aigamedev.com/open/reviews/alienswarm-node-graph पढ़ने लायक हो सकता है :-)
कोडरंगर

: इस ट्यूटोरियल एकता उपयोगकर्ताओं को, जो इस पोस्ट के पार चलो के लिए उपयोगी हो सकता है binpress.com/tutorial/unity3d-ai-navmesh-navigation/119
MichaelHouse

जवाबों:


6

यह वेपाइंट पाथफाइंडिंग के समान है, केवल वे-पाइंट्स के बजाय जो आपके पास पॉलीगॉन हैं और आप नवमेश से इसके बारे में कुछ बातें जान सकते हैं:

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

2

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


क्या यह एक आसान तरीका नहीं है सिवाय इसके कि ग्राफ ग्राफ एक सरल जाल पर किया गया है? मुझे लगा कि नवमेश आपको बहुभुज पर पथप्रदर्शन करने की अनुमति देते हैं।
अग्नि

सरलीकृत ग्राफ़ आपको लंबी दूरी की पथाई करने की सुविधा देता है, छोटी दूरी को आमतौर पर दूसरे तरीके से नियंत्रित किया जाता है। ऐसा लगता है कि वाल्व सिस्टम दोनों के लिए मेष डेटा का उपयोग करता है, बस अलग-अलग तरीकों से (सुपरनोड रूटिंग बनाम स्थानीय बाधाएं)।
कोडरंगर

कनेक्शन का एक सरल सेट एक नवमेश नहीं है? मुझे लगा कि इसे नवमेश कहा जाता है क्योंकि आप पॉलीगॉन पर पाथिंग करते हैं।
अग्नि

मुझे नहीं लगता कि स्थानीय बनाम वैश्विक नेविगेशन यहां प्रासंगिक है।
अग्नि

1
पड़ोसी बहुभुज का एक सेट अभी भी एक सेट वेपॉइंट की तरह ही एक ग्राफ है और आप उसी तरह से इस पर A * कर सकते हैं। फर्क सिर्फ इतना है कि एक बार आपको पता चल जाता है कि आप किन पॉलीगनों से गुजरने जा रहे हैं, आप अलग-अलग तरीके से रेखाएँ खींचते हैं।
कोडरंगर

0

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

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