UE4 AI阻挡AI的解决办法

8 篇文章 2 订阅
4 篇文章 0 订阅

哈喽 大家好,我叫人宅。

这个问题还是有必要探讨的。

 不同阵营的AI在决定攻击目标的时候 容易出现堆叠的问题,比如如下,这个问题是来自于当时录制Moby游戏的小兵的问题。 

原来的方案是不支持角色的动态障碍物识别

个人也尝试过不同的方案,但是效果不理想

方案1

尝试过导航挖洞的方式,但效果不好,角色抖动厉害,要求实时计算导航。

通过设置导航的网格数 这个解决办法也试过,但还是有定成度抖动。

方案2

尝试过四个方向进行射线,但是效果有延迟,需要AI进行每帧Tick,效果才会得到改善,成批的AI计算会影响服务器的效率。

最后发现:

只需要在角色的身上 CharacterMovement->bUseRVOAvoidance = true

角色自动实现不重叠操作。

 

以上就是我们简单的分析。

如果有什么问题欢迎来UE大学提问。

  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Unreal Engine 4(UE4)中,我们可以使用不同的方法和技术来使人工智能(AI)角色绕过障碍物。 第一种方法是使用导航网格(NavMesh)。导航网格是一种在场景中创建可行走区域的技术。我们可以在场景中放置一个NavMeshBounds卷轴来定义可行走区域。然后,我们可以使用NavMesh生成器来创建导航网格,该网格将在可行走区域上生成路径。AI角色可以使用这个路径来绕过障碍物。 第二种方法是使用动态避障(Dynamic Obstacle Avoidance)。动态避障是一种实时检测和避免障碍物的方法。在UE4中,我们可以使用AIController类中的MoveToLocation函数来移动AI角色。当AI角色接近一个障碍物时,它使用环形探测来检测周围的障碍物,并尝试通过调整移动路径来避免与障碍物相撞。 第三种方法是使用射线检测(Line Trace)。射线检测是一种在场景中沿特定方向发射射线的技术。我们可以使用AI角色的视线方向发射射线,并检测是否与障碍物相交。如果射线与障碍物相交,AI角色可以选择绕过障碍物。 最后,我们还可以使用行为树(Behavior Tree)来实现AI角色的障碍绕过。行为树是一种用于描述AI行为的图形化工具。我们可以在行为树中添加条件和动作节点来定义AI角色的行为。在绕过障碍时,我们可以在条件节点中添加障碍检测,并在动作节点中指定移动到一个可行走位置。 综上所述,以上是在UE4中实现AI角色绕过障碍物的几种方法。根据实际需求和场景,我们可以选择适合的方法来处理AI角色的移动和避障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值