国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

RTS流場尋路算法詳解

2022-10-14 16:55 作者:游戲開發(fā)RAIN  | 我要投稿

RTS里面經(jīng)常會有很多角色,群體一起尋路到目的地附近,這種尋路是如何實現(xiàn)的,今天給大家詳細的講解基于流場尋路的算法。在本教程中,我將解釋向量場尋路及其相對于Dijkstra等傳統(tǒng)尋路算法的優(yōu)勢。對Dijkstra算法和勢場的基本理解將有助于理解本文,但不是必需的。

尋路的問題有很多種解決方案,如AStar等, 每種尋路的方案都各有優(yōu)缺點,大部分的尋路,都是角色要從A點走到B點,然后調用尋路算法找出一條路徑出來。通常情況下這樣是不會有問題的,但是對于像RTS這種游戲需要做群體尋路,從A點到B點一群角色走過去,如果每個角色都單獨尋路,這樣性能開銷會比較大,所以今天我們?yōu)榱私鉀Q這個問題,介紹基于流場向量的尋路。它的原理是把目標點的流場計算出來,所有移動的目標共用這個流量場。接下來本文講詳細的介紹流場尋路的核心技術與步驟。(本文是將地圖基于網(wǎng)格來講解的,你也可以用到其它的地方,不限于網(wǎng)格)。

?

生成Heatmap

Heatmap 是指從目標點到地圖上每個圖塊的路徑距離。路徑距離不同于歐幾里德距離,它是通過可穿越地形的最短的兩點之間距離來計算。如下圖,你可以看到從目標點(用紅色標記)到地圖任意的點(用粉色標記)的路徑距離和線性距離之間的差異。不可行走的塊以綠色繪制。如圖,路徑距離(以黃色顯示)為9,而線性距離(以淺藍色顯示)約為4.12。每個圖塊左上角的數(shù)字顯示由Heatmap生成算法計算出的到目標的路徑距離。注意兩點之間可能有一個以上的路徑距離, 我們只算最短的那個距離。經(jīng)過算法第一步,我們把地圖上的每個塊到目的地的最短距離都計算了出來,生成了Heatmap。

好今天的流場尋路的內容就分享到這里了,我這邊實現(xiàn)了一個C++版本的流場尋路的代碼,大家可以參考一下,需要的可以私聊我哦

RTS流場尋路算法詳解的評論 (共 條)

分享到微博請遵守國家法律
阿图什市| 佛坪县| 黄大仙区| 康保县| 武穴市| 江都市| 呼伦贝尔市| 内乡县| 宣城市| 台湾省| 常山县| 铜川市| 昭觉县| 龙山县| 海门市| 离岛区| 永福县| 芦溪县| 灵石县| 泸水县| 虞城县| 和林格尔县| 京山县| 石渠县| 任丘市| 团风县| 定结县| 教育| 桐城市| 友谊县| 精河县| 余姚市| 莎车县| 潮州市| 庆元县| 邻水| 鹤庆县| 呈贡县| 贵港市| 江山市| 巴东县|