unity-导航区域

目录

概念

参数

关于成本

应用

区域遮罩


概念

在Unity中,导航区域(NavMesh Area)是导航网格(NavMesh)中的一部分,用于定义不同类型的地形和路径行为。导航区域可以为不同的地形类型指定不同的行走成本,使AI角色在路径规划时能够考虑到这些成本,选择最优的行走路径。

参数

关于成本

成本可以理解为走1米消耗的体力。所以从起始点到目标点,系统就会计算成本,看看是直接穿过河流到达目标点消耗的成本低,还是绕过河流到达目标点消耗的成本低,从中择优。

应用

添加一个水区域,成本为3

在场景中添加一个立方体区域,模拟河流区域

给河流设置导航静态、支持网格链接和导航区域

重新烘焙

可以看到,河流区域以及变成了粉色,也就是河流导航区域

运行程序。

如果绕过河流到达目标点的成本低,角色就会选择绕过河流

如果直接穿过河流到达目标点的成本低,角色就会选择直接穿过河流

区域遮罩

在导航代理组件中,有一个区域遮罩,它代表角色能移动的区域,图中选择的是everything,也就是每个区域

如果我们在遮罩中,取消勾选water区域,则角色将无法到达这个河流区域

通过遮罩,我们可以设置不同角色可以到达的区域,比如人类不能到达毒气区域,而僵尸可以自由穿梭于毒气之中。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity导航算法是一种用于游戏开发中的路径规划算法,用于实现游戏中角色的自动导航和避障功能。该算法的基本原理是寻找从起点到终点的最优路径,同时避开障碍物。 Unity导航算法的实现过程可以分为三个步骤:建立导航网格、搜索最优路径和动态避障。 首先,建立导航网格是将地图划分成一系列小方格的过程。每个小方格被标记为可通行或不可通行,通过区分地图中可移动的区域和障碍物,为后续的路径搜索提供基础。 然后,搜索最优路径是根据导航网格进行的寻路算法。典型的搜索算法是A*算法,它通过评估每个方格的成本,并利用启发式函数估计到目标的最短距离,以选择最优的路径。A*算法综合考虑了路径长度和启发式函数的估计,使得找到的路径较为准确和高效。 最后,在动态避障过程中,Unity导航算法会根据环境的实时变化,不断更新导航网格和寻路路径。当出现新的障碍物时,算法会对网格进行更新,重新计算最优路径,以保证角色能够绕开障碍物而到达目标。 总结来说,Unity导航算法通过建立导航网格、搜索最优路径和动态避障来实现角色的自动导航和避障功能。该算法的基本原理是利用A*算法在导航网格中寻找到目标的最优路径,并根据环境的实时变化进行动态调整。这种算法在游戏开发中起到了重要的作用,使得游戏角色能够智能地避开障碍物,并按照最优路径进行导航
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值