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

添加武器插槽

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

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

生成武器

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

这样子机器人就有枪了

销毁武器

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

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

调用射击

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

在RobotShooter里,新建一个函数AlwaysShoot

打开机器人的控制类RobotController

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

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

相关推荐
秋深枫叶红9 分钟前
嵌入式第三十九篇——linux系统编程——信号通信、共享内存
linux·运维·服务器·学习
arron889910 分钟前
以目标检测基础知识学习分割模型算法
学习·算法·目标检测
JAVA+C语言15 分钟前
Python新手学习
开发语言·python·学习
龚子亦18 分钟前
【GameFramework框架】FSM使用
学习·unity·游戏开发·游戏框架
roman_日积跬步-终至千里19 分钟前
【人工智能导论】07-学习-CNN:卷积+池化+多层堆叠,有效处理图像等结构化数据
人工智能·学习·cnn
TL滕22 分钟前
从0开始学算法——第二十一天(复杂链表问题)
笔记·学习·算法
老王熬夜敲代码24 分钟前
IP和MAC的深入理解
linux·网络·笔记·网络协议
X_Eartha_81526 分钟前
前端学习—HTML基础语法(1)
前端·学习·html
秋深枫叶红34 分钟前
嵌入式第三十八篇——linux系统编程——IPC进程间通信
linux·服务器·网络·学习
YJlio36 分钟前
FindLinks 学习笔记(12.4):NTFS 硬链接扫描与文件“多重身份”排查
笔记·学习·intellij-idea