美文网首页
寻路之Navigation

寻路之Navigation

作者: APP4x | 来源:发表于2020-09-29 11:48 被阅读0次

    在unity中,通常会使用导航网格(Navigation)做寻路,但有时也会对场景直接划分格子,并自己实现A*算法
    那他们之间的区别是啥呢?

    问题:
    角色移动的时候,通常不是在网格上一格格走
    因此在非SGL游戏中,会采用 寻路结点 或 导航网格 的形式

    1.寻路结点
    是关卡设计师在游戏世界中拜访的角色可到达的位置
    这些点会被作为图的结点载入内存,边则通过点与点之间的组合自动生成

    最大的问题:
    在于角色只能在结点的边缘进行移动,地图上会有很多不能走的镂空区域

    2.导航网格
    可以解决上面的问题
    通过凸多边形来表示节点,邻近节点的就是相邻的凸多边形
    一般形况下,用远小于寻路结点数量的凸多边形就可以将游戏世界区域表示出来
    由于封闭区域可以自由行走,返回的路径会更加自然

    算法:
    如果两点在相同的三角形中,直接走过去即可
    如果两点任何一点不在任何三角形内,就需要做不可达判断


    AStar是启发式优化寻路算法的统称,导航网格其实与它并不在同一层级
    无论使用凸多边形还是网格,说到底都是对地图信息的一种描述,拓扑信息之后,都可以通过AStar来实现

    相关文章

      网友评论

          本文标题:寻路之Navigation

          本文链接:https://www.haomeiwen.com/subject/uhfeuktx.html