तो मैं एकता 3 डी का उपयोग कर रहा हूं और मेरे पास एआई है। इसमें एक अदृश्य आयत हमेशा एक चरित्र की ओर होती है, यदि एआई और चरित्र के बीच की दूरी अधिकतम दूरी से कम है और अदृश्य आयत एक बाधा को नहीं छू रही है तो एआई चरित्र का पीछा करेगा। यदि AI एक साथ (खिलाड़ी और बाधा) दोनों को छू रहा है तो AI गश्त जारी रखेगा। लेकिन समस्या यह है कि कभी-कभी यदि खिलाड़ी एक निश्चित स्थिति में होता है तो ऐसा होता है:

एआई एक बाधा को नहीं छू रहा है और इसलिए एआई खिलाड़ी की ओर बढ़ता है। तब एआई उसके पीछे एक बाधा को छूता है। तो वह खिलाड़ी और एक बाधा को छू रहा है और उसे वापस जाने के लिए कहा जाता है। जैसे ही वह थोड़ा पीछे जाता है वह एक बाधा को नहीं छू रहा है और अधिकतम दूरी से कम है और खिलाड़ी के पास वापस चला जाता है। यह हमेशा के लिए एक कष्टप्रद निरंतर लूप देता है।

और इससे पहले कि आप आयत को छोटा करने के लिए उत्तर दें, मुझे आपको यह बताने की आवश्यकता है: मैंने पहले ही कोशिश की है और आयत तब सभी टकरावों का पता नहीं लगाता है क्योंकि आयत कोणों की ओर मुड़ता है।

अधिक जानकारी:

  • आयत का मुख हमेशा खिलाड़ी के ठीक सामने होता है।

तो - मैं इसे कैसे ठीक कर सकता हूं? मैं वास्तव में किसी भी उत्तर की सराहना करता हूं।

0
BeastCoder 9 अक्टूबर 2018, 03:19

1 उत्तर

सबसे बढ़िया उत्तर

एआई के लिए यूनिटी में बिल्ट इन नेविगेशन सिस्टम है। यह आपके लिए बेहतर दीर्घकालिक समाधान हो सकता है। आप डिटेक्शन रेंज आदि सेट कर सकते हैं, और यह स्वचालित रूप से बाधाओं का पता लगा सकता है।

यहां एक अच्छा ट्यूटोरियल है: https://unity3d.com/learn/tutorials/s/navigation

1
Adam B 9 अक्टूबर 2018, 04:22