AI文件夹
还是character蓝图
需要AIcontroller(AI控制器)
PlayerController与AIController都会操控Pawn,是Pawn的“大脑”。不同点在于,AIController由AI驱动,不需要玩家介入,因此相比PlayerController,就不需要HUD、Input、PlayerCameraManager这些组件了。
AIController不与某个玩家相关,在DS模式下,AIController只存在于服务端,在服务端对Pawn做出操控后,再由Pawn把表现同步到客户端。
AIController虽然用于操控pawn,但并不代表所有AI逻辑都由它实现,AIController更像是一个桥梁,多种多样的AI逻辑通过AIController作用于pawn。这样分层后有一个好处,AI逻辑可以更加抽象和通用,不必关注底层实现细节。我们可以选择用代码实现AI,也可以用行为树组件通过节点拖拽来实现AI,都能达到相同的效果。
原文地址:https://blog.csdn.net/kuangben2000/article/details/107871387
记得修改character蓝图的类默认设置
需要行为树(behaviortree)
行为树本质上是AI的处理器,可以根据这些决策的结果做出决策并执行各种分支。
在行为树中新建黑板
黑板 资源保存了一个 AI 控制器实例所需的所有数据,该 AI 控制器将被 行为树 引用。
让事件开始时便执行行为树
为AI做与玩家相同的动画
创建动画蓝图
与玩家基本一致
行为树的编写
需新建装饰器
对其命名
对其蓝图进行编写
其中+1的操作是因为当前版本虚幻4不允许起始点与结束点不同
所以这里生成的是与球体极其相似的胶囊体
上图for循环主要是用来进行无限次检测。
在进入球形检测时,AI会先检测到AI,但是同时也要检测到玩家
在break hit result中,当检测到playerchar对象时才进行处理,将值设置到Targetactor这个变量中
在循环结束时将返回节点设置为真
记得设置为公开
编写行为树:
行为树节点
一、Composite组合节点:
1、Selector
要求比较低:只要有一个子节点成功就可以了。
只要子节点有一个返回true,则停止执行其它子节点,并且Selector返回true。如果所有子节点都返回false,则Selector返回false。
2、Sequence
要求比较高:期望所有子节点都成功。
只要有一个子节点返回false,则停止执行其它子节点,并且Sequence返回false。如果所有子节点都返回true,则Sequence返回true。
二、Task叶子:
实际执行操作,不含输出链接。
三、Decorator装饰节点
依附于其它节点,条件节点:如果返回true则执行位于“Decorator”下面的节点,否则就不执行。
四、Services服务节点
只能附加在Composite组合节点上,只要其附加的节点被执行,Services节点就会被执行,通常用来检查和更新黑板。
原文地址https://blog.csdn.net/weixin_30463341/article/details/98530865
需注意为黑板添加值
select后:如果有玩家则移动至玩家,等两秒。
记得添加导航