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

目录

3.3 Visibility Tag

 左边的发射器:

发射器更新

粒子生成

 粒子更新

 右边的发射器

和左边发射器不同的地方

3.4 Texture Sampling

 发射器更新

 粒子生成

粒子更新

4.1Play Audio Per Particle

 系统

第三个发射器

发射器更新 

粒子生成

 粒子更新

第二个发射器

发射器更新

 粒子生成

 粒子更新

 死亡事件生成之后的另一个发射器

第一个发射器 

 另一个发射器

 4.2 Renderers With No Particles

 4.3 Mesh Orientation vs. Rotational Force

发射器一

​编辑发射器二

发射器三


3.3 Visibility Tag

 从特效的表现以及打开的状态来看,左边是一号发射器,右边是二号发射器。

左右两边有什么不同呢,仔细看看就可以发现:

左边是发射器是随机生成粒子和模型。

右边的发射器是根据生命周期按照一定的顺序改变自己的渲染状态。

 左边的发射器:

发射器更新

Spawn Rate是3个每秒。

粒子生成

然后是初始化。

从中可以看到生命周期是1.65-2秒之间

然后颜色是一种透明色到白色之间,这也是为什么我们看到的粒子【不是模型】是有点透明的原因。

然后粒子的初始化大小是21,而模型是正常的1.

 上面是生成的范围,圆形60.

下面的这个是偏移,就是NS的位置向x轴偏移-125°。

这也是为什么这个发射器在左侧的原因。

 这个是初始化模型的方向。

可以看到在最后这里设置了Visibility Tag,用随机的整数0-3之间。

到下面的渲染器可以看见,所有的渲染器的可视性标签都是这个Visibility Tag。

 

 粒子更新

drag的值1.371139【减小线性速度】

Cur Noise Force 漩涡噪声力。

 这里是给模型做一个旋转更新:

最后这里是根据生命周期做的一个快死亡时候变小:

 右边的发射器

预测的发射器大体上和左侧基本一致,不过有一个地方不同,那就是Visibility Tag的地方。

和左边发射器不同的地方

Visibility Tag在左边的发射器是一个生成时候的固定值,生成之后,该粒子的Visibility Tag就不会发生改变了。

而右边的发射器中,Visibility Tag是在粒子更新里面时时刻刻变化的。

可以看到里面,是将当前的生命周期【0-1】*4,然后将浮点转换为整数,这样做出0-3之间的变化,从而做到在运行时候模型发生变化。

3.4 Texture Sampling

 用的是GPU

 发射器更新

是无限循环,持续10秒。

 "Spawn Particles in Grid"是Niagara中一个模块,用于在网格中生成粒子。

这个模块可以将一组粒子按照网格的形式生成,以创建更规则和有序的粒子效果。

使用"Spawn Particles in Grid"模块时,你可以指定网格的大小、密度、起始位置和方向等参数。粒子会根据这些参数在指定的网格区域内以规则的方式进行生成。

这种生成方式可以用于制作特定的粒子效果.

这里我们的z轴方向为0【可以增大,看效果】

 

 粒子生成

上面是生成的位置。

下面这个是填充单元,比如xyz是1,1,1,那么我们改了x,y可以发现生成的粒子有了一个明显的拉伸效果。

这个是可以输入的纹理【可以换换玩一下】

然后下面的是uv,它是通过Normalized Array location【网格位置模组输出每个粒子在网格中的标准化位置,使用这数值来采样纹理就像它是UV坐标一样。】获取其中的x轴或者y轴做浮点数,然后这两个浮点数做一个向量2D,以此作为uv。

 

 SampledColor 是一个采样后的参数,就是获取采样的纹理中的颜色。

所以这里直接通过它来进行颜色的设置。

 这个模块是杀死粒子:

当A的颜色中的alpha通道【做浮点】和B【值是0】相等的时候,那么就杀死粒子。

粒子更新

通过生命周期的曲线来设置了涡的力度,在发生扩张和收缩的时候开始增强影响【特效中收起来有明显的褶皱的效果】。

 中间的吸引力:

 根据生命周期来设置颜色:

 最后是解算器和渲染器。

4.1Play Audio Per Particle

 打开后可以看到5个发射器,不过不需要着急,因为我们只需要分开来看就可以看懂。

 系统

首先在系统做了一个计算,计算方式看图:

 

 计算好之后,我们来看其他的发射器:

下面的两个都是接收到上面的发射器传输的事件之后才会执行的。

上面的三个便是最开始的3个发射器。 

首先我们来看第三个发射器,即旋转的模型【有声音】

第三个发射器

发射器更新 

它首先是做了一个发射器属性,类别是音频播放器。然后在发射器这里安装了这个要播放的音效。

这里的意思是值创建一次,并且是无限的,可以看到其Inactive Response的模式是Continue,这个的意思是继续(发射器停用,但在系统停用之前不会死亡)。

下面的部分,可以看到MaxDistance,意思是最大剔除距离。

简单解释就是相机的距离,在该距离之外,发射器被认为是被剔除的。

这允许发射器根据它们是否超出最大值来关闭或完成距离,例如,当与相机的距离增加时,禁用视觉上无关紧要的发射器

可以看到是生成了一个粒子。

 

粒子生成

 初始化的模型是蓝色【可以在这里去更改其他的颜色】,下面的则是模型的大小。

 网格体的生成方向

 粒子更新

可以看到这里没有打勾,意思就是不会杀死超过生命周期的粒子:

 以z轴为轴向旋转:

 这个Drag用的是Rotational DDrag,以我们在系统计算的SineWare为Alpha,来做2-5之间的阻力。

阻力是2的时候就是速度快的时候,阻力为5就是速度慢的情况。

这里重新计算出了相关的动能和势能。

这将在之后的播放里面用的就是相关的总能量来播放的。

 

这里选择播放,然后用的是之前发射器的属性:

接下来播放音量的这里,可以看到作为alpha值的是Remapped Total Energy(重新映射的总能量)

也就是我们在上面进行的相关的动能和势能计算有关。

 颜色也是一样,能量越大,模型的颜色越亮。

 之后便是网格体渲染器了。

第二个发射器

 

发射器更新

 这个是持续发射的,最大距离是2000.

每秒的生成数量是0.375.

 粒子生成

生成蓝色,生命周期为1.6-2s

10倍大小。

然后生成范围是半径为8的圆形。

然后速度是锥形,力度为475-700,角度48。

 

 

 粒子更新

更新会杀死粒子。

重力是z轴的-980.

颜色会因为生命周期而变得透明【alpha通道】

提前老化率围为1000.

 

 发生碰撞后播放声音,声音大小是随机的,然后播放声音的位置是在粒子的position。

生成死亡事件。

 

 死亡事件生成之后的另一个发射器

最大距离2k。

初始化后,添加速度25-100之间【锥】

 drag是0.25,颜色是通过生命周期来便透明【alpha通道】

大小也是随着生命周期慢慢变小。

 接收事件创建粒子:

第一个发射器 

该发射器基本上与前面一样,不一样的在于:

生成看死亡事件和在死亡播放音效

 另一个发射器

其他的基本一致,不同的只是参数的改变。

接收死亡事件时候生成粒子,然后继承相关的属性。

 4.2 Renderers With No Particles

没有粒子的渲染器:

 

这个里面最大的不同便是在渲染器中选择的是发射器,而不是粒子:

 其他的看看模块就知道了:

 4.3 Mesh Orientation vs. Rotational Force

 

打开之后有3个发射器,首先我们从左边第一个看起:

简单的就不多进行讲解了。

发射器一

首先在粒子生成的时候,模型的方向是随机的:

 这里可以看到其旋转的轴是模型本身,速度和方向都可以自己填写。

值得注意的是drag,其中一定程度上影响旋转的速度,这里面是1.371139。

发射器二

这里是计算模型的尺寸,然后使用什么密度的材质,以及其比例。

 同样是随机模型的方向

 给予模型旋转的力,以及旋转的阻力:

发射器三

同样是进行计算和初始化方向:

 添加旋转力

 这里是将旋转力添加到了旋转速度上:

 旋转阻力:

 通过计算动能和势能:

 根据能量计算颜色:

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

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

相关文章

线性代数的学习和整理7:各种特殊效果矩阵汇总

目录 1 矩阵 1.1 1维的矩阵 1.2 2维的矩阵 1.3 没有3维的矩阵---3维的是3阶张量 1.4 下面本文总结的都是各种特殊效果矩阵特例 2 方阵: 正方形矩阵 3 单位矩阵 3.1 单位矩阵的定义 3.2 单位矩阵的特性 3.3 为什么单位矩阵I是 [1,0;0,1] 而不是[0,1;1,0] 或[1,1;1,1]…

前端开发工具: VSCode

VSCode 安装使用教程(图文版) | arry老师的博客-艾编程 1. 下载 在官方网站:https://code.visualstudio.com/ 下载最新版本的 VSCode 即可 2. VSCode 常见插件安装 所有插件安装后,需要重启一下才生效 2.1 简体中文语言包 2.2 编辑器主…

Redis(缓存预热,缓存雪崩,缓存击穿,缓存穿透)

目录 一、缓存预热 二、缓存雪崩 三、缓存击穿 四、缓存穿透 一、缓存预热 开过车的都知道,冬天的时候启动我们的小汽车之后不要直接驾驶,先让车子发动机预热一段时间再启动。缓存预热是一样的道理。 缓存预热就是系统启动前,提前将相关的…

ELK中Logstash的基本配置和用法

文章目录 Logstash的条件判断Logstash的输入插件Stdin输入文件内容输入filter过滤器 Logstash的输出插件测试收集日志启动kibana在kibana中配置索引数据 在 《Elasticsearch搜索引擎系统入门》中简单描述了Logstah的安装,本篇文章将较为详细的讲解Logstash的基本配置…

docker-maven-plugin直接把镜像推到私有仓库

接着上篇 推送到本地docker 我们已经把服务做成镜像推到docker&#xff0c;也可以通过docker login 私有地址&#xff0c;去push。麻烦 直接上代码 1、pom改动 <properties><docker.registry>eco-registry.XXX.com</docker.repostory><docker.registry…

promise

promise 属于事件循环的微任务&#xff0c;具体详见&#xff1a;事件循环 Promise 语法: const p1 new Promise((reslove,reject)>{console.log(2);reslove(1) }).then((data)>{console.log(3);console.log(data) }).catch((data)>{console.log(3); }) promise.th…

记录Taro大坑2丢失api无法启动

现象 解决方案 看了很多。很多说要改成一致的版本号。其实没什么用。 正确方案 再新建一个模板跑起来对比config的配置&#xff0c;以及package.json发现关闭预编译即可。预编译导致api丢失

4.8 SYN什么时候被丢弃

TCP四次挥手过程中主动断开连接方有一个TIME_WAIT状态&#xff0c;这个状态会持续2MSL之后才会转变为CLOSED状态。一般一个MSL是30秒&#xff0c;所以以一共一般是60秒。这60秒内客户端会一直占用着端口。如果发起断开端的TIME-WAIT状态过多&#xff0c;占满了端口资源&#xf…

分布式训练 最小化部署docker swarm + docker-compose落地方案

目录 背景&#xff1a; 前提条件&#xff1a; 一、docker环境初始化配置 1. 安装nvidia-docker2 2. 安装docker-compose工具 3. 获取GPU UUID 4. 修改docker runtime为nvidia&#xff0c;指定机器的UUID 二、docker-swarm 环境安装 1. 初始化swarm管理节点 2. 加入工…

C++--两个数组的dp问题(2)

1.交错字符串 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定三个字符串 s1、s2、s3&#xff0c;请判断 s3 能不能由 s1 和 s2 交织&#xff08;交错&#xff09; 组成。 两个字符串 s 和 t 交织 的定义与过程如下&#xff0c;其中每个字符串都…

【网络安全】理解报文加密、数字签名能解决的实际问题

文章目录 前言1. 防止报文泄露 —— 加密体系的出现1.1 理解非对称加密体系的实施难点1.2 加密体系的实际应用 2. 防止报文被篡改 —— 数字签名的出现2.1 数字签名的原理2.2 数字签名的实施难点2.2 数字签名的实际应用 —— 引入摘要算法 3. 实体鉴别 —— CA证书 后记 前言 …

docker之 Consul(注册与发现)

目录 一、什么是服务注册与发现&#xff1f; 二、什么是consul 三、consul 部署 3.1建立Consul服务 3.1.1查看集群状态 3.1.2通过 http api 获取集群信息 3.2registrator服务器 3.2.1安装 Gliderlabs/Registrator 3.2.2测试服务发现功能是否正常 3.2.3验证 http 和 ng…

小研究 - Java虚拟机即时编译器的一种实现原理

深入分析了 &#xff2b;&#xff41;&#xff46;&#xff46;&#xff45;虚拟机的 &#xff2a;&#xff29;&#xff34;&#xff08;&#xff2a;&#xff55;&#xff53;&#xff54;&#xff0d;&#xff29;&#xff4e;&#xff0d;&#xff34;&#xff49;&#xf…

CNN 01(CNN简介)

一、卷积神经网络的发展 convolutional neural network 在计算机视觉领域&#xff0c;通常要做的就是指用机器程序替代人眼对目标图像进行识别等。那么神经网络也好还是卷积神经网络其实都是上个世纪就有的算法&#xff0c;只是近些年来电脑的计算能力已非当年的那种计算水平…

kubernetes--技术文档--可视化管理界面dashboard安装部署

阿丹&#xff1a; 使用官方提供的可视化界面来完成。 Kubernetes Dashboard是Kubernetes集群的Web UI&#xff0c;用户可以通过Dashboard进行管理集群内所有资源对象&#xff0c;例如查看资源对象的运行情况&#xff0c;部署新的资源对象&#xff0c;伸缩Deployment中的Pod数量…

搜索二叉树的算法解析与实例演示

目录 一.搜索二叉树的特性与实现1.特点2.实现二.搜索二叉树的性能 一.搜索二叉树的特性与实现 1.特点 二叉搜索树是特殊的二叉树&#xff0c;它有着更严格的数据结构特点&#xff1a; &#xff08;1&#xff09;非空左子树的所有键值小于其根结点的键值。 &#xff08;2&…

【C++入门到精通】C++入门 —— 多态(抽象类和虚函数的魅力)

阅读导航 前言一、多态的概念1. 概念2. 多态的特点 二、多态的定义及实现1. 多态的构成条件2. 虚函数3. 虚函数的重写⭕虚函数重写的两个例外1.协变(基类与派生类虚函数返回值类型不同)2.析构函数的重写(基类与派生类析构函数的名字不同) 4. override 和 final&#xff08;C11 …

1.4亿X区城市运行“一网统管”体系建设项目项目招标WORD

导读&#xff1a;原文《1.4亿X区城市运行“一网统管”体系建设项目项目招标WORD》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 部分内容&#xff1a; 各部分需求…

为Claude的分析内容做准备:提取PDF页面内容的简易应用程序

由于Claude虽然可以分析整个文件&#xff0c;但是对文件的大小以及字数是有限制的&#xff0c;为了将pdf文件分批传入Claude人工智能分析和总结文章内容&#xff0c;才有了这篇博客&#xff1a; 在本篇博客中&#xff0c;我们将介绍一个基于 wxPython 和 PyMuPDF 库编写的简易的…

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS 0、 界面预览1、注册百度AI开放平台&#xff0c;开通语音识别服务2、获取AppID/API Key/Secret Key3、 安装百度语音合成sdk4、合成代码5、在PBX中使用百度TTS6、音乐文件-TTS7、拨号规则-tts_command 0、 界面预览 http://…