'Unity內置尋路算法-導航網格'

算法 Unity引擎 烘焙 RPG遊戲 遊戲開發達人 2019-08-28
"

尋路算法非常重要,因為絕大部分的遊戲都需要用到,比如RPG遊戲中的任務系統,任務點擊任務後需要自動尋路到目標位置,再比如Moba遊戲,我們點擊地圖,英雄就會自動尋路到點擊的地方。這就是尋路算法的作用了。那麼怎麼實現尋路算法呢?現在比較流行的就有A*。其實unity有內置的尋路算法,那就是導航網格組件。有了它,我們就可以進行尋路了。

首先我們要用unity的導航網格組件,我們就需要烘焙場景,然後根據烘焙出來的數據,才能進行具體尋路,比如什麼地方可以走,什麼地方不能走,爬坡的最大高度等等,所以你怎麼烘焙你的場景,就會出現怎麼樣的尋路地圖。然後我們讓需要尋路的物體掛載一個尋路組件就可以了。這就是原理了。好,我們先來看看怎麼烘焙場景。

"

尋路算法非常重要,因為絕大部分的遊戲都需要用到,比如RPG遊戲中的任務系統,任務點擊任務後需要自動尋路到目標位置,再比如Moba遊戲,我們點擊地圖,英雄就會自動尋路到點擊的地方。這就是尋路算法的作用了。那麼怎麼實現尋路算法呢?現在比較流行的就有A*。其實unity有內置的尋路算法,那就是導航網格組件。有了它,我們就可以進行尋路了。

首先我們要用unity的導航網格組件,我們就需要烘焙場景,然後根據烘焙出來的數據,才能進行具體尋路,比如什麼地方可以走,什麼地方不能走,爬坡的最大高度等等,所以你怎麼烘焙你的場景,就會出現怎麼樣的尋路地圖。然後我們讓需要尋路的物體掛載一個尋路組件就可以了。這就是原理了。好,我們先來看看怎麼烘焙場景。

Unity內置尋路算法-導航網格

當你看到你的場景出現淺藍色的區域時,那麼你就成功的烘焙了你的場景了,淺藍色區域就是可以行走的區域了。擁有尋路組件的物體可以在這區域自由移動。OK,當然由於我的場景很簡單,所以沒有其他複雜的東西設定,所以也就沒有多餘的區域了。

但是這是特效情況,就特殊對待了,要知道導航網格不是這麼簡單的。然後我們烘焙好了場景,需要讓物體來尋路了。首先創建一個物體,然後給物體掛載尋路組件NavMeshAgent組件,然後調整下參數就可以寫代碼了。

"

尋路算法非常重要,因為絕大部分的遊戲都需要用到,比如RPG遊戲中的任務系統,任務點擊任務後需要自動尋路到目標位置,再比如Moba遊戲,我們點擊地圖,英雄就會自動尋路到點擊的地方。這就是尋路算法的作用了。那麼怎麼實現尋路算法呢?現在比較流行的就有A*。其實unity有內置的尋路算法,那就是導航網格組件。有了它,我們就可以進行尋路了。

首先我們要用unity的導航網格組件,我們就需要烘焙場景,然後根據烘焙出來的數據,才能進行具體尋路,比如什麼地方可以走,什麼地方不能走,爬坡的最大高度等等,所以你怎麼烘焙你的場景,就會出現怎麼樣的尋路地圖。然後我們讓需要尋路的物體掛載一個尋路組件就可以了。這就是原理了。好,我們先來看看怎麼烘焙場景。

Unity內置尋路算法-導航網格

當你看到你的場景出現淺藍色的區域時,那麼你就成功的烘焙了你的場景了,淺藍色區域就是可以行走的區域了。擁有尋路組件的物體可以在這區域自由移動。OK,當然由於我的場景很簡單,所以沒有其他複雜的東西設定,所以也就沒有多餘的區域了。

但是這是特效情況,就特殊對待了,要知道導航網格不是這麼簡單的。然後我們烘焙好了場景,需要讓物體來尋路了。首先創建一個物體,然後給物體掛載尋路組件NavMeshAgent組件,然後調整下參數就可以寫代碼了。

Unity內置尋路算法-導航網格

就這一句代碼,我們就能實現我們想要的尋路效果,它會從起點開始,一直尋路直到走到目標位置。

"

相關推薦

推薦中...