【UE5.1 角色练习】07-AOE技能

news2024/9/25 20:38:53

目录

效果

步骤

一、准备技能动画 

二、准备粒子特效

三、技能蓝图

四、相机震动


前言

在上一篇(【UE5.1 角色练习】06-角色发射火球-part2)基础上继续实现角色释放AOE技能的功能。

效果

步骤

一、准备技能动画 

1. 在项目设置中添加一个操作映射,这里命名为“Attack_AOE”

2. 找到小白人的一个动画序列作为释放AOE技能的动作,这里使用名为“Anim_SLB_2”的动画序列

替换骨架

使用IK重定向器导出兼容角色骨骼的动画序列

3. 打开动画蓝图,在动画图表中添加一个状态,这里命名为“Fire_AOE”

添加一个布尔类型变量“IsFiring_AOE”,用于表示当前是否在释放AOE技能

双击进入“Fire_AOE”状态,将我们转换的AOE动画序列拖入作为输出动画姿势

编辑一下状态转换的规则

二、准备粒子特效

1. 新建一个Niagara系统,选“Omnidirectional Burst”作为模板

这里命名为“NS_AOE”

打开该粒子系统,先删除重力模块

在“属性”中,勾选“本地空间”,模拟目标设置为“GPU计算模拟”,计算边界模式为“固定”

在“Emitter State”中设置“Loop Behavior”为“Once”,让粒子只生成一次即可

设置粒子生成的数量为500

在“Initialize Particle”模块中,设置粒子生命周期为3~5s,粒子初始大小为1~2cm

添加一个“Curl Noise Force”模块,设置噪声强度为1000,噪声频率为20

在“Scale Color”中设置一下粒子的颜色

此时效果如下

为了让粒子只在有限的区域内飞舞,我们可以先添加一个自定义模块

这里命名为“Module_RadiusClamp”

在该模块中我们用到粒子的位置,然后再添加一个浮点类型的输入参数,这里命名为“Radius”,表示我们要将粒子限制在半径为“Radius”的球体范围内

由粒子的位置获取到粒子的方向和长度。其中长度是指当前粒子距出生点的距离

当粒子距出生点距离大于半径时,我们就设置粒子的位置为方向*半径;若小于就任然使用粒子自身的位置

我们将该模块添加进粒子更新中,设置“Radius”为500cm

此时效果如下,可以看到粒子被限制在半径为100cm的球形范围内

添加一个旋涡力

添加一个Collsion模块,让粒子碰到物体后能够反弹

此时粒子效果如下

三、技能蓝图

1. 新建一个actor蓝图,这里命名为“BP_Skill_AOE”

打开“BP_Skill_AOE”,添加径向力组件、Niagara系统组件、球体碰撞组件

其中,径向力组件的半径设置为500cm,和粒子范围一样

可以设置一下径向力的强度,并且关闭自动启用,只有当碰撞发生时再启用径向力

如果不想角色被推开,我们可以取消Pawn为受影响的对象

Niagara组件的系统资产使用我们在第二步中创建的Niagara系统

接下来我们希望球形碰撞组件的半径也是像粒子效果那样一开始不断扩大,最终维持在半径500cm的大小,因此在事件图表中先创建一个时间轴用于控制这个过程。

在时间轴中设置三个关键帧的位置分别为(0,0)、(0.5,1)、(3,1)

继续在事件图表中添加如下节点,让球形碰撞组件的半径在3s内由32变为500cm

当发生碰撞后就造成伤害,并且激活径向力

2. 打开角色蓝图,设置按下2键播放角色释放技能时的动画并生成技能

此时运行效果如下,可以看到释放技能的时候将一个具有模拟物理属性的方块推开了

四、相机震动

1. 新建一个蓝图选择父类为“LegacyCameraShake(旧版摄像机晃动)” 

这里命名为“CameraShake_AOE”

打开“CameraShake_AOE”,在类默认值中设置振荡时长、混入时间以及旋转振荡的振幅和频率

还有位置振荡的振幅和频率

2. 在角色蓝图中设置在释放技能的时候让摄像机晃动,其中“Scale”参数用于控制晃动的幅度

此时效果如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1700881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Compose Multiplatform 1.6.10 发布,解释一些小问题, Jake 大佬的 Hack

虽然一直比较关注跨平台开发,但其实我很少写 Compose Multiplatform 的内容,因为关于 Compose Multiplatform 的使用,其实我并没在实际生产环境上发布过,但是这个版本确实值得一提,因为该版本包含: iOS Bet…

Vue基础(数据绑定、export使用)

1、简介 在使用vue开发的过程中,经常会遇到一些容易混淆的问题,因此,在本文中进行汇总操作,只有通过不断总结学习,才能更好掌握vue的使用(每天进步一点)。 2、数据绑定 在js中定义数据&#xf…

基于深度学习和opencv的车牌识别系统

免费获取方式↓↓↓ 项目介绍028: 基于深度学习和opencv的车牌识别系统 同时利用对图片每一帧图像加入视频分析模块 图片分析模块可以依据界面按钮提示进行相应功能 视频分析模块可以根据按钮提示进行对视频的分析 (视频模块的视频追踪处理时间较长&…

知攻善防应急响应靶机训练-Web2

前言: 本次应急响应靶机采用的是知攻善防实验室的Web-2应急响应靶机 靶机下载地址为: https://pan.quark.cn/s/4b6dffd0c51a 相关账户密码 用户:administrator 密码:Zgsfqq.com 解题过程: 一、攻击者的IP地址(两个)…

1108 String复读机

solution1 分别统计字符String的个数&#xff0c;并按照该顺序输出 #include<iostream> #include<string> #include<map> using namespace std; map<char, int> mp; void handle(char c){if(mp.count(c)){cout << c;mp[c]--;if(mp[c] 0) mp.e…

【软件开发规范篇】前言

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

吴恩达2022机器学习专项课程C2W2:2.22 多类 softmax softmax与神经网络 softmax的代码改良 多标签分类

目录 多分类问题1.什么是多分类问题2.多分类问题案例3.二分类与多分类的区别 Softmax1. 什么是Softmax2.逻辑回归预测的计算过程3. Softmax预测的计算过程4.Softmax 回归与逻辑回归的关系5. Softmax的损失函数 softmax与神经网络1.设置Softmax层2.Softmax层的计算3.softmax激活…

全国多地入夏!对抗“高温高湿”约克VRF中央空调有妙招

随着气温飙升,北京、上海、广州、南京、天津、江苏、新疆、内蒙古部分地区等多地进入夏季状态,华北、黄淮等不少地方最高气温都超过了30℃,大街上人们短袖、短裤纷纷上阵,一派夏日炎炎的景象。 炎热夏季不仅高温频频来袭,往往还伴随着降雨带来的潮湿,天气湿热交织容易让人们身…

开发心电疾病分类的深度学习模型并部署运行于ARM虚拟硬件平台(AVH)

目录 一、ARM虚拟硬件平台介绍 二、心电疾病分类模型介绍 三、部署流程 3.1 基于百度云平台订阅虚拟硬件镜像 3.2 安装编译相关组件 3.1 数据加载 3.2 模型转换 方式一&#xff1a; tensorflow模型转换为onnx模型&#xff0c;onnx模型转换为TVM模型 方式二&#xff1…

分子对接 molecular docking

https://www.sciencedirect.com/science/article/pii/S094471132400374X?via%3Dihub GitHub - beikwx/SailVina: SailVina重构增强版 Molecular docking Download the PTPRB protein structure on the PDB database (RCSB PDB: Homepage). Select the high-resolution PTP…

Dubbo生态之sentinel限流

1. 限流算法 我们知道&#xff0c;在分布式架构中&#xff0c;当服务请求量过大时&#xff0c;容易对服务器造成不可预知的压力&#xff0c;因此&#xff0c;我们在客户端请求的时候&#xff0c;进行限流&#xff0c;起到一个保护的作用 常见的限流算法有: 计数器限流&#x…

Mixed-precision计算原理(FP32+FP16)

原文&#xff1a; https://lightning.ai/pages/community/tutorial/accelerating-large-language-models-with-mixed-precision-techniques/ This approach allows for efficient training while maintaining the accuracy and stability of the neural network. In more det…

C++第二十弹---深入理解STL中vector的使用

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、vector的介绍 2、vector的使用 2.1、构造函数和赋值重载 2.1.1、构造函数的介绍 2.1.2、代码演示 2.2、容量操作 2.3、遍历 2.4、增删…

RH850F1KM-S4-100Pin_ R7F7016453AFP MCAL PWM 配置

1、PWM组件包含的子配置项 PwmGeneralPwmDemEventParameterRefsPwmConfigurationOfOptApiServicesPwmChannelConfigSet2、PwmGeneral 2.1、PwmPowerStateConfig 2.1.1、PwmPowerState 该参数的每个实例描述PWM HW支持的不同功率状态。它应该由硬件供应商定义,并由PWMDriver用…

HoneyTrap蜜罐系统实践操作@FreeBSD

HoneyTrap介绍 HoneyTrap是一个可扩展的开源系统&#xff0c;用于运行、监控和管理蜜罐。 HoneyTrap蜜罐系统通过在网络中部署感应节点&#xff0c;实时感知周边网络环境&#xff0c;并将感应节点的日志进行实时存储和可视化分析&#xff0c;从而实现对网络环境中威胁情况的感…

BUUCTF-WEB3

[极客大挑战 2019]Knife1 1.打开附件链接 一句话木马eval($_POST["Syc"]); 2.中国蚁剑 用中国蚁剑连接 在根目录下找到一个名为flag的文件 3.得到flag [极客大挑战 2019]Upload1

STM32Cubemx HAL库 移植FreeRTOS源码

本篇文章主要是使用STM32Cubemx生成Keil工程&#xff0c;然后在移植FreeRTOS源码&#xff0c;最后测试使用。 一、FreeRTOS简介 Free 和 RTOS&#xff0c;Free 就是免费的、自由的、不受约束的意思&#xff0c;RTOS 全称是 Real Time Operating System&#xff0c;中文名就是实…

大数据开发面试题【Spark篇】

115、Spark的任务执行流程 driver和executor&#xff0c;结构式一主多从模式&#xff0c; driver&#xff1a;spark的驱动节点&#xff0c;用于执行spark任务中的main方法&#xff0c;负责实际代码的执行工作&#xff1b;主要负责&#xff1a;将代码逻辑转换为任务、在executo…

Java对象不再使用时,为什么要赋值为 null ?

在Java中&#xff0c;将不再使用的对象赋值为null的目的主要是为了帮助垃圾收集器&#xff08;更快地释放内存。我这里有一套编程入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习编程&#xff0c;不妨点个关注&#xff0c;给个评论222&…

短剧平台开发中的常见误区及避坑指南,别再走弯路

1. 误区一&#xff1a;只注重外观&#xff0c;忽视技术基础 在短剧平台开发中&#xff0c;一个常见的误区是过于注重产品的外观设计&#xff0c;而忽视了技术基础的重要性。团队往往会投入大量精力和资源来打造吸引人的UI和炫酷的特效&#xff0c;但忽略了系统架构、性能优化和…