專(zhuān)利名稱(chēng):一種地圖訓(xùn)練的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說(shuō),基于導(dǎo)航網(wǎng)格的地圖尋路系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)游戲的不斷發(fā)展,經(jīng)常要實(shí)現(xiàn)主角在虛擬世界中移動(dòng)。在游戲?qū)ぢ返念I(lǐng)域,A*算法是一個(gè)比較常用的尋路算法。A*算法是一種啟發(fā)式搜索,利用一個(gè)評(píng)估函數(shù)評(píng)估每次的決策價(jià)值,決定先采用那一項(xiàng)方案。目前主要的尋路方法主要有A*算法和基于路點(diǎn)的A*算法。但是,現(xiàn)在以上兩種方法都有其缺點(diǎn)。由于游戲場(chǎng)景較大,基于完全的A*算法,它的搜索時(shí)間是一個(gè)不可忽略的開(kāi)銷(xiāo)。特別是對(duì)實(shí)時(shí)性要求較高的網(wǎng)絡(luò)游戲中,如果用于點(diǎn)擊較遠(yuǎn)的位置,采用純粹的A*算法,就會(huì)產(chǎn)生很大的延遲,這個(gè)是用戶(hù)無(wú)法接受的。并且,采用路點(diǎn)尋路的A*算法,一個(gè)是,生成必要的路點(diǎn)需要消耗美術(shù)大量的時(shí)間,時(shí)間成本很高;二是由于采用路點(diǎn)尋路,容易產(chǎn)生很多個(gè)角色擁擠到單個(gè)的路點(diǎn)上,如果路點(diǎn)大量,則又會(huì)降低尋路的效率,路點(diǎn)的極限數(shù)量是等于網(wǎng)格尋路中的網(wǎng)格數(shù)量。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明的目的是要提供一種高效合理的尋路算法。為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是一種高效合理的尋路算法,其步驟如下
1)采用線(xiàn)下方法,生成離線(xiàn)角色可達(dá)的純A*算法網(wǎng)格;這個(gè)網(wǎng)格是根據(jù)角色的碰撞盒子,可達(dá)點(diǎn)的高度限制等來(lái)進(jìn)行離線(xiàn)生成的;
2)由美工根據(jù)生成的可達(dá)網(wǎng)格,合并成所需要的導(dǎo)航網(wǎng)格;
3)根據(jù)生成導(dǎo)航網(wǎng)格的聯(lián)通性,存儲(chǔ)成尋路網(wǎng)格文件;
4)在游戲中,首先加載尋路網(wǎng)格文件;
5)當(dāng)用戶(hù)進(jìn)行尋路時(shí)候,首先采用基于網(wǎng)格的A*算法;根據(jù)用戶(hù)的目的地和所在位置,首先確定所在的網(wǎng)格和目的網(wǎng)格;
6)如果為同一個(gè)導(dǎo)航網(wǎng)格內(nèi),則直接可達(dá);
7)如果在不同網(wǎng)格,則在網(wǎng)格基礎(chǔ)上進(jìn)行A*算法,得出所得的尋路網(wǎng)格信息;
8)根據(jù)得出的尋路網(wǎng)格列表來(lái)對(duì)角色來(lái)進(jìn)行尋路最終路徑的確定。本發(fā)明通過(guò)離線(xiàn)生成導(dǎo)航網(wǎng)格信息,最大限度的滿(mǎn)足了游戲中對(duì)于角色可達(dá)位置的限制,同時(shí)采用導(dǎo)航網(wǎng)格尋路,加快了尋路的速度,減少了網(wǎng)格的內(nèi)存空間存儲(chǔ)。
具體實(shí)施例方式一種高效合理的尋路算法,其步驟如下
I)采用線(xiàn)下方法,生成離線(xiàn)角色可達(dá)的純A*算法網(wǎng)格;這個(gè)網(wǎng)格是根據(jù)角色的碰撞盒子,可達(dá)點(diǎn)的高度限制等來(lái)進(jìn)行離線(xiàn)生成的; 2)由美工根據(jù)生成的可達(dá)網(wǎng)格,合并成所需要的導(dǎo)航網(wǎng)格;
3)根據(jù)生成導(dǎo)航網(wǎng)格的聯(lián)通性,存儲(chǔ)成尋路網(wǎng)格文件;
4)在游戲中,首先加載尋路網(wǎng)格文件;
5)當(dāng)用戶(hù)進(jìn)行尋路時(shí)候,首先采用基于網(wǎng)格的A*算法;根據(jù)用戶(hù)的目的地和所在位置,首先確定所在的網(wǎng)格和目的網(wǎng)格;
6)如果為同一個(gè)導(dǎo)航網(wǎng)格內(nèi),則直接可達(dá);
7)如果在不同網(wǎng)格,則在網(wǎng)格基礎(chǔ)上進(jìn)行A*算法,得出所得的尋路網(wǎng)格信息;
8)根據(jù)得出的尋路網(wǎng)格列表來(lái)對(duì)角色來(lái)進(jìn)行尋路最終路徑的確定。
權(quán)利要求
1.一種高效合理的尋路算法,其步驟如下 1)采用線(xiàn)下方法,生成離線(xiàn)角色可達(dá)的純A*算法網(wǎng)格;這個(gè)網(wǎng)格是根據(jù)角色的碰撞盒子,可達(dá)點(diǎn)的高度限制等來(lái)進(jìn)行離線(xiàn)生成的; 2)由美工根據(jù)生成的可達(dá)網(wǎng)格,合并成所需要的導(dǎo)航網(wǎng)格; 3)根據(jù)生成導(dǎo)航網(wǎng)格的聯(lián)通性,存儲(chǔ)成尋路網(wǎng)格文件; 4)在游戲中,首先加載尋路網(wǎng)格文件; 5)當(dāng)用戶(hù)進(jìn)行尋路時(shí)候,首先采用基于網(wǎng)格的A*算法;根據(jù)用戶(hù)的目的地和所在位置,首先確定所在的網(wǎng)格和目的網(wǎng)格; 6)如果為同一個(gè)導(dǎo)航網(wǎng)格內(nèi),則直接可達(dá); 7)如果在不同網(wǎng)格,則在網(wǎng)格基礎(chǔ)上進(jìn)行A*算法,得出所得的尋路網(wǎng)格信息; 8)根據(jù)得出的尋路網(wǎng)格列表來(lái)對(duì)角色來(lái)進(jìn)行尋路最終路徑的確定。
全文摘要
一種地圖訓(xùn)練的方法。本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說(shuō),基于導(dǎo)航網(wǎng)格的地圖尋路系統(tǒng),采用線(xiàn)下方法,生成離線(xiàn)角色可達(dá)的純A*算法網(wǎng)格;這個(gè)網(wǎng)格是根據(jù)角色的碰撞盒子,可達(dá)點(diǎn)的高度限制等來(lái)進(jìn)行離線(xiàn)生成的,通過(guò)離線(xiàn)生成導(dǎo)航網(wǎng)格信息,最大限度的滿(mǎn)足了游戲中對(duì)于角色可達(dá)位置的限制,同時(shí)采用導(dǎo)航網(wǎng)格尋路,加快了尋路的速度,減少了網(wǎng)格的內(nèi)存空間存儲(chǔ)。
文檔編號(hào)G06F19/00GK103020443SQ201210522739
公開(kāi)日2013年4月3日 申請(qǐng)日期2012年12月8日 優(yōu)先權(quán)日2012年12月8日
發(fā)明者不公告發(fā)明人 申請(qǐng)人:大連創(chuàng)達(dá)技術(shù)交易市場(chǎng)有限公司