UE5学习记录part12

第15节: treasure

154 treasure: spawn pickups from breakables

treasure是items的子类

基于c++的treasure生成蓝图类



155 spawning actors: spawning treasure pickups

设置treasure的碰撞

蓝图实现



156 spawning actors from c++ : spawning our treasure dynamically in code

当使用spawnactor时,普通的参数只能生成c++类的treasure实例,但是c++类的实例没有分配网格,所以需要在c++代码中生成蓝图实例,这就需要uclass类参与

借助UClass指针类,指定资源之后,蓝图类treasure就可以作为参数传入c++代码中,让c++代码生成蓝图类treasure

设置breakable在破碎之后的胶囊体对角色无block属性



157 different types of treasure: creating an array of TSubclass of variables

基于已有蓝图类生成子类

将TSubclassOf<class ATreasure>改为使用TArray<TSubclassOf<class ATreasure>>传入子类蓝图随机生成财宝



158 different types of breakables

If you scale a static mesh and then fracture it, then the geometry collection will be created based 如果您缩放静态网格物体,然后使其破裂,那么将基于几何体集合创建

on the scale of the static mesh that you created. 在您创建的静态网格体的比例上。

That's why our other pot is much bigger. 这就是为什么我们的另一个底池要大得多。

Our geometry collection was created from a scaled up static mesh. 我们的几何体集合是从放大的静态网格体创建的。

选中想要打碎的物品-》放大到合适大小-》在fracture mode下new collection and fracture-》取消勾选show bone->基于原有的BP_Breakable生成子类蓝图-》进行配置,调整capsule radius and half height

为什么一个已经设置了fracture的GeometryCollection几何体,当武器已经设置了field力场时,武器只能打破Breakable蓝图(蓝图中有设置GemometryCollection属性变量),而不能直接打破放在游戏世界里的GeometryCollection几何体?

--有一个猜测时单纯的GeometryCollection几何体没有设置capsule或者collision,没法触发weapon的gethit事件,而weapon只有在gethit事件中才createfields。GeometryCollection几何体只有碰到fields才有解体的可能,可以设置非breakable蓝图类包含有GeometryCollection几何体变量和capsule可以触发overlao事件来验证。(已验证单独的fieldsystem蓝图类可以直接破碎一个单纯的GeometryCollection几何体)

可以使用explode amount来查看破碎的过程



159 niagara system: adding a sparkling effects to pickups

创建niagara系统

可以手动添加更多模块



160 niagara components: adding our emitter to Items

需要在build.cs文件中添加niagara模块

相关推荐
远离UE48 小时前
houdini hda 如何让模拟与虚幻物体进行碰撞
笔记·学习·houdini
浮游本尊9 小时前
React 18.x 学习计划 - 第十四天:实战整合与进阶收尾
前端·学习·react.js
The_Uniform_C@t210 小时前
PWN | 对CTF WIKI的复现+再学习 (第八期)
网络·学习·网络安全·二进制
前路不黑暗@11 小时前
Java项目:Java脚手架项目的登录认证服务(十三)
java·spring boot·笔记·学习·spring·spring cloud·maven
前路不黑暗@12 小时前
Java项目:Java脚手架项目的 C 端用户服务(十五)
java·开发语言·spring boot·学习·spring cloud·maven·mybatis
Hello_Embed13 小时前
Modbus 传感器开发:STM32F030 libmodbus 移植
笔记·stm32·学习·freertos·modbus
知识分享小能手13 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019 视图操作 — 语法知识点及使用方法详解(16)
sql·学习·sqlserver
前路不黑暗@14 小时前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud
锅包一切15 小时前
PART17 一维动态规划
c++·学习·算法·leetcode·动态规划·力扣·刷题