Unity中的粒子系统可以用于制作特效,如开枪火花效果,简单爆炸效果等。(毕竟程序员不是设计师,简单的特效都没有问题,要制作一些非常美观的特效还是需要多了解跟美术有关的知识。)
粒子系统实现一个简单的烟花爆炸特效:(为了凸显烟花特效,我把天空背景调成黑色的)
(缺点:六种粒子色彩搭配不佳,模拟出烟花不perfect,烟花爆炸效果粒子没有处理好,视觉上看起来有点怪,熟能生巧ingO(∩_∩)O~)
实现过程
一、创建粒子系统
选择菜单栏Game Object->Effects->Partical System命令,在场景中创建一个粒子系统对象,作为烟花效果
粒子系统主要由Inspector视图中的Partical System组件和Scene视图中的Partical Effect两个面板组成
点击"Open Editor"可以跳转到界面
二、设置产生的粒子特效
以Fireworks烟花粒子特效为例
(1)在Partical Effect面板中设置烟花粒子生命周期,勾选Size over Lifetime并展开Size over Lifetime面板,用曲线来控制粒子在生命周期中的大小变化
(2)在粒子编辑器界面,选中Emission选项将Rate(速率)由10改为1,使Fireworks(烟花)发射的速率变慢,使其更加符合实际效果
(3)在Shape中调整Fireworks粒子发射器发射出粒子的形状为cone圆锥体
(4)添加粒子系统资源包
右击Project视图下的Assets文件夹,悬着ImportPackage命令导入Particle Systems粒子系统资源,打开Fireworks粒子编辑面板的Render项将材质(Material)更换为Particle Firework,并修改一些参数
(5)修改FireWorks的初始属性,为了让烟花飞的不是那么高,可以对Firworks的Start Lifetime(粒子的初始寿命)进行调整;烟花上升的颜色不应该是纯白色,所以讲Start Color(粒子的初始颜色)设置为在两个颜色间随机;初始的尺寸和速度应该设置稍微大一些,设置如下
到此就成功制作出烟花升空的效果,为了逼真实际效果,可以多做些粒子效果进行辅助
自己做六个粒子效果初始值
粒子系统常用属性解释:传送门
1.默认展开的是粒子系统的初始化模块:此模块为固有模块,不可删除或者禁用。该模块定义了粒子初始化时的持续时间、循环方式、发射速度、大小等一些列基本的参数。
2.Emission:发射模块
控制粒子的发射速率(Rate),在粒子持续时间内,可实现某个特定时间生成大量粒子的效果,可模拟爆炸效果生成一大堆的粒子。
3.Shape :形状模块
定义粒子发射器的形状,可提供沿形状表面法线或随机方向的初始力,并控制粒子的发射位置以及方向。
4.Velocity over Lifetime :生命周期速度模块
制着生命周期内每一个粒子的速度,对有着物理行为的粒子效果更明显,但对于那些简单视觉行为效果的粒子,如烟雾飘散效果以及与物理世界几乎没有互动行为的粒子,此模块的作用就不明显了。
5.Limit Velocity over lifetime :生命周期速度限制模块
控制粒子在生命周期内的速度限制以及速度衰减,可以模拟类似拖动的效果。若粒子的速度超过设定的限定值,则粒子速度之会被锁定到该限定值。
6.Force over Lifetime:生命周期作用力模块
控制粒子在生命周期内的受力情况。
7.Color over lifetime:生命周期颜色模块
控制粒子在生命周期内的颜色变化。
8.Color by Speed:颜色的速度控制模块
此模块可让每个粒子的颜色根据自身的速度变化而变化。
9.Size Over Lifetime :生命周期粒子大小模块
控制每一颗粒子在其生命周期内的大小变化。
10.Size by Speed:粒子大小的速度控制
此模块可让每颗粒子的大小根据自身的速度变化而变化。
11.Rotation Over Lifetime :生命周期旋转模块
控制每颗粒子在生命周期内的旋转速度变化。
12.Rotation by Speed :旋转速度控制模块
此模块可让每颗粒子的旋转速度根据自身速度的变化而变化。
13.External Forces:外部作用力模块
此模块可控制风域的倍增系数。
14.Collision:碰撞模块
可为每颗粒子建立碰撞效果,目前只支持平面碰撞,该碰撞对于简单的碰撞检测效率非常高。
15.Sub Emitters:子发射器模块
此模块可时粒子在出生、消亡、碰撞等三个时刻生成其他的粒子。
16.TextureSheet Animation:序列帧动画纹理模块
可对粒子在其生命周期内的UV坐标产生变化,生成粒子的UV动画。可以将纹理划分成网格,在每一格存放动画的一帧。同时也可以将文理划分为几行,每一行是一个独立的动画。需要注意的是,动画所使用的纹理在Renderer模块下的Material属性中指定。
17.Renderer:粒子渲染器模块
该模块显示了粒子系统渲染相关的属性。
粒子效果中有一个子发射模块(Sub Emitters),此模块可时粒子在出生、消亡、碰撞等三个时刻生成其他的粒子
目的是为了让烟花粒子上升到最高点时消亡,产生新粒子(爆炸)效果