一、导航系统补充说明
1、导航与动画
我们可以通过设置动画状态机的变量,让动画匹配由玩家直接控制的角色的移动。那么自动导航的角色如何与动画系统结合呢?
有两个常用的属性可以获得导航代理当前的状态:
一是agent.velocity,类型为Vector3,指的是导航代理当前速度向量,可以用速度的方向和大小来匹配移动动画。
二是agent.isOnOffMeshLink,类型为bool,可以根据角色是否处于导航链接路径上,判断是否需要播放跳跃动画。
2、导航区域
Navigation窗口的第二个标签是Areas(区域设置),用于匹配更多导航区域,最多有32个。
当地行一致时区域设置用处不大,但如果一个游戏中由各种复杂地形,如草原、沼泽和密林等区域,则需要导航代理按照最合理的方式选择路线。例如,宁可绕一些远路也不要横穿沼泽,此时地形的Cost参数就派上用场了。如可以给草原区域较低的Cost,给沼泽和密林区较高的Cost。
A*等寻路算法再计算路径时会充分考虑每个区域的Cost,从而选择总Cost相对较小的导航线路。
3、组件式导航系统
在Navigation敞口的Bake标签页的上方,有一句提示“Learn instead about the component workflow”,单击该链接会进入相关的介绍页面,该页面是新版的组件式导航系统NavMeshComponents的工程。
该工程是一个完整的Unity工程,可以下载后用Unity打开测试。如果要在工程中使用该系统,只需要将Assets/NavMeshComponents文件夹复制到Assets文件夹下即可。文章来源:https://www.toymoban.com/news/detail-701849.html
这套新系统的功能比原版导航系统更多,但原版导航系统足以满足需求,而且Unity长期没有将组件式导航系统作为默认的的导航系统。文章来源地址https://www.toymoban.com/news/detail-701849.html
到了这里,关于Unity——导航系统补充说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!