制作AI
创建目录AI
创建蓝图
创建一个Character蓝图
命名为AIChar
打开AIChar选中Mesh, 修改Mesh的网状结构
选中如下网格
点击查看材质
复制一份对应材质
修改颜色为白色
修改AI的材质
创建AI蓝图结束
创建AI控制器
创建蓝图aicontroler
重命名为AICharController
创建行为树
重命名为AICharBehaviorTree
控制器关联行为树
在AICharController中设置RunBehaviorTree
设置AICharBehaviorTree
AIChar和AICharController关联
打开行为树, 新建一个黑板
重命名为AICharBlackBoard
行为树关联黑板
然后可以再行为树和Blackboard之间来回切换
AI的基本东西都处理好了
接下来制作AI的动画蓝图
选择骨骼
重命名为AIChar_ABP
打开动画蓝图 添加插槽,
添加状态机
重命名为StateMechine
编辑状态机
添加状态
重命名为Idle/Run
添加混合空间
搜索之前的混合空间2D
提升Speed为变量
修改变量名为Speed
为AI 添加武器
添加骨架网格物体
修改名称为Sword
Skeletal Mesh修改为Sword
修改父项插槽
如上继续添加盾Shield
修改剑和盾的颜色
设置动画蓝图的Speed
设置动画蓝图如何获取Speed
修改行为树
添加装饰器名称HavePlayer
修改装饰器如下
在黑板中新建键
TargetPlayer
为装饰器HavePlayer修改targetPlayer属性
为Selector添加装饰器
添加Sequence 添加blackboard
再添加一个
修改KeyQuery
添加move to 目标为TargetPlayer 和wait 设置为2s
添加NavMeshBoundsVolume
覆盖整个场景
效果如下
修改AI速度
添加巡逻WalkRandom
新建服务
随机走动蓝图写法
修改黑板, 添加服务, 设置
添加一个vector类型变量
修改service的TargetLocation
添加MoveTo修改BlackboardKey 为 Destination
新建一个攻击任务
修改任务名称为Attack
重载函数 Receive Execute AI
修改Receive Execute AI
将Controller Pawn 装换为AIChar
让AIChar 播放蒙太奇
为AIChar创建一个攻击蒙太奇
开启EnableRootMotion
简单AIChar攻击
playerChar 添加攻击
添加伤害数值为10
返回AIChar
添加事件AnyDamage, 添加变量MaxHP和CurrentHP
打印剩余血量
关闭本身碰撞