当前位置: 首页 > news >正文

Unity3D * 粒子特效 * Particle System

(基于阿发教程做的重点笔记)

粒子

用于模拟一些流动的,没有形状的物质,例如 液体,烟雾,火焰,爆炸,魔法等效果

去除粒子外框

particle system 粒子发生器,有1个主模块和22个子模块,默认启用

Emission发射的频率 /Shape 粒子发生器的形状 /Renderer 粒子的显示

还可以启用size over Lifetime ,鼠标长停留有详细注释

(实操)透明贴图变成粒子材质方法:

1.导入之后,勾选,然后apply

2.添加新粒子材质,着色器可以如下选择

然后把贴图托进去,进行替换即可

粒子的形状

本质是创建了无数小纸片,帮我们控制粒子的运动,而且就像广告牌一样,无论从哪个角度观察永远面对观察者,使用着色器和贴图,黑底比较好去除,使用透明或黑的好

粒子着色器的细节

additive multiply

主模块下的参数为基础参数:

两种常用设置:固定值和随机区间范围 

周期和时长设置

 模拟空间 ,其中的粒子系统要负责每一个粒子的坐标,速度,旋转,颜色,大小

发射模块Emission

匀速发射或者爆发式发射,匀速发射的两种方式:

时间匀速和距离匀速(rate over time)   (rate over distance),也可以作为粒子数量计算的考虑

粒子数量上限:max particles 默认1000,超过上限会停止产生,防止系统过载。

一般设置为1 或者概率值

一次爆炸大概0.1-0.2秒瞬间发生。(速度变慢,尺寸变小,颜色变淡)

粒子发射器形状

shape模块,发射器的形状,有立体有平面,

cone(圆锥形)

同理还有 box盒型发射器,sphere 球形发射器, circle 圆形发射器, 无形状发射器(粒子从轴心点发射向着Z轴方向),多进行实操的时候理解

颜色渐变(color over lifetime) 渐变器编辑器(gradient editor)alpha 渐入渐出效果(控制透明度渐变,淡入淡出,时隐时现)  最多添加八个控制点 ,注意颜色是做乘法的运算得到最终结果

大小渐变 size over lifetime   粒子材质  粒子大小  在粒子生命周期内会变大变小  横坐标,lifetime 纵坐标 size  曲线的编辑:贝塞尔曲线  通过控制点定义形状           constant 恒定值

粒子速度控制

velocity over lifetime(linear x/y/z ) space(world/ local) 加速/变速运动   curve x/y/z

粒子环绕, 环绕速度,与shape模块配合使用,初始速度设置为0 

velocity over lifetime :所有粒子绕着Z轴,轨道速度进行旋转,边绕行边扩大,注意有些形状初始速度为0会有影响。

速度叠加,V= start Speed + Velocity over lifetime 两者的矢量之和,初速度在发射时设置,并恒定。

linear z轴 是-2,向上运动,粒子会先向上运动再向下,speed modifier 是进一步的调节速度

速度如何叠加计算

粒子的受力 ,粒子在力的作用下也可以改变运动速度

force over lifetime (直接添加作用力,受力可以通过牛顿定律计算,但是粒子系统的力和物理世界的力没有关系,只是计算的模拟)

粒子以加速度下降 

limit velocity over lifetime  drag参数最重要,力的衰减 摩擦阻力

噪声模块,来自于介质的扰动,也可以说是噪波

strength 强度,空气扰动力量多大

frequency 频率,多长时间扰动

旋转  start rotation,默认情况下绕着Z轴旋转,也可以在3D空间中旋转

rotation over lifetime 每秒转多少度【角速度】

粒子的朝向

如何旋转,调整 render mod,想要让每个粒子的飞行方向和它的头部指向一致的时候:

第一步:切换渲染方式,到Stretched Billboard将长宽比设置为1

第二步:修改粒子的贴图,使得头的方向朝左

Stretched Billboard(拉伸广告牌),可以拉伸显示 length scale(长宽2:1)

  

计算公式得到最终拉伸比例speedscale一般是小数值,相乘结果表示的就是视觉残影,例如火星飞溅等情况,就是利用了视觉残影

制作爆炸效果,粒子小,生命周期短,速度快,思路步骤如下:

horizontal billboard 水平广告牌,

要注意背面会不会被着色,否则从下往上看不到,可以在shader中的 

进行设置 two size背面也着色

注意要记得prewarm

拖尾效果 Trails

粒子后面长长的小尾巴,例如烟花绽放         拖尾需要两个材质,一个开始,一个尾巴,尾部不要设置太多数量,trail中设置0-1  start lifetime = 5 秒  trail lifetime =0.1 

长度是时间长度的定义

宽度参数是width over trail  一般都用曲线来定义宽度

拖尾也可以是弯的,根据粒子的运动轨迹进行

拖尾的颜色 根据AB共同影响,粒子颜色

粒子动画

使用模块,tiles可以切割大图进行播放

可以分割贴图,并挨个显示图片,达到动图效果,*.tif是静态图片,只用一个粒子,渲染64帧图片

一些细节,例如1是指HDR可以调节

制作烛火效果步骤:

粒子与光照

粒子着色器比较特殊,无光照条件下也是一样的,不受光照影响(把光照的X值调到负数就会得到黑暗环境)照亮周围可以在粒子上添加点光源

可以在添加light模块,在粒子系统里添加点光源,选择预制体或者实例,

并不是所有粒子都携带了光源,那样性能损耗太大

爆炸效果

小技巧:不知道该怎么管理的时候可以挂一个空的父节点进行管理

是一个典型的粒子组合效果,爆发式的特点,速度快,时间短,思路步骤如下:

1.制作两种爆炸粒子,圆形和拉长效果的圆形粒子

2.圆形粒子,生命周期改短,速度快,初始大小改小,

3.添加velocity over lifetime      曲线修改向下曲线,让粒子往下走

4.修改粒子颜色如之前一样,变化

5.在粒子下添加火花子节点,替换粒子材质,爆发式的发射,球形发射,粒子大小随机值,速度变大,生命周期比前面的还短,速度因子velocity over lifetime,曲线调整,颜色淡入淡出变化

6.在粒子下再添加闪光子节点粒子效果,创建并加入材质

7.改成爆发式发射,一两个闪光即可,shape球形,半径值0.1,不需要速度,大小变大

8.size over lifetime 曲线从小到大,生命期改短,颜色渐变,淡入淡出(一般都需要),颜色变化

二级发射器

 记得使用burst发射,最好作为子节点   sub emiters

爆发概率

小练习  烟花绽放效果

1.爆发式粒子效果,拖尾模块,噪声干扰,颜色设置,

2.二级粒子球形发射器,半径小,爆发式发射,速度快,生命短,重力下落

3.一级粒子下面sub  emitters发射器,一级死亡产生二级,二级和一级颜色一致,继承inherited

粒子的碰撞

collision模块,落地弹起,推荐使用平面方式进行

物体之间碰撞就是碰撞体

使用world时候可以使用层来细化要碰撞的目标,尽量减少碰撞,物理系统下的层的概念。在unity进阶中有

粒子碰撞事件,当发生碰撞时可以使用脚本,事件函数无法预览,只有运行才可以

小练习:飞船和粒子传送阵

粒子效果分为循环播放,例如飞船尾焰,也有一次性使用的,例如碰撞

相关文章:

Unity3D * 粒子特效 * Particle System

(基于阿发教程做的重点笔记) 粒子 用于模拟一些流动的,没有形状的物质,例如 液体,烟雾,火焰,爆炸,魔法等效果 去除粒子外框 particle system 粒子发生器,有1个主模块和22个子模块&#xff0…...

【基础篇】1. JasperSoft Studio编辑器与报表属性介绍

编辑器介绍 Jaspersoft Studio有一个多选项卡编辑器,其中包括三个标签:设计,源代码和预览。 Design:报表设计页面,可以图形化拖拉组件设计报表,打开报表文件的主页面Source:源代码页码&#xff…...

数据结构:算法篇:快速排序;直接插入排序

目录 快速排序 直接插入排序 改良版冒泡排序 快速排序 理解: ①从待排序元素中选定一个基准元素; ②以基准元素将数据分为两部分:(可以将:大于基准元素放左,小于基准元素放右) ③对左半部分…...

WebAPI编程(第一天,第二天)

WebAPI编程(第一天,第二天) day01 - Web APIs 1.1. Web API介绍 1.1.1 API的概念1.1.2 Web API的概念1.1.3 API 和 Web API 总结 1.2. DOM 介绍 1.2.1 什么是DOM1.2.2. DOM树 1.3. 获取元素 1.3.1. 根据ID获取1.3.2. 根据标签名获取元素1.3.…...

查看MySQL存储引擎方法,表操作

修改数据库表存储引擎 show create table dept; show table status from itpux where name s2\G; select * from information_schema.TABLES where table_schemaitpux and table_names3; 查询整个mysql里面存储引擎是innodb/myisam的表 建表时候要写好存储引擎 -- 创建表 -- 表…...

【Python教程】Python3基础篇之Number(数字)

博主介绍:✌全网粉丝21W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...

基于openEuler22.09部署OpenStack Yoga云平台(一)

OpenStack Yoga部署 安装OpenStack 一、基础准备 基于OpenStack经典的三节点环境进行部署,三个节点分别是控制节点(controller)、计算节点(compute)、存储节点(storage),其中存储…...

I.MX6U 启动方式详解

一、启动方式选择 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置 来选择 BOOT 方式。 BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝),一种是修改相应的 GPIO 高低电平。第一种修改 eFUSE 的方式只能修改一次,后面就…...

施耐德变频器ATV320系列技术优势:创新与安全并重

在工业自动化领域,追求高效、安全与智能已成为不可阻挡的趋势。施耐德变频器ATV320系列凭借其强大的设计标准和全球认证,成为能够帮助企业降低安装成本,提高设备性能的创新解决方案。 【全球认证,品质保障】ATV320 系列秉持施耐德…...

系统思考—全局思维

昨天接到一个企业需求,某互联网公司VP希望N-1的核心团队一起学习系统思考,特别是在新业务快速发展的阶段。公司增长势头不错,但如何解决跨部门的协作问题,成为了瓶颈。全局思维就是关键。产品、技术、市场、运营、客服……如何打破…...

Windows如何切换用户访问局域网共享文件夹,如何切换网上邻居的账户

Windows如何切换用户访问局域网共享文件夹,如何切换网上邻居的账户 查看共享连接 使用net use命令可以查看当前已经建立的共享连接。net use删除共享连接 使用net use * /del 或net use * /delete命令可以删除所有当前的共享连接。net use * /delnet use * /delete如果只想删除…...

如何在谷歌浏览器中启用语音搜索

想象一下,你正在拥挤的地铁上,双手都拿着沉重的购物袋,突然你想搜索附近的咖啡馆。此时如果你能通过语音而不是打字来进行搜索,那将多么的便利!在谷歌浏览器中,启用语音搜索功能就是这么简单而高效&#xf…...

HarmonyOS NEXT 技术实践-基于基础视觉服务实现骨骼点识别

本示例展示了如何在HarmonyOS Next中实现基于基础视觉服务的骨骼点识别功能。骨骼点识别是计算机视觉中的一项重要技术,广泛应用于运动分析、健身监控和增强现实等领域。通过使用HarmonyOS Next提供的视觉API,开发者能够轻松地对人物图像进行骨骼点检测&…...

Debian系统宝塔面板安装LiteSpeed Memcached(LSMCD)

参考链接 1. 官网指引: https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:lsmcd:installation 2. 安装OpenLiteSpeed官方LSMCD对象缓存替换Memcached详细图文教程 - 搬主题 实操记录: 首先LSMCD 默认的端口是11211,…...

tcp 的三次握手与四次挥手

问1: 请你说一下tcp的三次握手一次握手两次握手三次握手问: 为什么不四(更多)次握手? 问 2: 请说一下 tcp 的 4 次挥手一次挥手两次挥手问题:能不能等到数据传输完成再返回 ack? 三次挥手四次挥手问: 为什么要等两个最大报文存在时间? bg: tcp 是可靠的连接,如何保证 建立连…...

QT--信号与槽机制

什么是信号与槽? 在 Qt 中,信号与槽是一种用于对象间通信的机制。它使得一个对象可以通知其他对象某个事件的发生,而不需要直接知道这些对象的具体实现。这种机制非常适合事件驱动的编程模型,如用户界面交互。 1. 信号&#xff…...

vue3项目history路由模式部署上线405、刷新404问题(包括部分页面刷新404问题)

一、找不到js模块 解决方法:配置Nginx配置文件: // root /your/program/path/dist root /www/wwwroot/my_manage_backend_v1/dist;二、刷新页面导致404问题(Not found) 经过一系列配置后发现进入页面一切正常,包括路由前进和回退&#xff0…...

电阻容差是啥意思

定义 电阻器在生产过程中,由于工艺等因素的限制,其实际阻值不可能与标称阻值完全一致,总会存在一定的误差。例如,一个标称阻值为100Ω、容差为5%的电阻,其实际阻值可能在95Ω至105Ω之间。 产生原因 材料特性差异&a…...

Rust: offset祼指针操作

offset是偏移元素个数,不是字节数! fn main(){let student_a Student{id:20240001,name:"张三娃".into(),class_id:3,age:14,grade:1};let student_b Student{id:20240002,name:"李四牛".into(),class_id:3,age:15,grade:1};let …...

SD本地部署和云端部署的区别以及优劣

相信有相当多多小伙伴应该是看了一些技术或者设计的博主的教程后开始尝试使用SD的,在大多数的SD教程中,绝大多数都是推荐本地化的部署流程,毕竟本地部署后的SD自由度会显得高一些,大部分的操作也都完全可以实现,只不过…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...