UE4/5Niagara粒子特效学习(使用UE5.1,适合新手)

news2024/12/23 18:03:22

目录

创建空模板

创建粒子

粒子的基础属性

粒子的生命周期

颜色

 大小设置

生成的位置

Skeletal Mesh Location的效果:

Shape Location

添加速度

添加Noise力场

在生成中添加:

效果:

 ​编辑

在更新中添加:

效果:

控制粒子过程的大小

  控制粒子过程的颜色

 添加风的立场

结束


笔者这里使用的是UE5.1

理论很多,但如果只看理论,就无法去学会,所以迈开第一步很重要:

创建空模板

首先我们创建一个空的Niagara系统。

 

 

进来之后就发现就一个蓝色的板块,暂时我们不需要管它。

 创建一个新的发射器,同样是要空的:

 

创建粒子

添加之后,发现场景中仍然没有粒子,这是正常的,因为我们并没有对发射器进行添加。所以在发射器更新那里, 添加Spawn Rate,并设置生成的数量:

 

 

可以看见我们就有了粒子出现了:

 

粒子的基础属性

找到系统给我们默认生成的这个 Initialize Particle,里面是粒子生成的一些基础属性:

很多都写着Unset,这是没有进行设置的意思,所以我们可以对其进行设置:

粒子的生命周期

粒子的生命长短,顾名思义是你指定还是进行随机

指定一个生命周期就是一个固定值,比如2【单位是秒】就是2秒。

随机的话会给你一个最大值和最小值,你进行设置,比如最小是1,最大是5,则生成的粒子的生命周期就是在1s至5s之间。

 

颜色

可以看到里面有对Unset(未设置),Direct Set(直接设置),Random Range(随机范围),Random Hue/Saturation/Value(随机的色相/饱和度/值)

 意思顾名思义,所以你可以选择一个自己喜欢的颜色去进行设置。

这里笔者就选择Direct Set,直接对颜色进行一个设置:

 

 大小设置

粒子的大小打开可以看到有五种:

Unset【未设置】,Uniform【统一的】,Random Uniform【随机均匀】,Non-Uniform【不均匀】,Random Non-Uniform【随机不均匀】

具体的作用顾名思义,各位可以试试:

 

这里的话笔者就指定Unifotm,做一个固定的值10,可以看到变小了很多:

 

 

生成的位置

现在我们生成的粒子都集中在中心点,那么我们想要它形成为一种形状,所以我们可以在粒子生成的地方进行一个添加,我们找到Location里面:

 各位可以测试一下里面不同的Location,里面的效果也是十分的有趣的:

比如

Skeletal Mesh Location的效果:

可以看到隐隐约约有人形,如果我们生成的粒子多一点呢:

 

Shape Location

 

 这里我们使用Shape Location,因为里面有一些常用的形状合集。

可以自己选择想要的生成范围:

 这里笔者选择的是Box:

甚至在这里,可以发现它会问你,要的是Box【盒体】范围生成,还是Plane【平面】范围生成。

这里的范围自然可以自己去调整。

添加速度

我们可以添加一个速度,让粒子向上飘:

 添加之后会发现出现了报错:

它需要的是依赖性模块,SolveForcesAndVelocity:

 这个模块的名字其实已经写的很明白了:解算力和速度。

添加即可:

在z轴添加一个正向的50速度。 

可以看见现在的粒子是一种向上飘的状态: 

 

添加Noise力场

现在虽然粒子会向上飘,但是我们希望它在向上飘的过程中,可以有一种相对混乱的状态,所以我们可以对立场进行添加:

【为什么我们在粒子更新里面进行添加,而不是在粒子生成里面呢?】

【原因也很简单,因为粒子是在生成的时候会调用这个立场,而在更新中会持续的进行一个调用,就和蓝图中的begin和tick一样的原理。】

在生成中添加:

在生成中添加这个立场,那么会发生什么呢?

添加立场之后发生报错,缺少依赖,添加以后,再写下数值300,500:

效果:

可以发现,他们的飞向目标已经乱七八糟了: 

 

在更新中添加:

可以看到里面有很多的力场:

不过我们使用的是Cur Noise Force,这个立场是:添加到瞬态。使用旋度噪声场的力。在默认情况下,采样一个中等分辨率的烤平铺旋度噪声场,可以选择直接采样一个单纯形衍生的旋度函数,但会增加成本。 

效果:

写下数值300,500:

可以发现现在的粒子在向上的过程中产生了混乱的效果。 

控制粒子过程的大小

粒子的大小,我们在上面就已经知道可以在开始的时候设置为固定或者随机。

而现在我们想要粒子可以在向上移动的过程中改变粒子的大小应该怎么做呢?

可以看见有对Mesh和对粒子的大小的控制,我们不选择跟随速度变换大小,而是Scale Sprite Size

可以看到默认就给了一个均匀的曲线控制:

 

 这种情况下,我们自然也是可以进行修改的:

一样是四种方式,大家可以都测试一下方法,我们现在就需要这个默认的即可。 

我们有两个地方去调节这个曲线,一个是右边,一个是曲线窗口,而曲面窗口这里会告诉你,你选择的曲线是哪个发射器里面的哪个模块内部的哪个曲线

曲线中添加方式有两种,右键添加与中键。

 

调整的时候可以选择对其,或者自己去输入参数:

 

 

 具体的效果可以自己去进行调节。

  控制粒子过程的颜色

流程和之前一样,我们选择Scale Color:

 选择之后,我的Scale Color在解算器的下面,我们将其拉到上面。

原因很简单,发射器的执行都是从上到下的,就和蓝图是从左到右一样。

我们的颜色要放到上面,否则可能导致结果不符合预期

同样是3个选择,我们选择第二个,一起进行调节:

 

然后将固定的这个值给位曲线的方式:

 

使用的方法和ps中一样,点击选择之后再点击一次即可,上面选择颜色,下面选择透明度。

按没有的地方则生成一个标。

 

 

 

 添加风的立场

添加之后会发现不知道为什么,仍然没有产生效果,哪怕将参数调的很大也是一样,这是因为我们没有添加重力,所以还需要添加一个重力:

修改参数:

结束

重力自己决定是否修改,然后可以看到效果已经有了。 

 

 

第一个粒子特效便完成了,当然如果想要在这个Niagara里面添加更多的特效,只需要添加发射器即可:

然后不论是做烟雾或者其他的效果都是如此。

 

 

 

 

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

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

相关文章

CSS变形与动画(三):animation帧动画详解(用法 + 四个例子)

文章目录 animation 帧动画使用定义例子1 字母例子2 水滴例子3 会动的边框例子4 旋转木马 animation 帧动画 定义好后作用于需要变化的标签上。 使用 animation-name 设置动画名称 animation-duration: 设置动画的持续时间 animation-timing-function 设置动画渐变速度 anim…

[C++] 迭代器失效示例

迭代器失效: 如果迭代器失效,那么就不能再使用这个迭代器。 如果使用,那么结果是未定义的。 我们以模拟实现vector的insert为例。 一、野指针 1、insert实现 这里的pos会变成野指针。 当扩完容后,由于空间的改变&#xff0…

Docker 网络之 ipvlan 和 macvlan

Docker ipvlan 和 macvlan 引言 本文讲解了Docker 网络模式中的 ipvlan 和 macvlan 的区别,目前自己在生产环境中使用的 ipvlan 模式非常问题.也解决了实际业务问题. IPvlan L2 mode example ipvlan 无需网卡混杂模式 , 运行如下命令后可以生成一个 vlan 子接口 , 会和主网…

不懂瞎指挥,就会闯大祸

不懂瞎指挥,就会闯大祸 【安志强趣讲《孙子兵法》第12讲】 【原文】 故君之所以患于军者三:不知军之不可以进而谓之进,不知军之不可以退而谓之退,是谓縻军; 【注释】 患,危害、贻害。 縻(m&…

算法通关村第十关 | 归并排序

1. 归并排序原理 归并排序(MERARE-SORT)简单来说就是将大的序列先视为若干个比较小的数组,分成比较小的结构,然后是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分就是将问题分成一些小的问题分…

【Unity每日一记】计时器——各种方法的实现

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

如何使用CSS实现一个响应式图片网格布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现响应式图片网格布局⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴…

【ARM】Day5 uart总线, LED点亮实验(C语言实现)

1. 思维导图 2. LED点灯实验(C语言实现) gpio.h #ifndef _LED_H__ //防止头文件重复包含_ #define _LED_H__//RCC_MP_AHB4ENSETR寄存器封装 #define RCC_MP_AHB4ENSETR (*(volatile unsigned int*)0x50000A28)//GPIO使用封装结构体 typedef struct{v…

postgresql 分组

postgresql 数据汇总 分组汇总聚合函数注意 总结 分组统计总结 高级分组总结 分组汇总 聚合函数 聚合函数(aggregate function)针对一组数据行进行运算,并且返回单个结果。PostgreSQL 支持以下常见的聚合函数: • AVG - 计算一…

LLM - 大模型评估指标之 ROUGE

目录 一.引言 二.ROUGE-简介 1.ROUGE-N 2.ROUGE-L 3.ROUGE-W 4.ROUGE-S 三.ROUGE-实现 1.How To Use 2.Inputs 3.Outputs 四.总结 一.引言 ROUGE 代表面向召回的研究,用于 Gisting 评估。它包括通过将摘要与人类创建的其他摘要进行比较来自动确定摘要质…

BC108 矩阵交换

描述 KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。 输入描述 第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10) 从2到n1行,每行输入m个整数(范围-…

【Linux操作系统】深入探索Linux进程:创建、共享与管理

进程的创建是Linux系统编程中的重要概念之一。在本节中,我们将介绍进程的创建、获取进程ID和父进程ID、进程共享、exec函数族、wait和waitpid等相关内容。 文章目录 1. 进程的创建1.1 函数原型和返回值1.2 函数示例 2. 获取进程ID和父进程ID2.1 函数原型和返回值2.…

消息中间件-kafka实战-第六章-kafka加线程池多线程消费

目录 参考架构图延时队列 参考 头条面试:当线上Kafka集群有大量消息积压时,如何利用多线程消费解决消费积压问题 架构图 延时队列

Python查找交作业人数

写在前面: 利用Python实现交作业具体情况,能够高效快捷地收集作业! 一、问题:获取test文件夹下的所有文件 二、Python中os.listdir()函数的用法 (一)os.listdir()函数的基本用法 os.listdir()函数的基本…

linux系统中的中文显示问题

经常遇到这种情况:某些项目的文件中不可避免地包含有中文,在Windows系统中没有任何问题,拷到Linux系统中就出问题了。 1. Linux系统设置 $echo $LANG en_US.iso885915 朋友建议我设置为: export LANGzh_CN.utf8 但我这样设置之…

CSS中的z-index属性有什么作用?如何控制元素在层叠上下文中的显示顺序?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ z-index 属性的作用及控制元素层叠顺序作用 ⭐ 控制元素层叠顺序⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff0…

什么是flexbox布局?它有什么特点和优势?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是 Flexbox 布局?⭐ 特点和优势⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那…

数据结构,线性表,顺序表基础。

1.线性表 线性表特征&#xff1a; 对非空表&#xff0c;a0是表头&#xff0c;无前驱a(n-1)是表尾&#xff0c;无后继其他的都有ai前驱a(i-1)与后继a(i1)。 2、顺序结构存储方式是线性表存储的一种方式&#xff0c;主要体现形式为数组。 #include<stdio.h> #include<st…

密码学学习笔记(十八):Diffie–Hellman (DH) 密钥交换

DH算法是第一个密钥交换算法&#xff0c;也是第一个得到形式化描述的公钥密码算法。 群论 DH密钥交换算法基于数学中的群论&#xff0c;群论也是当今大多数公钥密码的基础。 要使集合及其运算成为一个群&#xff0c;需要满足以下性质&#xff1a; 封闭性&#xff1a;群中两…