0x00 前言
unity5.6作為Unity5最后的一個(gè)版本,的確起到了一個(gè)承上啟下的作用。除了上一篇文章《進(jìn)擊的AssetBundles和它的工具們》中提到的AssetBundles-Browser,本文還會(huì)介紹另一個(gè)在Github開(kāi)源的,用于Unity5.6+的新尋路功能。
0x01 曾經(jīng)的痛點(diǎn)
Unity5.6之前的navmesh系統(tǒng)的確操作起來(lái)十分容易上手,門(mén)檻很低。我們只需要將場(chǎng)景內(nèi)需要烘焙navmesh的區(qū)域勾選上Navigation Static選項(xiàng),之后就可以在Navigation窗口中烘焙整個(gè)場(chǎng)景了。
但是曾經(jīng)的navmesh系統(tǒng)卻也存在著一些性能上的和使用場(chǎng)景上的缺陷。
一個(gè)常見(jiàn)的問(wèn)題,由于要預(yù)先烘焙場(chǎng)景的navmesh,因此我們很難方便的在運(yùn)行時(shí)動(dòng)態(tài)的修改navmesh。更不用說(shuō),有一些游戲的場(chǎng)景并非提前制作好的,需要在運(yùn)行時(shí)動(dòng)態(tài)的生成,這種情況下就無(wú)法使用navmesh了。
另一個(gè)問(wèn)題是,如果場(chǎng)景過(guò)大的話(huà),烘焙之后的navmesh也會(huì)保存很多數(shù)據(jù),在運(yùn)行時(shí)會(huì)造成一些內(nèi)存上的開(kāi)銷(xiāo)。
當(dāng)然,拋開(kāi)這些不談,另外一個(gè)讓我吐槽navmesh的一點(diǎn)就是,它竟然不支持垂直面的導(dǎo)航。