UE4中的AI行为树简单介绍

UE4引擎中可以实现简单AI的方式有很多,行为树是其中比较常用也很实用的AI控制方式,在官网的学习文档中也有最简单的目标跟踪AI操作教程,笔者在这里只作简单介绍。

AIController->和playcontroller一样,但区别于玩家控制器,AIController负责管理的是AI,也称AI控制器。

Blackboard->黑板,作用是用来标记关键值,为AI存储或者提取相关记忆。

Behavior Tree->行为树,从黑板里读取关键值,做出决定和执行。

Animation BluePrints->动画蓝图 配合行为树调用,之后详细讲。

Task->任务 

Services ->常用于检查和更新黑板.

NavMeshBoundsVolume->导航

拉出NavMeshBoundsVolume,导航网格,按下P键可以看到场景变成绿色,证明构建成功。导航网格是AI行为中必不可少的,在其范围内是AI可以执行相关行为的地方,而出了这范围就无法再生效。图示中的LinkeProxy表示连接跳跃,Modifier表示修正,具体用法可以自己实验。

 

第二步,创建AIPawn,AIController以及行为树和黑板,任务Task等,(Task的创建是由蓝图继承Task类创建的,其他的右键创建)。

 

在AIController跑起行为树,并将自己创建的AIController替换到要执行的AI上。

 

黑板里面增加一个变量TargetLoc,用来储存AI移动的目标坐标,这里就只做AI随机行走。

 

Task(Idle)里面的设置,蓝图如图内解释,记得最后要执行完成函数,变量Idle是用来储存要移动的目标点坐标,储存进黑板里刚刚设置的变量TargetLoc,在行为树里用来给其他函数进行调用。

 

关于行为树里面的设置如下

 

这里说下两个节点

Selector 从左到右在其子项中运行,直到其中一个成功才返回。

Sequence 从左到右在其子项中运行,直到其中一个失败返回。

这样行为树的意思就是执行下来从左往右,先Idle执行随机目标点的储存,然后等待5S,接着进行MoveTo移动,MoveTo函数的坐标点调用使用的就是黑板里刚存储的TargetLoc

 

简单的Demo完成了,接着就去场景跑吧。

 

转载于:https://www.cnblogs.com/songiveideas/p/learnmore10.html

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UE4(Unreal Engine 4)是一款功能强大的游戏开发引擎,其包括了行为编辑器,可以帮助开发者快速、灵活地创建和编辑游戏角色的行为UE4的行为编辑器是一个可视化的工具,可以让开发者通过拖拽、连接和调整节点来构建角色的行为逻辑。行为是一种形结构,由各种节点组成,每个节点代表一个行为或条件。开发者可以在编辑器创建不同类型的节点,例如选择节点、序列节点、并行节点等,来表达角色的行为流程。节点之间可以通过连接线进行连接,形成一个完整的行为。 在行为编辑器,开发者可以自定义节点的行为和参数。例如,可以为节点添加自定义的脚本或代码,来实现更复杂的行为逻辑。同时,还可以设置节点的优先级、执行顺序和条件,以及在不同情况下的跳转路径,来控制角色的行为流程。 行为编辑器还提供了一些常用的节点模板,例如移动、攻击、闲置等,开发者可以直接使用这些模板节点,然后根据自己的需求进行参数和行为的调整。此外,行为编辑器还支持多个角色之间的共享行为,可以实现多个角色共用同一套行为逻辑。 总之,UE4的自定义行为编辑器为开发者提供了一个强大的工具,可以快速构建和编辑游戏角色的行为逻辑。无论是简单行为还是复杂的逻辑,都可以借助行为编辑器来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值