寻路算法很重要,因为大部分游戏都需要用到它,比如RPG游戏中的任务系统。任务点击任务后,需要自动查找到目标位置的路径。比如在 Moba 游戏中,我们点击地图游戏素材下载 免费,英雄会自动找到自己点击的地方。这就是寻路算法的作用。那么如何实现寻路算法呢?现在比较流行的是A*。其实Unity内置了寻路算法,就是导航网格组件。有了它,我们就可以进行寻路了。
首先我们需要用到Unity的导航网格组件,我们需要烘焙场景,然后根据烘焙的数据进行具体的寻路unity 给地形加网格,比如去哪里,去哪里,最大高度爬山等等等等,那么你如何烘焙你的场景,会出现什么样的寻路地图。然后我们可以将寻路组件挂载到需要寻路的对象上。这是原则。好,我们先来看看如何烘焙场景。
当你在你的场景中看到一个浅蓝色的区域,那么你已经成功地烘焙了你的场景,而浅蓝色的区域就是可步行的区域。带有寻路组件的物体可以在该区域内自由移动。 OK,当然,由于我的场景很简单,没有其他复杂的东西需要设置,所以没有多余的区域。
但这是一个特效案例,所以特殊处理,要知道导航网格并不是那么简单。然后我们烘焙场景并需要让对象找到自己的方式。先创建一个物体unity 给地形加网格,然后将寻路组件NavMeshAgent组件挂载到物体上,再调整参数写代码。
通过这行代码,就可以实现我们想要的寻路效果了。它将从起点开始游戏运营,不断寻找路径,直到到达目标位置。