当前位置: 首页 > news >正文

UE4学习笔记 FPS游戏制作11 把枪提出为对象

之前的项目里枪直接作为玩家的子物体,开枪方法直接由玩家调用,不好

创建枪的蓝图

新建一个Rifle蓝图,父类选择为Acotor
在这里插入图片描述
指定mesh为步枪的mesh
新建一个Arrow,改名为Muzzle,调整位置和方向到枪口
在这里插入图片描述

修改Rifle蓝图

将人物蓝图里的射击方法移动到枪的蓝图里,并新建好对应的参数
在这里插入图片描述
GunOwner:枪的持有者,也就是玩家角色
射击方法迁移过来后,由于原来蓝图中要使用角色蓝图进行例如播放停止射击动画,查找玩家方向,查找摄像机等行为,所以需要由GunOwner提供角色引用,赋值给原来的节点,如下展示
在这里插入图片描述

修改FPPShooter蓝图

原来的角色蓝图里,只需要保留开枪和停止开枪,而且内部只需要调用枪的方法
在这里插入图片描述

玩家装备枪

删除原来玩家下的枪模型和Muzzle
添加一个ChildActor组件,ChildActor是可以在编辑时动态修改,需要运行时动态修改请参考下一篇文章
指定组件的套接字为武器的插槽
选择子Actor类为Rifle,调整武器的位置
在这里插入图片描述
在这里插入图片描述

为参数赋值

现在玩家已经装备了枪,但是玩家的Gun属性和Rifle蓝图的GunOwner属性还没有赋值
打开玩家蓝图的事件图表,在开始事件里为各个属性赋值

在这里插入图片描述

相关文章:

  • 2025.3.23机器学习笔记:文献阅读
  • soft回归用内置函数
  • 软考-高项,知识点一览八 整合管理
  • CUDA Lazy Loading:优化GPU程序初始化与内存使用的利器
  • 【蓝桥杯】12111暖气冰场(多源BFS 或者 二分)
  • ‘闭包‘, ‘装饰器‘及其应用场景
  • 西门子200smart之modbus_TCP(做从站与第三方设备)通讯
  • 从头开始学C语言第二十九天——指针数组
  • JavaScript-日期对象与节点操作详解
  • Apache Flink技术原理深入解析:任务执行流程全景图
  • Rocky9.2 编译安装Intel WIFI系列无线网卡驱动
  • 华为终端将全面进入鸿蒙时代
  • LLM - CentOS上离线部署Ollama+Qwen2.5-coder模型完全指南
  • Mimalloc论文解析:小内存管理的极致追求与实践启示
  • 虚拟机访问主机的plc仿真
  • C++学习之网盘项目单例模式
  • Swift 经典链表面试题:如何在不访问头节点的情况下删除指定节点?
  • FPGA 以太网通信(四)网络视频传输系统
  • c#难点整理2
  • windows下利用Ollama + AnythingLLM + DeepSeek 本地部署私有智能问答知识库
  • 多地举办演唱会等吸引游客刺激消费,经济日报:引导粉丝经济理性健康发展
  • 最高人民法院、中国证监会联合发布《关于严格公正执法司法 服务保障资本市场高质量发展的指导意见》
  • Offer触手可及,2025上海社会组织联合招聘专场活动正寻找发光的你
  • 泽连斯基启程前往土耳其
  • 万科再获深铁集团借款,今年已累计获股东借款近120亿元
  • 广西北部湾国际港务集团副总经理潘料庭接受审查调查