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。
发射器二
这里是计算模型的尺寸,然后使用什么密度的材质,以及其比例。
同样是随机模型的方向
给予模型旋转的力,以及旋转的阻力:
发射器三
同样是进行计算和初始化方向:
添加旋转力
这里是将旋转力添加到了旋转速度上:
旋转阻力:
通过计算动能和势能:
根据能量计算颜色:
相关文章:
![](https://img-blog.csdnimg.cn/965681e8cd9348a489556bcf6fe7e003.png)
UE4/5Niagara粒子特效之Niagara_Particles官方案例:3.3->4.3
目录 3.3 Visibility Tag 左边的发射器: 发射器更新 粒子生成 粒子更新 右边的发射器 和左边发射器不同的地方 3.4 Texture Sampling 发射器更新 粒子生成 粒子更新 4.1Play Audio Per Particle 系统 第三个发射器 发射器更新 粒子生成 粒子更新 第二个…...
![](https://img-blog.csdnimg.cn/26f7d15d0882408396b97178738eaa20.png)
数据结构队列的实现
本章介绍数据结构队列的内容,我们会从队列的定义以及使用和OJ题来了解队列,话不多说,我们来实现吧 队列 1。队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,…...
![](https://www.ngui.cc/images/no-images.jpg)
Gti的基本介绍和使用方式
Git 是一种分布式版本控制系统, 主要用于管理软件开发过程中的代码变更。其基本概念包括: 仓库 (Repository): Git中存储代码的基本单位,即一个代码库。在仓库中可以存储多个分支、标签、提交记录等。 分支 (Branch): Git中的分支是代码的不同开发方向,…...
![](https://img-blog.csdnimg.cn/img_convert/8aa14abf2a4bea9517c708e37b286904.png#pic_center)
剑指Offer 24-反转链表
题目描述:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解题思路: 这道题做过很多次,还是会…...
![](https://img-blog.csdnimg.cn/fd77a28cb4f244cbaeebe4e836c660d0.png)
小研究 - Java虚拟机即时编译器的一种实现原理
深入分析了 Kaffe虚拟机的 JIT(Just-In-Ti…...
![](https://www.ngui.cc/images/no-images.jpg)
【LeetCode】416.分割等和子集
题目 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示…...
![](https://img-blog.csdnimg.cn/img_convert/7ccd84a99e1df02313a23f3ec1fb6d8b.png)
go vet中的那些检测项
go vet 是 Go 语言自带的一个工具,用于分析 Go 代码中的常见错误和潜在问题。它可以检查代码中可能存在的各种问题,例如: 未使用的变量、函数或包 可疑的函数调用 错误的函数签名 程序中的竞态条件 错误的类型转换等 本文意图指令当前go vet所…...
![](https://img-blog.csdnimg.cn/d2f2302767df4e30a65802a90c424a0a.png)
Qt 自定义菜单、右键菜单
在接触Qt这段时间以来,经常遇到菜单项的问题(右键菜单、托盘菜单、按钮菜单等),QMenu用于菜单栏,上下文菜单,弹出菜单等,利用QMenuQAction就可以达到效果! 右键菜单实现:通过重写contextMenuEv…...
![](https://img-blog.csdnimg.cn/ad9d95af6b91415884a51318eba52c05.png)
VScode 编辑器报错: ‘HelloWorld‘ is declared but its value is never read.
.vue文件被标识红色波浪线;提示: HelloWorld is declared but its value is never read. 问题原因: 因为vue3已经不支持vetur插件。 1、在扩展里面进行搜索Vetur插件,进行禁用或卸载; 2、在 VScode扩展里面搜索并下载…...
![](https://img-blog.csdnimg.cn/img_convert/d4c48edd0df1aa9b5b68d37afc921ca8.gif)
如何使用LLM实现文本自动生成视频
推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 介绍 基于扩散的图像生成模型代表了计算机视觉领域的革命性突破。这些进步由Imagen,DallE和MidJourney等模型开创,展示了文本条件图像生成的卓越功能。有关这些模型内部工作的…...
![](https://img-blog.csdnimg.cn/img_convert/f90cab5c75e400eab550ac64d84bcd0d.png)
Rust处理JSON
基本操作 Cargo.toml: [package]name "json"version "0.1.0"edition "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]serde { version "1", features …...
![](https://www.ngui.cc/images/no-images.jpg)
Python如何操作网络爬虫
Python是一种非常强大的编程语言,用于网络爬虫操作也非常方便。Python提供了许多用于构建和操作网络爬虫的库和工具,如BeautifulSoup、Scrapy、Requests等。本文将详细介绍Python如何操作网络爬虫。 一、安装相关库 首先,我们需要安装Python…...
![](https://www.ngui.cc/images/no-images.jpg)
linux文件复制覆盖命令
目录 cp 命令参数2.cp -rf 出现复制不覆盖文件问题3.解决文件复制覆盖提示操作问题,以下四种方式,供大家参考使用。方法1:编写带cp的路径复制覆盖文件方法2:在CP命令前面加一个斜杠\,实现强制覆盖文件方法3:…...
![](https://www.ngui.cc/images/no-images.jpg)
modbus概览
modbus Modbus是Modicon(施耐德)公司于1979年开发的串行通信协议。它最初设计用于公司的可编程逻辑控制器(PLC)。 Modbus是一种开放式协议,支持使用RS232/RS485/RS422协议的串行设备,同时还支持调制解调器…...
![](https://img-blog.csdnimg.cn/80ae6277da0d4a7bb8870c0749609dc6.png)
KMP算法开荒
文章目录 一 、前言二、 暴力解法三、KMP算法原理3.1 自动子串的指针3.2 跳过多少个字符3.3 next数组 - 暴力3.4 next数组 - 求解 四 KMP实现 一 、前言 字符串匹配 import re print(re.search(www, www.runoob.com).span()) # 在起始位置匹配 print(re.search(com, www.run…...
![](https://www.ngui.cc/images/no-images.jpg)
XXL-JOB(2)
Glue模式 任务以源码的形式去维护调度中心,支持实时编译,无需指定JobHandler。 实际上是继承自JobHandler的java类代码,在执行器中运行,可以使用Resource/Autowire注入执行器里中的其他服务. 在执行器中添加service Service p…...
![](https://img-blog.csdnimg.cn/b9f7898c011c489692025c792cc66a3f.png)
Linux常用命令_网络命令、关机重启命令
文章目录 1. 网络命令1.1 网络命令: write1.2 网络命令: wall1.3 网络命令: ping1.4 网络命令: ifconfig1.5 网络命令: mail1.6 网络命令: last1.7 网络命令: lastlog1.8 网络命令: traceroute1.9 网络命令: netstat1.10 网络命令: setup1.11 挂载命令 2. 关机重启命令2.1 shut…...
![](https://img-blog.csdnimg.cn/8e702cecc43b4fd7a20b4f0f16c038b2.png)
用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I
用Cmake build OpenCV后,在VS中查看OpenCV源码的方法 Part I 写在最前面,最近这段时间的工作需要用opencv,不仅是调包,还要能够看到opencv的源码。然后就跟着网上的教程实现了一遍,在实现过程中,遇到了不少…...
![](https://www.ngui.cc/images/no-images.jpg)
如何使用Docker搭建ZooKeepe集群
1、拉取镜像 # docker pull zookeeper:3.7.12、创建网络 Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定。在实际部署中,需要指定容器ip,不允许其自行分配ip,尤其在搭建集群时。可以通过docker netw…...
![](https://img-blog.csdnimg.cn/5548a27906574d278adb2b70f27acf90.png)
【javaweb】学习日记Day3 - Ajax 前后端分离开发 入门
目录 一、Ajax 1、简介 2、Axios (没懂 暂留) (1)请求方式别名 (2)发送get请求 (3)发送post请求 (4)案例 二、前端工程化 1、Vue项目-目录结构 2、…...
![](https://img-blog.csdnimg.cn/46631eb168e44db09de0829187878e6e.png)
SQL注入漏洞复现:探索不同类型的注入攻击方法
这篇文章旨在用于网络安全学习,请勿进行任何非法行为,否则后果自负。 准备环境 sqlilabs靶场 安装:详细安装sqlmap详细教程_sqlmap安装教程_mingzhi61的博客-CSDN博客 一、基于错误的注入 注入讲解 介绍 基于错误的注入(Err…...
![](https://img-blog.csdnimg.cn/6da6b915339441a885db8b86ef619d43.png)
大彩串口屏使用记录
写在最前面 屏幕型号 DC10600M070 IDE VisualTFT(官方) VSCode(lua编程) 用之前看一下官方那个1小时的视频教程就大概懂控件怎么用了,用官方的软件VisualTFT很简单 本文只是简单记录遇到的一些坑 lua编辑器 VisualTF…...
![](https://www.ngui.cc/images/no-images.jpg)
Qt http 的认证方式以及简单实现
http 的认证方式 基本认证(Basic Authentication): 基本认证是最简单的HTTP认证方式。客户端在请求头中使用Base64编码的用户名和密码进行身份验证由于仅使用Base64编码,基本认证并不安全,因此建议与HTTPS一起使用,以…...
![](https://img-blog.csdnimg.cn/4c14934fa6d6459497dc547c07995999.png)
【图像分割】实现snake模型的活动轮廓模型以进行图像分割研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
![](https://img-blog.csdnimg.cn/img_convert/24c840a370bed4916b7fafbffa5faad1.webp?x-oss-process=image/format,png)
【MongoDB系列】1.MongoDB 6.x 在 Windows 和 Linux 下的安装教程(详细)
本文主要介绍 MongoDB 最新版本 6.x 在Windows 和 Linux 操作系统下的安装方式,和过去 4.x 、5.x 有些许不同之处,供大家参考。 Windows 安装 进入官网下载 Mongodb 安装包,点此跳转,网站会自动检测当前操作系统提供最新的版本&…...
![](https://7078909xxh.oss-cn-shanghai.aliyuncs.com/csdn图床专用区/202308151303865.png)
5.网络原理之初识
文章目录 1.网络发展史1.1独立模式1.2网络互连1.3局域网LAN1.3.1基于网线直连1.3.2基于集线器组建1.3.3基于交换机组建1.3.4基于交换机和路由器组建1.3.4.1路由器和交换机区别 1.4广域网WAN 2.网络通信基础2.1IP地址2.2端口号2.3认识协议2.4五元组2.5 协议分层2.5.1 分层的作用…...
![](https://img-blog.csdnimg.cn/ee3df4ff1e384209868d441d079075a9.png)
【Linux】进程状态|僵尸进程|孤儿进程
前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页ÿ…...
![](https://img-blog.csdnimg.cn/c29fedd16e77474f9d30c91068709cf1.jpeg)
ASEMI快恢复二极管APT80DQ60BG特点应用
编辑-Z APT80DQ60BG参数描述: 型号:APT80DQ60BG 最大峰值反向电压(VRRM):600V 最大直流阻断电压VR(DC):600V 平均整流正向电流(IF):80A 非重复峰值浪涌电流(IFSM):600A 工作接点温度和储存温度(TJ, …...
![](https://img-blog.csdnimg.cn/14ca0f01aa7f4c609e4cd561e4a4cb2a.png)
【Python爬虫】使用代理ip进行网站爬取
前言 使用代理IP进行网站爬取可以有效地隐藏你的真实IP地址,让网站难以追踪你的访问行为。本文将介绍Python如何使用代理IP进行网站爬取的实现,包括代理IP的获取、代理IP的验证、以及如何把代理IP应用到爬虫代码中。 1. 使用代理IP的好处 在进行网站爬…...
![](https://img-blog.csdnimg.cn/4cba1cdb9778424c92c4c747bba818c1.png#pic_center)
识别图片中的文字
前言 PearOCR 是一款免费无限制网页版文字识别工具。 优点如下: 免费:完全免费,没有任何次数、大小限制,可以无限使用; 安全:全部数据本地运算,所有图片均不会被上传; 智能…...
![](/images/no-images.jpg)
织梦网站源码/seo网络推广软件
英国政府已经批准在高速公路上进行第一次半自动化卡车车队测试。 到时会有最多三辆载重卡车结队行驶,它们会通过无线网络相互连接,加速、制动和转向都会由最前面的车来引导,形成一个车队。当然,每辆车内都会有一名驾驶员随时准备意…...
![](https://img-blog.csdnimg.cn/20210530110216747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MTYzMzUwMQ==,size_16,color_FFFFFF,t_70)
网站怎么做可以增加点击率/网络营销策划书的范文
java笔记之九————内部类和匿名内部类 内部类 实现内部类 访问重名的外部类变量。 局部内部类 局部内部类的final问题 匿名内部类 匿名内部类的定义使用 匿名内部类的注意事项 类作为成员变量类型 武器类成员变量 游戏角色主类 实现类创造对象的主题函数 接口作为成员…...
![](/images/no-images.jpg)
武汉专业建站网/推广恶意点击软件怎样使用
假设有aViewController bViewController,如何判断当前View是哪个ViewController激活呢?我们使用如下的方法即可简单实现。 if([viewController isMemberOfClass:NSClassFromString("aViewController")]){//do something}if([viewController …...
![](/images/no-images.jpg)
顺德外贸网站建设/网络广告的收费模式有哪些
simultaneousGesture 一个包含两个手势的手势,两个手势可以同时发生,而两个手势都不在另一个手势之前。 frozen struct SimultaneousGesture<First, Second> where First : Gesture, Second : Gesture使用教程 同时手势是容器事件处理程序…...
![](/images/no-images.jpg)
wordpress 深色主题/如何在百度推广网站
Qt Quick基础用法1. 简介1.1 Qt Widgets 与 QML/Qt Quick2. QML与QtQuick2.1 QtQuick 1.x VS QtQuick 2.x3. 信号(Signal )与槽(Slot)4. QML与C混合编程4.1 原理和方法4.2 QML访问C 类 (QML>C)4.2.1 信号和槽4.2.2 把类注册到Q…...
![](/images/no-images.jpg)
建设银行官方网站打不开/googleseo优化
参考:https://blog.csdn.net/maweifei/article/details/51221259 # 示例: img_ cv::Mat::zeros(pic_height_, pic_width_, CV_8UC1);Mat不但是一个非常有用的图像容器类,同时也是一个通用的矩阵类。 Mat矩阵(图像容器)创建时CV_8UC1、CV_8U…...