Unity3D架构设计NavMesh寻路(未完待续)
国庆闲来没事把NavMesh巩固一下。以Unity3D引擎为例写一个底层c# NavMesh寻路。由于Unity3D中本身自带的NavMesh寻路不能非常好的融入到游戏项目其中,所以重写一个NavMesh寻路是个必经之路。 NavMesh在非常多游戏中应用广泛。不同种类的框架下NavMesh寻路发挥的淋漓尽致。与传统的A星寻路相比,NavMesh不仅降低了内存空间占有量。加快了寻路速度,还能够增加寻路角色的宽高限制,以及动态物体寻路等功能。基本上适应了大部分项目变化多端的需求。 我把写NavMesh的过程分成好几个部分,一一进行描写叙述: 一.首先要理解NavMesh核心算法。 NavMesh的核心算法就是用三角形取代传统寻路的方格,用计算拐点优化寻路路径来取代合并路径直线。 例如以下图1NavMesh寻路: 以及例如以下图2传统的A星寻路: 看到两者的区别了吧,NavMesh已三角形为寻路块,而传统的A星则以方格为寻路块。 二.NavMesh寻路中的路径优化之拐点计算。 事实上NavMesh中比較经常使用的是光照耀线法,但这里不做具体介绍,光照耀浅法具体内容地址:http://www...