日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

游戏寻路中 A* 算法的改进

發(fā)布時間:2024/8/26 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏寻路中 A* 算法的改进 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在眾多尋路算法中,A* 的確是比較不錯的。但在游戲尋路領域,A* 耗時過大,顯然需要改進。

改進

我的想法是預先將地圖按照一定的規(guī)則劃分為多個區(qū)域,這些區(qū)域彼此連通,并且計算好彼此連通的區(qū)域之間的來往的消耗(預計算部分,經檢測耗時極少)。
?


從幾千個正方形組成的障礙矩陣中構造出一張數(shù)據(jù)量大大減少的帶權連通圖。

每次尋路時自動檢測起始位置和終點分別在圖中的哪兩個節(jié)點,在很短時間內構造出一條最短路徑。

接著,計算進入以及離開每個區(qū)域的比較適合的點,再經過路徑平滑算法,得到的路徑與傳統(tǒng) A* 沒有明顯區(qū)別,但是中間節(jié)點減少,耗時大大減少。經過計算,耗時為傳統(tǒng) A* 的 1/800 - 1/1000,取得相當顯著的效果。而且對于 A* 其他的改進措施,也可以用在該改進方法上,如雙向 A*,在較復雜的圖中可以明顯加快尋路速度。并且該尋路代碼也可以放在非主線程中,影響更是可以忽略不計。
?

(改進 A* 路徑)

(傳統(tǒng) A* 路徑)


在障礙圖中的信息發(fā)生改變時,可以重新進行計算,買QQ靚號得出新的帶權連通圖,并且廣播所有已經尋路完成但是還沒有達到終點的物體,使其修改路徑,耗時同樣在可接受范圍內。


總結

該 A* 改進算法是典型的以空間換時間的算法(雖然耗費的空間也很少,在游戲領域可以忽略)

接下去我會繼續(xù)研究比如策略游戲中一個群體單位尋路算法的改進,因為他們無論起始點是否在同個區(qū)域,在帶權連通圖中總會經過相同的節(jié)點,這些計算完全可以緩存下來,減輕后面計算的負載。

總結

以上是生活随笔為你收集整理的游戏寻路中 A* 算法的改进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。