UE4学习笔记 FPS游戏制作17 让机器人持枪 销毁机器人时也销毁机器人的枪 让机器人射击

添加武器插槽

打开机器人的Idle动画,方便查看武器位置

在动画面板里打开骨骼树,找到右手的武器节点,右键添加一个插槽,重命名为RightWeapon,右键插槽,添加一个预览资产,选择Rifle,根据Rigfle的角度调整插槽的角度

生成武器

将FppShooter事件图表里,开始时生成新枪的代码复制到RobotShooter里,但是我们只保留生成步枪的部分

这样子机器人就有枪了

销毁武器

由于武器是一个Actor,不会跟随角色的销毁自动销毁,所以销毁角色时要显式的销毁所持有的武器

在Shooter的事件图表里添加如下节点

调用射击

为了简单起见,我们让机器人一直开枪

在RobotShooter里,新建一个函数AlwaysShoot

打开机器人的控制类RobotController

新建一个纯函数GetRobotShooter,返回值为RobotShooter的引用

打开RobotController的事件图表,新增如下节点,调用射击方法,Delay节点的值是0,表示下一帧执行,因为AlwaysShoot内GetCurrentGun方法需要获取当前使用的武器,但是武器是在RobotShooter的Begin事件里执行的,和这里为同一时机,如果同时调用,会导致获取到的Gun引用为空

相关推荐
小林up5 小时前
《Unity Shader入门精要》学习1:Phong 模型中法向量归一化的正确位置
学习·unity·游戏引擎
Lojarro5 小时前
GO学习2:基本数据类型 与 转换
后端·学习·golang
come112346 小时前
冀教版三年级上册英语-学习思路和引导方法
学习
派森先生6 小时前
sk07.【scikit-learn基础】--『监督学习』之支持向量机
学习·支持向量机·scikit-learn
wdfk_prog7 小时前
`git rm --cached`:如何让文件“脱离”版本控制
大数据·linux·c语言·笔记·git·学习·elasticsearch
lingliang7 小时前
机器学习之三大学习范式:监督学习、无监督学习、强化学习
人工智能·学习·机器学习
派森先生7 小时前
sk06.【scikit-learn基础】--『监督学习』之决策树
学习·决策树·scikit-learn
stolentime8 小时前
二维凸包——Andrew 算法学习笔记
c++·笔记·学习·算法·计算几何·凸包
【上下求索】8 小时前
学习笔记092——Windows如何将 jar 包启动设置成系统服务
java·windows·笔记·学习·jar
没头脑的男大8 小时前
jupyter notebook继续学习
ide·学习·jupyter