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

24.UE5枚举,怪物分类,龙卷风技能

2-26 枚举、怪物分类、龙旋风技能、掉落概率_哔哩哔哩_bilibili

目录

1.枚举

1.1枚举类型的创建

1.2 将枚举类型绑定到怪物蓝图上

1.3枚举类型的使用

1.3.1创建新的掉落物

1.3.2更改怪物掉落逻辑 

 2.龙卷风技能

2.1输入映射

2.2龙卷风发射物的创建

2.3龙卷风伤害逻辑

 2.4龙卷风吸附逻辑

 2.5主角发射龙卷风


1.枚举

1.1枚举类型的创建

枚举本身就是对一种事物进行分类,本节通过使用枚举将怪物001,怪物002,怪物003分类成小怪,精英和BOSS。并通过让不同怪物掉落不同的掉落物,以及不同的掉落概率。

新建枚举蓝图,并命名为怪物类型

添加枚举器,并命名为:小怪,精英,boss

1.2 将枚举类型绑定到怪物蓝图上

我们通过读表的方式将枚举类型绑定到怪物蓝图上,首先更改怪物基础数据的结构体,和怪物基础表格中的数据。

 在怪物基础数据中增加一个变量类型:怪物类型。

 并为每一条数据分配不同的枚举类型

打开怪物总类的构造函数,将怪物类别提升为变量,并赋值

1.3枚举类型的使用

使用枚举类型来实现,不同怪物的不同掉率和掉落物。

1.3.1创建新的掉落物

首先创建新的掉落物,复制回血道具,并命名为加经验道具

在加经验道具中重载事件:发动道具效果

 这个001角色的加经验的事件,和怪物死亡调用的那个方法一样,之前就已经实现过,逻辑如下:

 最后更改一下加经验道具的Niagara特效和缩放,掉落物就制作完成了。

1.3.2更改怪物掉落逻辑 

打开怪物的应用任意伤害,当怪物死亡后执行怪物掉落图表

怪物掉落图表展开

 不同怪物类型执行不同的掉落概率和掉落方法

 掉落概率宏的定义如下

 掉落物图表逻辑如下

 掉落物方法逻辑如下

 2.龙卷风技能

2.1输入映射

 创建新的输入映射,并绑定到战斗映射中,本例子绑定的是Q键

2.2龙卷风发射物的创建

 创建发射物总类的子蓝图并命名为龙卷风

 在龙卷风开始运行时,先设置龙卷风的伤害(伤害公式可自行发挥)

2.3龙卷风伤害逻辑

龙卷风造成伤害的图表逻辑如下:

按照一个定时器,以伤害频率为依据进行伤害的施加

 进行多球体追踪,如果可以转换成怪物总类,则进行施加伤害

不应用重复伤害的宏定义如下:

应用伤害的宏如下:

应用完一轮伤害后清空已受击怪物的数组,可以在下次检测中继续施加伤害

 2.4龙卷风吸附逻辑

我们使用Tick实现吸附逻辑,比较丝滑,总体逻辑如下:

首先进行多球体追踪

 并对检测到的对应目标进行吸附

 2.5主角发射龙卷风

逻辑如下

恢复主角状态的代码如下:即还原为初始状态,不攻击,不施法流星火雨,旋转朝向运动,关闭后期盒子

 至此编译,可成功运行

http://www.lryc.cn/news/489216.html

相关文章:

  • 什麼是ISP提供的公共IP地址?
  • git操作总结
  • CompressAI安装!!!
  • 豆包MarsCode算法题:最小周长巧克力板组合
  • vue项目添加骨架屏vue-skeleton-webpack-plugin,通过app.vue添加骨架屏,解决衔接空白问题
  • 测试实项中的偶必现难测bug之模糊匹配逻辑
  • Vue:后端返回二进制文件,前端如何实现浏览器自动下载?
  • Android解压zip文件到指定目录
  • 主要用于图像的颜色提取、替换以及区域修改
  • gbase8c之运维操作
  • 云原生学习
  • 深入解析 Vue 3 中的 defineExpose
  • Docker3:docker基础1
  • 【UGUI】背包的交互01(道具信息跟随鼠标+道具信息面板显示)
  • ubuntu20.04中编译安装gcc 9.2.0
  • ss 命令的基本用法
  • Leetcode198. 打家劫舍(HOT100)
  • kafka基础
  • STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
  • Python设计模式详解之2 —— 工厂模式
  • 【Zookeeper】二、主从应用(master-worker架构)
  • Diffusion【2】:VAE
  • 高级java每日一道面试题-2024年11月19日-基本篇-获取一个类Class对象的方式有哪些?
  • xilinx xapp1171学习笔记
  • 一次需升级系统的wxpython安装(macOS M1)
  • el-table 数据去重后合并表尾合计行,金额千分位分割并保留两位小数,表尾合计行表格合并
  • Springboot整合mybatis-plus使用pageHelper进行分页
  • 【Xbim+C#】创建拉伸的墙
  • 【阅读记录-章节3】Build a Large Language Model (From Scratch)
  • three.js 对 模型使用 视频进行贴图修改材质