Unity3D游戏开发之粒子系统

发表于2017-10-20
评论0 4.6k浏览

Shuriken粒子系统是Unity3.5版本新推出的粒子系统,它采用模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种缤纷复杂的粒子效果,为了让大家可以更好的去使用粒子系统,下面就给大家详细介绍下。


依次打开菜单栏中的GameObject->Greate Other->Particle System,在场景中新建一个粒子游戏对象,如下图:


粒子系统的控制面板主要由Inspector视图中的Particle System组件的属性面板及Scene视图中的Particle Effect两个面板组成。Particle System组件的属性面板包括Particle System初始化模块及Emission、Shape等多个模块,每个模块都控制着粒子某一方面的行为特性,属性面板最下面为Particle System Curves粒子曲线,如下图:


单击Open Editor按钮弹出粒子编辑器对话框,该对话框集成了Particle System属性面板及粒子曲线编辑器,便于对复杂的粒子效果进行管理和调整,如下图:


Initial Module初始化模块,粒子系统初始化模块,此模块为固有模块,无法将其删除或禁用,该模块定义了粒子初始化时的持续时间、循环方式、发射速度、大小等一系列基本参数,如下图:



Emission Module(发生模块)

发射模块控制粒子发射的速率,在粒子的持续时间内,可实现在某个特定的事件生产大量粒子的效果,这对于在模拟爆炸效果需要产生一大推粒子的时候非常有用,Rate:发射速率,每秒或每个距离单位所发射的粒子个数,单击右侧上面的下三角按钮可以选择发射数量由一个常数还是由粒子曲线控制,单击右侧下面的下三角按钮可以选择粒子的发射速率使按时间还是距离变化;Bursts:粒子爆发,在粒子持续时间内的指定时刻额外增加大量的粒子,此选项只在粒子速率变化方式为时间变化的时候才会出现,如下图:


Shape Module(形状模块),形状模块定义了粒子发射器的形状,可提供沿着该形状表面法线或随机方向的初识力,并控制粒子的发射位置及方向

Shape:粒子发射器的形状,不同形状的发射器发射粒子初始速度的方向不同,每种发射器下面对应的参数也有相应的差别,如下图:


Sphere:球体发射器;Hemisphere:半球发射器;Cone:椎体发射器;Box:立方体发射器;Mesh:网格发射器;如下图:



下面我们通过具体的案例来详解粒子系统如何使用,打开现成的场景,如下图:


单击Play按钮运行场景,随着相机运动可以看的里面的机器人、风扇及器械等都动起来了,非常鲜活生动。观察场景发现转动的风扇这块,如果能加一些粒子效果会更好,下面将讲解如何在风扇处增加飘落雪花和冷空气的粒子效果。

切换到Scene视图,双击风扇模型或者在Hierarchy视图中展开DynamicObjects层级,双击Prop_fan_large游戏对象,将当前视角移动到风扇游戏对象跟前,这里要在风扇附近的位置建立两个粒子系统,来模拟被风扇从外面吹进来的雪花粒子效果及冷空气效果。

新建一个粒子系统游戏对象,,如下图:


可以看到该粒子的位置处在风扇附近并且该粒子已经有了一个类似白色光球向上飘的一个默认效果,新建的粒子效果使默认的,并不符合项目所需的雪花效果,因此需要对刚创建的粒子的各属性参数进行一步步的调整。

首页要设置粒子的材质,在Inspector视图中单击Renderer模块标签,在单击Material属性右侧的圆圈按钮,在弹出的材质选择框中选择part_bokeh_mat材质,如下图:


粒子效果如下图:


我们继续调整属性,设定Start Lifetime(生命周期)为3.5,单击Start Speed(粒子初始速度)右侧的下三角按钮,在下拉列表中选择速度值的变化方式为Random Between Two Constants(两个常数随机选择),两个常数值设为1和2,这样雪花的飘落速度就为随机值了,同理设定Start Size的值为在0.015和0.035两个常数间随机取值。单击Start Color(粒子初始颜色)右侧的下三角按钮并在下拉列表中选择Random Between Two Colors(两个纯色随机选择),让粒子的颜色在两个纯色中随机选择,最后将Max Particles(最大粒子数)设为5000,这样粒子的初始化模块的参数就设定完毕了,如下图:


Emission模块的参数设置,将Rate(每秒粒子的数量)参数值设为30,

Shape模块的参数设定,选择Cone(椎形发射器),设定Angle(角度)值为20,Radius(半径)值为1.7

Force over Lifetime Module(生命周期作用力模块),该模块控制着粒子在其生命周期内的受力情况,xyz3个轴向上的作用力大小,设定Y值为-0.74,Space为World(世界坐标系),调整参数使得粒子受到一个作用力的影响

Color over Lifetime Module(生命周期颜色模块),该模块控制了每一个粒子在其生命周期内的颜色变化
Renderer模块的参数设定,勾选Cast Shadows及Receive Shadows右侧的复选框,这样粒子就可以接受和反射光线了,如下图:

http://blog.csdn.net/wjlsxl_whb/article/details/53129310

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引