UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.5->2.3

目录

之前的文章:

1.5 Blend Attributes by Value

发射器更新

 粒子生成

 粒子更新

2.1 Static Beams

 ​编辑

发射器更新:

 粒子生成

 粒子更新

2.2 Dynamic Beams

没有开始模拟前的效果是:

开始模拟后的效果是:

发射器更新

粒子生成

​编辑

 粒子更新

2.3 Multiple Renderers

 发射器更新

 粒子生成

 粒子更新


之前的文章:

UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.1->1.4_多方通行8的博客-CSDN博客

1.5 Blend Attributes by Value

这个特效的名字翻译过来叫做:按值混合属性

 那么究竟是什么意思呢,让我们打开这个特效来看看。

首先我们看一下这个特效的表现形式:

开始是从中心发射粒子到四周,粒子的速度逐渐下降,然后被中间吸引冲了过去,穿过中间后又变慢,然后死亡。

有经验的人一眼就可以看出用了什么的相关模块和计算,而没经验的就需要一点点的开始积攒。

所以接下来我们来看看它是怎么实现的:

发射器更新

每秒是生成8个粒子

然后是一瞬间随机生成3-10个之间的粒子,类型是每帧。【在这里大家可以尝试将Spawn Rate关闭,看看Spawn Burst Instantaneous的瞬间生成】

 粒子生成

这里可以看到粒子的生命周期为8,而大小统一为5,问题来了,那为什么粒子有些大有些小呢?原因必然是在下方的粒子更新里面。

 在添加速度这里,可以看到是以为模式的【改为其他模式,就是类似于喷泉,夹角等等的效果,各位可以尝试一下】,速度在10-88之间。

 粒子更新

这个模块Point Attraction Force,顾名思义是点引力,类似于星球的引力效果。

第一个是强度为1.8.

第二个是范围256.

第三个是下降指数为0.5,加强之后【比如1】可以看见喷射而出的粒子都没有那么远了。

之后的下面来个,分别是吸引的粒子拥有这个引力的点的位置

这就是为什么喷射而出的球会回到原点并且超过的原因了。

这个的功能是粒子开始喷射的时候是从小变大粒子颜色的变化的主要计算。

实现是将粒子现在的位置和粒子所在的位置相见,然后比上150,做一个归一化的操作【即0-1之间】,计算初这个值【这个值将在下面的ColorSprite Size Scale中进行使用】

 首先是Color,从中我们可以得知是一个线性颜色,从红色到这个蓝色,根据我们归一化后的这个值【0-1之间】来决定现在的粒子颜色。

Sprite Size Scale里面,我们可以看见所有的粒子缩放都是统一用下面的功能的。

功能就是粒子的大小是0.5-3之间,而具体的数值是由之前计算出来的值作为alpha进行决定的。

 

 接下来便是解算器和渲染器了。

2.1 Static Beams

静态束

 打开:

 

发射器更新:

这里的Emitter State和之前不一样,之前的都是system进行控制,笔者也没有进行讲解。

而首先这个是self,由发射器自己进行计算,而不是系统:

 然后下面这个的含义是:让粒子完成之后,杀死发射器

然后就是无限循环,一秒间隔:

 之后是Beam Emitter Setup

翻译过来的意思是电子束发射装置,我们看看里面是怎么写的:

开始是用的模拟位置,即起点位置。

结尾是一个随机的位置。

这就是这个束的生成原因之一。

这里可以看到它是在0秒的时候一瞬间生成100个粒子【粒子平均分布在束上】。

如果将这个粒子调整为2个,就会发现,粒子出现在束开始和结束的两端位置。

 

 粒子生成

这个不需要在意,这个模块的作用结束生成beam【束】

粒子在初始化的时候,可以看见,生命周期为1.25.

然后大小是根据条带中相连粒子的显式排序的,所以根据曲线,是两边小,中间大。

 

这个顾名思义,是生成的条带的宽度,同样是通过RibbonLinkOrder,同样是从中间向四周递增,所以将曲线中的某个值调大,就可以很明显的看到特效里面的条带某端变大的效果。

 粒子更新

更新状态

然后是颜色,颜色是线性变化,同样是根据粒子的递增顺序变化的。

 产生噪波,这也就是为什么在条带生成后,会慢慢扭曲的原因。

 减少粒子的线性速度,这个的主要作用是在细节上:

 之后就是解算器粒子渲染器以及条带渲染器

2.2 Dynamic Beams

Dynamic Beams动态条带

看看效果:

没有开始模拟前的效果是:

NSNiagara System】所在的位置连接到一个固定坐标的条带,这个条带会旋转。

不管如何旋转,都会从NS所在的位置连接到那个固定坐标,进行旋转。

开始模拟后的效果是:

起始位置会离开NS的位置一会儿后再回到NS位置,然后环会一直旋转。

打开看看是如何实现的:

打开粒子之后,我们会发现和我们在场景里面看的不一样,这是因为这个粒子的条带末尾位置是一个世界坐标。 

发射器更新

可以看到Absolute Beam Start是打勾的,这个的意思是绝对光束启动:简单的来讲如果将这个关闭,那么它的位置就不是NS【Niagara System】的所在世界位置了,而是世界坐标的0,0,0的位置。

如图所示,Beam End现在所拥有的坐标,便是世界坐标,只需要将下面的Absolute Beam End变为false,那么Beam End的坐标便是NS的相对坐标。

而下方则是Beam光束的初始位置和结束位置的坐标*0.5。

这是一瞬间爆发100个粒子,只是看可能并不知道这些爆发粒子的作用。

所以我们将其调小就会知道,这个的效果是:条带的舞动,如果将其设置为2,则条带就是直线。

3则中间动,4开始变多,5...等等。

粒子生成

生成光束,里面没什么东西好讲。

这次初始化的生命周期和之前不一样,其传入的是发射器的CurrentLoopDuration,这个的意思是将初始化粒子的生命周期和发射器的当前循环时间,简单来讲就是和发射器一样的生命周期。

 粒子更新

上面的两个,懂的都懂,就不多进行解释了。

这个Rotate Around Point,顾名思义,这个是光束在旋转的主要因素:

首先是第一个红框里面,我们可以看到是Multiply Float:意思就是A*B

下面的Rotation Rate,可以看到是-1,这是这个特效中光束向左转的原因,改为1则会向右转。【上面的B改大也有一样的效果】

然后是下面的半径,意思很简单,通过链条的索引做的0-1-0的曲线,参数是55,以及旋转的中心是粒子的位置。

最后是颜色,根据链条的参数做线性颜色变化,也就是开始是蓝色,结尾是红色的原因。 

2.3 Multiple Renderers

 这个粒子特效和之前的都不一样,之前的粒子特效里面中的发射器都是一个发射器里面是一个渲染器。

而这个里面却是3个渲染器,分别是Sprite,条带,模型。

接下来我们就来看看这个NS里面的发射器:

 发射器更新

首先是生成,每秒生成2.5个粒子【】

 粒子生成

粒子生成中的初始化,我们之前已经看了很多,但真正的全部用上,这是这个案例中的第一次:

可以看到生成的粒子的生命周期是6秒,点是绿色的【Sprite】,然后Sprite的大小是8.

之后是模型,大小是1,1.5,1.5,mode是不统一的。

条带的宽度是2.5.

设置条带颜色:

 设置粒子的出生位置,圆:

 粒子更新

根据生命周期来变换大小:

Vortex Force漩涡力

Vortex Force Amount是漩涡的力量,调整的越大,会发现粒子的移动轨迹也会发生很大的变化。

Vortex Axis是一个用于推导漩涡方向的轴。

下方的Origin中,可以看到漩涡的中心点是发射器所在的位置。

然后漩涡的拉动量是200,如果提升,则会发现粒子的移动速度会很快的被来回拉扯。

最后的Falloff是一个影响。

如半径是100,指数是1,表示你离中心越远,你的移动速度也就越快【可以想象一下漩涡中心对你的力,和你在外围的力有什么不同。【可以参考对黑洞的理解】】

然后最后是反向,就是说如果原来是离中心越近,速度越慢,打勾后就是:离中心越近,速度越快。

drag,0.5的力。 

之前的是sprite的大小,而这个是箭头模型的大小:

最后是解算器,以及3个渲染器。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构入门 — 顺序表详解

前言 数据结构入门 — 顺序表详解 博客主页链接:https://blog.csdn.net/m0_74014525 关注博主,后期持续更新系列文章 文章末尾有源码 *****感谢观看,希望对你有所帮助***** 文章目录 前言一、顺序表1. 顺序表是什么2. 优缺点 二、概念及结构…

java-IONIO

一、JAVA IO 1.1. 阻塞 IO 模型 最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内 核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线…

java八股文面试[数据结构]——ArrayList和LinkedList区别

ArrayList和LinkedList的异同 二者的线程都不安全,相对线程安全的Vector,执行效率高。此外,ArrayList时实现了基于动态数组的数据结构,LinkedList基于链表的数据结构,对于随机访问get和set,ArrayList觉得优于LinkedLis…

线性回归的正则化改进(岭回归、Lasso、弹性网络),最小二乘法和最大似然估计之间关系,正则化

目录 最小二乘法 极大似然估计的思想 概率:已知分布参数-对分布参数进行估计 概率描述的是结果;似然描述的是假设/模型​编辑 似然:已知观测结果-对分布参数进行估计​编辑 对数函数消灭连乘-连乘导致算法参数消失 极大似然估计公式:将乘…

LeetCode:Hot100python版本之回溯

回溯算法其实是纯暴力搜索。for循环嵌套是写不出的 组合:没有顺序 排列:有顺序 回溯法可以抽象为树形结构。只有在回溯算法中递归才会有返回值。 46. 全排列 排列是有顺序的。 组合类问题用startindex,排序类问题用used,来标…

【网络】DNS | ICMP | NAT | 代理服务器

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 前面几篇文章虽然讲介绍了整个网络通信的协议栈,我们也知道了完整的网络通信过程&#xff…

【图像去噪】基于混合自适应(EM 自适应)实现自适应图像去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

如何拉取Gitee / GitHub上的Unity项目并成功运行

前言 由于目前大部分人使用的仓库都是Gitee或者是GitHub,包括小编的公司所使用的项目仓库也包括了Gitee;我们需要学习技术栈时都会去百度或者是去GitHub上看看别人的项目观摩学习,可能很多小白在遇到拉取代码时出现各种问题,或者…

Server2016安装SQL server数据库遇到异常解决

首先看几个会出现的异常,下边看解决办法: 第一步: 先修改安装包x86\setup目录下的setupsql.exe,以Xp,SP3兼容模式运行, 这个右键,属性,兼容性,修改就行,类似这样 第二步: 修改c:…

【Rust】Rust学习 第十六章无畏并发

安全且高效的处理并发编程是 Rust 的另一个主要目标。并发编程(Concurrent programming),代表程序的不同部分相互独立的执行,而 并行编程(parallel programming)代表程序不同部分于同时执行,这两…

【优选算法】—— 字符串匹配算法

在本期的字符串匹配算法中,我将给大家带来常见的两种经典的示例: 1、暴力匹配(BF)算法 2、KMP算法 目录 (一)暴力匹配(BF)算法 1、思想 2、演示 3、代码展示 (二&…

大数据课程K2——Spark的RDD弹性分布式数据集

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的RDD结构; ⚪ 掌握Spark的RDD操作方法; ⚪ 掌握Spark的RDD常用变换方法、常用执行方法; 一、Spark最核心的数据结构——RDD弹性分布式数据集 1. 概述 初学Spark时,把RDD看…

【微服务】spring 条件注解从使用到源码分析详解

目录 一、前言 二、spring 条件注解概述 2.1 条件注解Conditional介绍 2.2 Conditional扩展注解 2.2.1 Conditional扩展注解汇总 三、spring 条件注解案例演示 3.1 ConditionalOnBean 3.2 ConditionalOnMissingBean 3.2.1 使用在类上 3.2.2 使用场景补充 3.3 Condit…

如何使用 Docker Compose 运行 OSS Wordle 克隆

了解如何使用 Docker Compose 在五分钟内运行您自己的流行 Wordle 克隆实例。您将如何部署 Wordle? Wordle在 2021 年底发布后席卷了互联网。对于许多人来说,这仍然是一种早晨的仪式,与一杯咖啡和一天的开始完美搭配。作为一名 DevOps 工程师…

开源TTS+gtx1080+cuda11.7+conda+python3.9吊打百度TTS

一、简介 开源项目,文本提示的生成音频模型 https://github.com/suno-ai/bark Bark是由Suno创建的基于变换器的文本到音频模型。Bark可以生成极为逼真的多语种演讲以及其他音频 - 包括音乐、背景噪音和简单的声音效果。该模型还可以产生非言语沟通,如…

Linux存储学习笔记

相关文章 Linux 存储系列|请描述一下文件的 io 栈? - tcpisopen的文章 - 知乎 https://zhuanlan.zhihu.com/p/478443978 深入学习 Linux 操作系统的存储 IO 堆栈 - KaiwuDB的文章 - 知乎 https://zhuanlan.zhihu.com/p/636720297 linux存储栈概览 - st…

ssm+vue游戏攻略网站源码和论文

ssmvue游戏攻略网站源码和论文052 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 一、主要内容和基本要求 游戏攻略网站分为管理员与用户两种角色。 管理员的功能包括登录,用户管理,游…

Centos7 安装Docker 详细多图版

配置要求 Docker CE(社区免费版) 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。 一、Centos安装Docker 1.1 卸载(可选&#xff0…

Datawhale AI夏令营 - 用户新增预测挑战赛 | 学习笔记

数据分析与可视化 为了拟合出更好的结果就要了解训练数据之间的相互关系,进行数据分析是必不可少的一步 导入必要的库 # 导入库 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns pandas库是一个强大的分析结构化…

研发管理工具大揭秘!6款利器助你高效研发

"研发管理工具有哪些?6款研发管理利器分析Zoho Projects、Trello、Asana、Monday.com、Smartsheet、Jira。" 在如今的科技发展日新月异的时代,研发管理工具的重要性日益凸显。研发管理工具有助于提高研发效率,降低成本,…