Unity特效基础——粒子系统

1. 粒子系统的定义

粒子系统最早出现在20世纪80年代,主要用于解决由大量按一定规则运动(变化)的微小物质在计算机上的生成和显示问题。它的应用非常广泛,大的可以模拟原子弹爆炸、星云变化,小的可以模拟水波、火焰、烟火、云雾等,而这些自然现象用常规的图形算法是很难逼真再现的。粒子运动的变化规则可以很简单也可以很复杂,这取决所模拟的对象。

2. 创建粒子系统

在unity中创建粒子系统有三种方式:

  1. Hierarchy层级视图上方单击Create>Paticle System(创建>粒子系统),可以看到场景视图中出现了一个粒子系统。
  2. 在菜单栏中依次单击Gameobject>Particle System(游戏对象>粒子系统),同样也可以创建一个粒子系统。
  3. 直接在Hierarchy(层级视图)中的空白处右击Particle System(粒子系统)。

(使用这三种方式创建的粒子系统完全相同)

3. 粒子系统的播放控制

在层级视图中选择之前创建的Particle System(粒子系统),可以发现在Scene场景视图中右下角多了一个控制窗口,如图3-1所示。


图3-1
  1. Pause(暂停):暂停播放
  2. Stop(停止):停止播放
  3. Playback Speed(播放速度):设置播放速度倍率
  4. Playback Time(播放时间):设置播放时间,从粒子系统开始播放到当前时间
  5. Particles (粒子数量):显示粒子数量

4. 粒子系统的数值控制

Unity默认的粒子系统有四种数字修改类型,可以通过单击数值后面的三角符号进行切换。以start size为例,如图4-1所示。


图4-1
  1. Constant(常量)
    可以把它理解为一个固定值,这个值不会随着粒子寿命而变化
  2. Curve(曲线)
    通过曲线来动态修改粒子的相关参数,以粒子生命周期为例,该曲线表示的是“粒子生命周期”与“粒子大小”之间的关系。
  3. Random Between Two Constant(在两个数值之间随机选取)
  4. Random Between Two Curves(在两个曲线之间随机选取)

5.粒子系统中颜色及颜色渐变坡度控制

1.粒子系统的颜色控制
以粒子系统中的Start color为例,单击Start Color(初始颜色)后的白色块,如图5-1所示:


图5-1

单击后会显示颜色编辑器,如图所示。
通过单击(RGB0-255)下拉箭头切换颜色模式,有RGB、HSV两种模式。
RGB模式是根据三原色的占比来设置最终颜色,而HSV是根据色彩三要素色相,饱和度和明度来设置颜色。
2.颜色渐变坡度控制
以Color over lifetime(生命周期颜色)之中的颜色编辑器设置为例,如图5-2所示。


图5-2

选择Color over lifetime模块,打开后发现有两种模式可以选择。
图5-3

第一种:Gradient(梯度控制)

选择了Gradient之后单击色块,进入颜色编辑器:


图5-4

上方是控制不透明度的滑块,下方是控制颜色的滑块。不透明度从100%到100%再到0%,颜色从白色到蓝色再到浅蓝再到更浅的蓝色。可以任意增加透明度控制滑块点和颜色控制滑块点。Location可以精确显示当前所选择节点的位置,由左至右分别对应0%-100%。
第二种:Random between two gradient(两个梯度之间随机)
颜色将会由两个颜色过渡之间取随机值,设置方式跟单个颜色过度设置类似。

6.粒子系统组成部分

一个粒子系统由多个模块整合而成,如图所示。

图6-1

1.Transform(变换组件):粒子系统的移动、旋转、缩放基本控制项。
2.Particle System(粒子系统初始化模块):固有模块,不可删除或者禁用。该模块定义了粒子初始化时的持续时间、循环方式、发射速度、大小等基本属性。
3.Emission(发射模块):控制粒子的发射速率,可以设置粒子在发射时间内的发射率,也可以指定 在某个特定时间产生大量的粒子。(比如爆炸效果等)
4.Shape(形状模块):定义粒子发射器的形状,可以提供沿着形状表面法线或者随机方向的初始力,并控制粒子的发射位置以及方向。
5.Velocity over lifetime(生命周期速度):控制粒子在生命周期内每一个粒子的速度,可以结合动画曲线实现一些复杂的效果。
6.Limit Velocity over lifetime(生命周期限速):控制粒子在生命周期内的速度限制以及速度衰减,可以模拟类似拖动的效果。
7.Inherit Velocity(速度继承):粒子继承速度设定。
8.Force over lifetime(生命周期作用力模块):控制粒子在生命周期内的受力情况。
9.Color over lifetime(生命周期颜色模块):控制粒子在生命周期内的颜色变化。
10.Color by Speed(颜色随速度变化模块):让每个粒子的颜色根据自身的速度变化而变化。
11.Size over lifetime(生命周期大小模块):控制每一颗粒子在其生命周期内的大小变化。
12.Size by Speed(大小随速度变化模块):让每颗粒子大小在生命周期内随速度变化。
13.Rotation over lifetime(生命周期旋转模块):控制粒子在生命周期内的旋转变化。
14.Rotation by Speed(旋转随速度变化模块):粒子的旋转速度根据自身速度的变化而变化。
15.External Forces(外部作用力模块):是否启用外力场影响。
16.Collision(碰撞模块):可为每个粒子建立碰撞效果,需要实时的碰撞检测。
17.Sub Emitters(子发射器模块):设置粒子在出生,消亡,碰撞三个时刻生成一个新的子粒子系统。
18.Texture Sheet Animation(纹理动画模块):可对粒子在其生命周期内的UV坐标产生变化,生成粒子的UV动画。可以将纹理划分成网格,在每一格存放动画的一帧。同时也可以将纹理划分为几行,每一行是一个独立的动画。
19.Render(渲染器模块):设置粒子渲染相关的属性。
列出了常用的一些粒子模块,还有部分未列出,可以根据需要查阅相关的文档。

7.粒子系统各项参数详细说明

image.png

7.1.Particle System(粒子系统初始化模块)

1.Duration(持续时间):粒子发射器发射粒子的持续时间,单位为秒。
2.Looping(循环):是否开启循环。
3.Prewarm(预热):预热开启后,粒子系统将会直接播放一个周期后的状态,不会显示有少到多的逐渐产生过程。
4.Start Delay(初始延迟):发射粒子前,等待延迟的时间,单位为秒。
5.Start Lifetime(初始生命周期):粒子的存活时间,单位为秒。
6.Start Speed(初始速度):粒子发射时的速度。
7.Start Size(初始大小):粒子发射时的初始大小。
8.3D Start Rotation(3D坐标旋转):可以设置粒子发射时的3D初始旋转。
9.Start Rotation(初始旋转):设置粒子发射时正面的初始旋转。(粒子系统的贴图默认都是只有正面朝向摄像机来渲染的,所以默认情况下只有一个方向的旋转)
10.Flip Rotation(翻转旋转):设置粒子发射时的翻转旋转。
11.Start Color(初始颜色):粒子发射时的颜色。
12.Gravity Modifier(重力修改器):粒子在生命周期内收到重力的影响。
13.Simulation Space(模拟空间):局部坐标系或者世界坐标系。
14.Play on Awake(唤醒时播放):如果启用该项,粒子会在Gameobject唤醒时(在Start方法执行之前)自动播放。
15.Max Particles(最大粒子数):粒子系统中的最大粒子数量。
列出了常用的一些粒子属性说明,还有部分未列出,可以根据需要查阅相关的文档。

想要掌握粒子系统的使用,只是从字面上理解属性是没办法做到的,在后面的文章中我们将会学习到如何使用粒子系统创建一些特定的效果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容