Unity - 新版NavMesh动态烘培

本文介绍了Unity新版NavMesh动态烘培的使用,强调其高效和易用性,特别是支持动态烘培功能,使得实现如怪物追逐、避开陷阱等复杂场景变得更加简单。通过添加LocalNavMeshBuilder和NavMeshSourceTag,可以轻松处理动态导航问题。同时,文章提到新版NavMesh存在的问题,如物体运动导致的导航网格抖动,并给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity - 新版NavMesh动态烘培


Unity的新版NavMesh更加易用效率更高,而且支持动态烘培,这一点特别重要,可以很简单的就实现很多之前处理起来比较复杂的功能。比如现在有个需求,怪物追随玩家,碰到陷阱后玩家跳过,怪物无法跳过碰到陷阱则死亡,但是后续的怪物可以踩着尸体过去。

这个功能之前的实现可能是这样的:在陷阱边缘停止导航,手动控制移动,碰到陷阱死亡停留原地变成地面…现在用新版NavMesh的动态烘培,只要很少的代码就可以实现了。

动态烘培

准备:从官方Github下载源码,拷贝如下代码:

Assets\Examples\Scripts\LocalNavMeshBuilder.cs
Assets\Examples\Scripts\NavMeshSourceTag.cs
Assets\NavMeshComponents下所有文件
注意这些代码都可以根据需求直接修改
  1. 添加LocalNavMeshBuilder,设置动态烘培的区域。
    这里写图片描述
  2. 对动态烘培的物体,添加NavMeshSourceTag,注意默认的动态烘培是根据物体的Mesh计算的,也支持根据包围盒包围球,需要自己改代码。静态的物体不要勾选Batching Static。
  3. 动态烘培不需要加NavMeshSurface,但加上可以在编辑器界面看效果。
  4. 实现上述需求只需碰到陷阱时关闭NavMeshAgent,并添加NavMeshSourceTag就行。
    这里写图片描述</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值