U3L20-4——导航网格动态障碍物组件(NavMesh Obstacle)
U3L20-4——导航网格动态障碍物组件(NavMesh Obstacle)
导航网格动态障碍组件
在游戏中常常会有这样的一个功能,场景中有一道门,如果这道门没有被破坏是不能自动导航到门后场景的
只有当这道门被破坏了,才可以通过此处前往下一场景,
而类似这样的物体本身是不需要进行寻路的,所以没有必要为它添加 NavMeshAgent
脚本
这时就会使用动态障碍组件实现该功能
导航动态障碍物组件的使用
- 为需要进行动态阻挡的对象添加
NavMeshObstacle
组件 - 设置相关参数
- 代码逻辑控制其的移动或者显隐
参数相关
-
Shape 动态障碍的形状
- Capsule:胶囊
- Box:盒装
-
Carve: 是否开启雕刻功能
开启后,障碍物会在导航网格中挖一个孔,
所谓挖孔就是会生成对应的网格信息,认为这篇区域无法前往
如果动态障碍物是固定不动的,建议开启,比如阻碍物门木桶栅栏等等
如果动态障碍物是频繁移动的,建议不开启该功能,比如汽车和玩家- Move Threshold: 移动阈值 当障碍物移动超过该距离时,会认为其为移动状态,会更新移动的孔
- Time To Stationary: 障碍物作为静止状态需要等待的时间,单位为秒 当静止时间超过该值会认为真正静止了
- Carve Only Stationary: 只有在静止状态时才会计算孔
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!