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

添加武器插槽

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

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

生成武器

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

这样子机器人就有枪了

销毁武器

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

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

调用射击

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

在RobotShooter里,新建一个函数AlwaysShoot

打开机器人的控制类RobotController

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

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

相关推荐
pumpkin8451421 分钟前
学习笔记二十二—— 并发五大常见陷阱
笔记·学习
西瓜本瓜@33 分钟前
在 Android 中实现通话录音
android·java·开发语言·学习·github·android-studio
豆沙沙包?1 小时前
4.黑马学习笔记-SpringMVC(P43-P47)
笔记·学习
V功夫兔1 小时前
Spring_MVC 高级特性详解与实战应用
java·经验分享·笔记·spring
moxiaoran57531 小时前
Kubernetes(k8s)学习笔记(二)--k8s 集群安装
笔记·学习·kubernetes
姝孟2 小时前
学习笔记(C++篇)--- Day 3
c++·笔记·学习
xixixiLucky2 小时前
RESTful学习笔记(二)---简单网页前后端springboot项目搭建
笔记·学习
计算机视觉农民工3 小时前
学习深度学习是否要先学习机器学习?工程师的路径选择策略
深度学习·学习·机器学习
superior tigre3 小时前
C++学习:六个月从基础到就业——内存管理:自定义内存管理(上篇)
c++·学习
人机与认知实验室4 小时前
宽度学习与深度学习
人工智能·深度学习·学习