• Unity——导航系统补充说明


    一、导航系统补充说明

    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文件夹下即可。

    这套新系统的功能比原版导航系统更多,但原版导航系统足以满足需求,而且Unity长期没有将组件式导航系统作为默认的的导航系统。

  • 相关阅读:
    Redis6 六:Redis常用五大数据类型—— 集合Set 、 哈希hash 和 有序集合Zset
    HTIML知识概述
    杯子出口欧洲需要做哪些检测认证?
    持续测试(CT)实战经验分享
    Sound Siphon for Mac:音频处理与录制工具
    vue2实现复制,粘贴功能,使用vue-clipboard2插件
    vue3 封装公共弹窗函数
    抖音API接口
    2022前端面试题上岸手册-前端工程化部分
    MyBatis注解应用之动态SQL语句
  • 原文地址:https://blog.csdn.net/m0_63024355/article/details/132747988