粒子系统-常用子模块

news2024/11/18 6:46:15

目录

Emission (发射)

Shape (形状)

Cone (锥形)

Velocity over Lifetime (运动)

Limit Velocity over Lifetime (速度限制)

Force over lifetime (受力)

Color over Lifetime

Size over Lifetime

Rotation over Lifetime

Noise (扰动)

Collision (碰撞)

碰撞事件

Sub Emitters (二级发射器)

Lights (灯光)

Trails (拖尾)

Renderer (渲染)

Render Mode

Stretched Billboard (拉伸广告牌)

Horizontal Billboard (水平广告牌)

Material

粒子组合

二级发射器


Emission (发射)

粒子发射模块,控制粒子的发射情况。

匀速发射

Rate over Time 每秒钟发射N个粒子

Rate over Distance 每前进一米发射N个粒子,针对的是运动中的粒子系统。

爆发式发射

Bursts

Time 爆炸延迟的时间,即延迟多久后开始爆炸,delayTime

Count 爆发出多少粒子

Cycles 爆炸次数

Interval 爆炸间隔

Probabillity 爆炸可能的概率,0 表示不会爆炸

 

Shape (形状)

粒子发射器形状

Cone (锥形)

Angle 角度

Radius 底半径

Radius Thickness 半径厚度(壁厚)

Length 长度(高度)

Emit from Base 从底部发射 Volumn 体积内发射(体积内发射可以修改length属性)

 

Velocity over Lifetime (运动)

粒子速度渐变模块。

Linear 直线速度

Space 使用本地还是世界坐标系

Orbital 轨道速度

Offset 中心偏移

Radial 离心速度

Speed Modifier 速度修改

粒子速度 = (Start Speed + Linear) * Speed Modifier

Start Speed 指定的是 Z轴方向的速度

 

Limit Velocity over Lifetime (速度限制)

Drag 是摩擦系数,模拟阻力,

Multiply by Size 表示粒子越大,阻力越大

Multiply by Velocity 粒子速度越大,阻力越大

Force over lifetime (受力)

控制粒子在x,y,z方向上受到的力,

Space可以选择Local和World坐标系。

Color over Lifetime

颜色渐变,随着时间的改变,粒子的颜色,透明度逐渐改变。

选择上面的点,就是设置透明度,下面的点就是设置颜色。

上下分别最多可以添加8个点。

粒子颜色 = Start Color * 渐变颜色 ; rgba的数值相乘。

Size over Lifetime

同 Color over LifeTime原理,随着时间改变,粒子的大小改变。

 

Rotation over Lifetime

随着时间推移,粒子旋转。

Angular Velocity 角速度,此处表示粒子每秒旋转45度。

Separate Axes 用于控制x,y,z的角速度

Noise (扰动)

表示阻碍粒子正常运行,比如空气,水等扰动粒子的效果。

Strength 扰动强度,表示当扰动粒子时,粒子受到的力有多大

Frequency 扰动频率,表示多长时间扰动一次粒子

 

Collision (碰撞)

下图是与世界中物体碰撞

Type 碰撞类型,此处是World,也可以与平面碰撞。

Dampen 速度的衰减,0不衰减,表示粒子碰撞到物体后速度衰减多少,百分比值

Bounce 粒子在碰撞时弹跳力度

Lifetime Loss 碰撞损失的生命时长,百分比值

Collides With 碰撞物体

Type:World时,碰撞的物体需要有Collider

上图可以看到两种Type的区别,当指定为Planes时,粒子碰撞到平面后,即使这个平面不存在了,当粒子下落到平面所处平面时还是会发生碰撞,而World就仅仅只是碰撞一次。

碰撞事件

创建一个脚本,挂载到粒子系统下,在脚本中增加粒子碰撞检测事件,

private void OnParticleCollision(GameObject other)
{
    Debug.Log("碰撞物体:" + other.name);
}

 6fe33514eb441bb1c6b0fd838fd7c995.png

在Collision中勾选Send Collision Messages,然后启动游戏,就可以在控制台看到打印,碰撞物体:平面

Sub Emitters (二级发射器)

下面规定在一级粒子死亡时发射二级粒子。

Inherit 二级粒子继承一级粒子的属性,继承的属性可以选择如下方式

Emit Probability [0,1] 表示一级粒子爆发二级粒子的概率,此处1表示100%,即每个一级粒子都能爆发二级粒子。

构建出如下父子节点的粒子,当父粒子死亡时,二级粒子爆发。

当发射类型为非Birth时,二级粒子必须设置为爆发式发射。

 cb5f674f0142564c9c6886aab9e1d0f1.png

 

Lights (灯光)

设置粒子的光源效果,需要一个光源。

Ratio 粒子拥有光源的比例,比如此处是20%的粒子会拥有一个光源,其他粒子就是不发光。

Use Particle Color 使用粒子的颜色作为光源的颜色。

Range Multipler 范围因子,确定光源范围

Intensity Multiplier 强度因子,确定光源的强度

Maximum Lights 光源最大数量

范围因子和强度因子都是用来改变光源的数值,

注意:设置了两个Plane作为地面和墙面,这样灯光效果才能看见,否则是看不见灯光的。

Trails (拖尾)

Ratio 粒子的拖尾概率,此处是100%,即每个粒子都会有拖尾效果

Inherit Particle Color 继承粒子的颜色

Width over Trail 拖尾宽度变化

Color over Trail 拖尾颜色变化

拖尾的材质可以在Renderer的Trail Material 中指定。

黄色粒子尾部被拉长的爱心就是拖尾的效果,

 

Renderer (渲染)

用于粒子渲染形状。

Render Mode

渲染模式,默认是Billboard(广告牌模式),

广告牌模式: 粒子总是正面面向摄像机。

 

Stretched Billboard (拉伸广告牌)

Stretched Billboard是拉伸广告牌模式,

Camera Scale 相机运动导致拉伸

Speed Scale 速度导致的拉伸

Length Scale 长度上拉伸

Scale = Length Scale + Speed Scale * Speed

将爱心的尖头朝左,那么在发射的时候就可以将尖头作为头部发射,如下所示,

发射器是一个球形发射器,向四面八方发射爱心,此时尖头所指就是发射朝向的路径

Horizontal Billboard (水平广告牌)

让粒子发射时水平的,会导致从正面看粒子能看见,背面就无法看见,可以在材质处勾选Two Sided,让从背面也可以看见。

 

Material

改变粒子的形状,只需要新建一个材质,然后在renderer模块替换默认材质即可。

如果材质有颜色,那么也会替换粒子的颜色。

创建材质

如果指定了材质的图片,那么就需要在材质里修改着色器,

Rendering mode 渲染模式,下面 Additive是渲染叠加模式,

一般图片使用黑色底或者透明色图片

粒子组合

粒子系统也可以通过形成父子关系来同时运行多个粒子系统。

二级发射器

本文中Sub Emitter

 

 

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

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

相关文章

【C语言航路】第十站:指针进阶(二)

目录 六、函数指针数组 七、指向函数指针数组的指针 八、回调函数 1.回调函数的概念 2.回调函数实现计算器 3.回调函数实现冒泡排序 总结 六、函数指针数组 我们已经知道了函数指针,它的类型是int(*)(int,int)。那么我们能否进行推广呢?将其推广成…

基于AD Event日志实时检测DSRM后门

01、简介每个域控制器都有一个目录还原模式(DSRM)帐户,它的密码是在安装域控时设置的,实际上它对应的就是sam文件里的本地管理员“administrator”,基本很少会被重置,因此有着极强的隐蔽性。攻击者通过获取…

面试篇之NoSQL

面试篇之NoSQL一、redis持久化1.1、字节1.2、微软1.3、题解1.3.1、RDB快照1.3.2、AOF日志1.3.3、最佳实践二、redis删除策略2.1、字节2.2、阿里云2.3、题解2.3.1、过期删除2.3.2、内存淘汰2.3.3、LRU2.3.4、LFU三、redis高可用3.1、字节3.2、美团3.3、微软3.4、题解3.4.1、主从…

前端性能优化(六):传输加载优化

目录 一:启用压缩 Gzip 二:启用 Keep Alive 三:HTTP 资源缓存 3.1.HTTP 缓存方案 3.2.各大网站缓存策略参考 四:Service Worker 五:HTTP2 的性能提升 5.1.HTTP2 优势 5.2.开启 HTTP2 5.3.Server Push&#x…

【Spring(五)】带你深入了解bean的生命周期

1.5 bean的生命周期 bean的实例化已经说完了,我们最后再来讲讲bean的生命周期。 我们主要来围绕着bean生命周期控制来学习,那么什么是生命周期呢?其实就是一个东西从创建到消亡的完整过程,比如人从出生到死亡的整个过程&#xff…

【MySQL进阶】深入理解redoLog日志

【MySQL进阶】深入理解redoLog日志 文章目录【MySQL进阶】深入理解redoLog日志一:redo日志概述二:redo日志格式三:Mini-Transaction1:以组的形式写入redo日志2:Mini-Transaction的概念四:redo日志的写入过程…

富淼转债,优彩转债上市价格预测

富淼转债基本信息转债名称:富淼转债,评级:A,发行规模:4.5亿元。正股名称:富淼科技,今日收盘价:18.25,转股价格:20.26。当前转股价值 转债面值 / 转股价格 * …

(3分钟速览)SLAM中的三大金刚-H E F Matrix

编辑切换为居中添加图片注释,不超过 140 字(可选)三个矩阵的自由度:单应矩阵H 自由度8基础矩阵F 自由度7本质矩阵E 自由度5或者8,这个是根据使用旋转矩阵还是旋转向量编辑切换为居中添加图片注释,不超过 14…

每日一题之Vue的异步更新实现原理是怎样的?

最近面试总是会被问到这么一个问题:在使用vue的时候,将for循环中声明的变量i从1增加到100,然后将i展示到页面上,页面上的i是从1跳到100,还是会怎样?答案当然是只会显示100,并不会有跳转的过程。…

计算机基础——计算机应用领域以及未来发展趋势

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.计算机应用领域 1.信息管理 2.过程控制 3.计算机辅助技术 1&#xff09…

一天天过去,每天该如何过?

刚跨了年,又快到春节,日子就这样一天天过去。如何过好这一生是个大命题,不如简化点考虑下如何过好一天?人的时间大体分为两类:主动的,可以自由支配;被动的,等着被安排。过去我在互联…

MCU-51:LCD1602详解

目录一、LCD1602简介1.1 显示原理1.2 引脚及应用电路1.3 技术参数1.4 引脚功能1.5 指令集1.6 连接方式二、时序图2.1 写时序2.2 读时序三、代码演示3.1 LCD1602.c3.2 示例注意:一定要看一、LCD1602简介 LCD1602(Liquid Crystal Display)液晶…

能量加油站Java上

1、final 在 Java 中有什么作用? 1、final 修饰的类叫最终类,该类不能被继承。2、final 修饰的方法不能被重写3、final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改 2、Math.round() 指向上取整 补充 Double.do…

01背包问题再探

原题: 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整…

盖子的c++小课堂——第五讲:for 循环

前言 hi,大家好,我是盖子的盖,最近大家都放假了吗,反正我还没有,我们期末考才刚开始考呜呜呜,真羡慕那些放假了的童鞋们~~(╥╯^╰╥)~~ 好啦,废话不多说,开始今天的小课堂吧~~ 上…

厚积薄发打卡Day113:Debug设计模式:设计原则(一)<开闭原则、依赖倒置、单一职责>

厚积薄发打卡Day113&#xff1a;Debug设计模式&#xff1a;设计原则&#xff08;一&#xff09;<开闭原则、依赖倒置、单一职责> 开闭原则 定义 一个软件实体如类、模块和函数应该对扩展开放&#xff0c;对修改关闭。其优点&#xff1a;提高软件系统的可复用性及可维护…

JavaEE多线程-创建线程(Thread)

目录一、线程(Thread)1.1 Thread类中的构造方法1.2 启用线程的方法二、创建第一个多线程三、多线程并发执行简单演示四、多线程并发执行的优势五、Thread的常见构造方法和属性5.1 属性5.2 方法六、中断线程七、线程等待一、线程(Thread) 线程是操作系统中的概念. 操作系统内核…

LeetCode二叉树经典题目(六):特殊位置构造二叉树

目录 21. LeetCode404. 左叶子之和 22.LeetCode513. 找树左下角的值 23. LeetCode112. 路径总和 24. LeetCode113. 路径总和 II 25. LeetCode106. 从中序与后序遍历序列构造二叉树 26. LeetCode105. 从前序与中序遍历序列构造二叉树​编辑 27. LeetCode654. 最大二叉树 …

LED、Mini LED、Micro LED、LCD、OLED技术

1、传统led、miniled、microled的异同 2、OLED OLED&#xff08;Organic Light-Emitting Diode&#xff09;&#xff0c;又称为有机电激光显示、有机发光半导体&#xff08;Organic Electroluminescence Display&#xff0c;OLED&#xff09;。OLED属于一种电流型的有机发光器…

S32K144-hello_word点灯

官方提供了很多的参考例程&#xff0c;每个历程分别配置了不同的外设&#xff0c;这里挨个尝试解读一下。 示例效果 RGB红灯绿灯交替闪烁。 导入示例 示例文件所在目录&#xff1a; 该示例使用PCC和PORT模块交替切换两个LED。 硬件连接 配置引脚功能 生成代码 S32DS自带引…