添加武器插槽
打开机器人的Idle动画,方便查看武器位置
在动画面板里打开骨骼树,找到右手的武器节点,右键添加一个插槽,重命名为RightWeapon,右键插槽,添加一个预览资产,选择Rifle,根据Rigfle的角度调整插槽的角度
生成武器
将FppShooter事件图表里,开始时生成新枪的代码复制到RobotShooter里,但是我们只保留生成步枪的部分
这样子机器人就有枪了
销毁武器
由于武器是一个Actor,不会跟随角色的销毁自动销毁,所以销毁角色时要显式的销毁所持有的武器
在Shooter的事件图表里添加如下节点
调用射击
为了简单起见,我们让机器人一直开枪
在RobotShooter里,新建一个函数AlwaysShoot
打开机器人的控制类RobotController
新建一个纯函数GetRobotShooter,返回值为RobotShooter的引用
打开RobotController的事件图表,新增如下节点,调用射击方法,Delay节点的值是0,表示下一帧执行,因为AlwaysShoot内GetCurrentGun方法需要获取当前使用的武器,但是武器是在RobotShooter的Begin事件里执行的,和这里为同一时机,如果同时调用,会导致获取到的Gun引用为空