虚幻5---第15部分---宝藏(掉落物)

虚幻5---第15部分---宝藏(掉落物)

宝藏!(Treasure!)

------从可破坏物体中生成拾取物

重点与流程:

  1. 下载和导入对应资产。下载声音,转化声音,导入声音,制作metasound。
  2. 在metasound设置和绘制好声音和声音衰减。
  3. 进入Item的C++文件夹,右键,创建从物品类派生的C++类。
  4. 在里面重写sphere overlap函数。
  5. 在指定C++文件里面写对应的声音变量和声音播放函数。注意头文件。
  6. 回到编辑器,新建对应蓝图,在里面设置网络体、声音。
  7. 测试。
示例图:


注意

  1. ue5.4导入声音,可以自动转化成wav。

生成 (ActorSpawning Actors)

------生成宝藏拾取物

重点与流程

  1. 在可破坏蓝图里面绘制,里面可以生成宝物。
示例图

从 C++ 生成( ActorSpawning Actors from C++)

------在代码中动态生成我们的宝藏

重点与流程

  1. 了解UClass的使用和作用。设置蓝图类。
  2. 创建UClass对象。在C++里设置可破坏物破坏后有宝藏类。
  3. 用TSubclassOf来代替UClass。
  4. 设置碰撞。让胶囊体来碰撞,让我们可以站在罐子碎片的实际碰撞点,而不是出现不准确的颠簸。
示例图

注意:

  1. 测试如果出现死循环,是因为罐子和拾取物的碰撞和检测进入死循环。解决办法:设置一个bool在重叠函数中决定是否return。(在146的23:30处)

不同类型的宝藏(Different Types of Treasure)

------创建 TSubclassOf 变量数组

重点与流程

  1. 在C++里增加金币数量来定义掉落物的价值。在宝藏的蓝图里面设置
  2. 设置一下宝藏的旋转运动。
  3. 创建子蓝图来添加更多的宝藏,而不用重新写代码和设置。多设置点宝藏。只需要设置网络体和金币值。
  4. 使用TSubclassOf的数组来存储多个蓝图变量。在可破坏蓝图里面添加数组内容
  5. 修改可破坏文件代码里面的击中物品出现逻辑。添加随机值,使出现物品随机。
示例图

注意:

  1. 小心因为数组越界访问导致的系统崩溃。它不会编译报错,只在运行到某一个行为时崩溃。

不同类型的可破坏物体(Different Types of Breakables)

------增加可破坏物体的类型

重点与流程

  1. 选择其它的容器资产,新建几何集合,碎裂它,再创建对应的子蓝图,设置好几何集合的类型,胶囊体,出来的宝藏类型。
  2. 复制它的蓝图,生成一些无宝藏的蓝图版本。
  3. 同样的步骤,多找一些容器来重复。
  4. 在C++里添加bool值来防止多次调用击中函数。
示例图


注意:

  1. 如果我们打破了东西,我们不想再次打破它,不想多次调用这个被击中函数。

Niagara 系统(Niagara Systems)

------为拾取物添加闪烁效果

重点与流程

  1. 创建一个Niagara系统。了解Fountain的各个参数功能。
  2. 设置符合调节的特效,记得保存资产。
示例图

注意:

  1. 虚幻5.4移除了Vortex Velocity。只能在Vortex force里面设置旋转。

Niagara 组件(Niagara Components)

------将我们的发射器添加到物品上

重点与流程

  1. 尝试在蓝图里给武器添加Niagara。
  2. 在C++里添加Niagara组件,在物品文件构造它,
  3. 在物品蓝图处设置Niagara。
  4. 在C++设置装备后取消特效。
示例图

注意:

  1. 如果发现Niagara效果在某个物品效果不太好,比如范围太小,可以通过改变缩放来调整。
  2. 如果出现人踩到武器上面,注意检测碰撞(物理与查询)是否启用。参考设置

挑战15:

  1. 多添加几种宝藏类型,在游戏中试试从哪些可破坏物体里掉落什么宝藏。
相关推荐
KaMeidebaby10 分钟前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_176840 分钟前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
取地址符1 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
Mininglamp_27181 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀1 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++
醉城夜风~1 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
ysa0510302 小时前
【板子】ST表
c++·笔记·算法·板子
qydz112 小时前
杰理开发基础知识(3)
开发语言·嵌入式开发·杰理科技
贾斯汀frank2 小时前
C# 15 类型系统改进:Union Types
开发语言·windows·c#
阿里嘎多学长2 小时前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管