專利名稱:地圖尋路算法的速度優化的制作方法
技術領域:
本發明涉及計算機圖形技術領域,更具體地說,基于可見點的A*地圖尋路系統。
背景技術:
隨著網絡游戲的不斷發展,經常要實現主角在虛擬世界中移動。在游戲尋路的領域,A*算法是一個比較常用的尋路算法。A*算法是一種啟發式搜索,利用一個評估函數評估每次的決策價值,決定先采用那一項方案。目前主要的尋路方法主要有A*算法和基于路點的A*算法。但是,現在以上兩種方法都有其缺點。由于游戲場景較大,基于完全的A*算法,它的搜索時間是一個不可忽略的開銷。特別是對實時性要求較高的網絡游戲中,如果用于點擊較遠的位置,采用純粹的A*算法,就會產生很大的延遲,這個是用戶無法接受的。如果是采用路點尋路的A*算法,一個是,生成必要的路點需要消耗美術大量的時間,時間成本很高;二是由于采用路點尋路,容易產生很多個角色擁擠到單個的路點上,如果路點大量,則又會降低尋路的效率,路點的極限數量是等于網格尋路中的網格數量。有鑒于此,本發明針對A*算法在速度方面進行了優化,減少了延遲。
發明內容
鑒于現有技術存在的問題,本發明要解決的技術問題在于,即提供一種高效合理的尋路算法。為了實現上述目的,本發明所采用的技術方案是地圖尋路算法的速度優化,對A*算法的搜索空間進行優化,其步驟如下
1)根據場景結構,在碰撞的凸角上放置一個路點;
2)采用離線的方法,模擬主角移動,測試所有路點之間的是否可以直達,生成可見點網
格;
3)當角色從一點尋路到另外一點的時候,首先要把角色的尋路轉化到可見點尋路上;計算尋路啟點與目的地與所有可見點的可見性;
4)確定起始點的可見點之后,對可見點進行A*尋路,確定最終的尋路路徑。本發明通過離線生成可見點和可見點的可見性,最大限度的簡化了搜索空間,相比傳統的矩形和多邊形網格尋路,大大的提高了尋路速度,減少了尋路路點的存儲空間,非常適合大型網絡游戲中的尋路。
具體實施例方式地圖尋路算法的速度優化,對A*算法的搜索空間進行優化,其步驟如下
I)根據場景結構,在碰撞的凸角上放置一個路點; 2)采用離線的方法,模擬主角移動,測試所有路點之間的是否可以直達,生成可見點網
格;
3)當角色從一點尋路到另外一點的時候,首先要把角色的尋路轉化到可見點尋路上;計算尋路啟點與目的地與所有可見點的可見性;
4)確定起始點的可見點之后,對可見點進行A*尋路,確定最終的尋路路徑。
權利要求
1.地圖尋路算法的速度優化,對A*算法的搜索空間進行優化,其步驟如下 1)根據場景結構,在碰撞的凸角上放置一個路點; 2)采用離線的方法,模擬主角移動,測試所有路點之間的是否可以直達,生成可見點網格; 3)當角色從一點尋路到另外一點的時候,首先要把角色的尋路轉化到可見點尋路上;計算尋路啟點與目的地與所有可見點的可見性; 4)確定起始點的可見點之后,對可見點進行A*尋路,確定最終的尋路路徑。
全文摘要
本發明涉及計算機圖形技術領域,更具體地說,基于可見點的A*地圖尋路系統,根據場景結構,在碰撞的凸角上放置一個路點;采用離線的方法,模擬主角移動,測試所有路點之間的是否可以直達,生成可見點網格;通過離線生成可見點和可見點的可見性,最大限度的簡化了搜索空間,相比傳統的矩形和多邊形網格尋路,大大的提高了尋路速度,減少了尋路路點的存儲空間,非常適合大型網絡游戲中的尋路。
文檔編號G09B29/00GK103021258SQ20121052273
公開日2013年4月3日 申請日期2012年12月8日 優先權日2012年12月8日
發明者不公告發明人 申請人:大連創達技術交易市場有限公司