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

添加武器插槽

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

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

生成武器

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

这样子机器人就有枪了

销毁武器

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

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

调用射击

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

在RobotShooter里,新建一个函数AlwaysShoot

打开机器人的控制类RobotController

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

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

相关推荐
奶黄小甜包2 小时前
C语言零基础第9讲:指针基础
c语言·笔记·学习
泽虞2 小时前
C语言深度语法掌握笔记:语法陷阱、内存管理、指针系统
c语言·笔记·面试
m0_738206544 小时前
嵌入式学习的第四十四天-ARM
学习
yanxing.D4 小时前
考研408_数据结构笔记(第四章 串)
数据结构·笔记·考研·算法
-Xie-4 小时前
JVM学习日记(十五)Day15——性能监控与调优(二)
java·jvm·学习
冬夜戏雪4 小时前
java学习 leetcode24交换链表节点 200岛屿数量 +一些开发任务
java·学习·链表
ST_小罗5 小时前
【AI智能编程】Trae-IDE工具学习
学习·trae
Fuliy965 小时前
【数字图像处理系列笔记】Ch04:灰度变换与空间域图像增强(2)
图像处理·人工智能·笔记·计算机视觉·数字图像处理
墨迹的陌离5 小时前
【Linux】重生之从零开始学习运维之主从MGR高可用
学习
再看扣你眼5 小时前
部署 Zabbix 企业级分布式监控笔记
笔记·分布式·zabbix