unity3d里粒子的renderer
Shuriken粒子系统是Unity 3.5版本新推出的粒子系统,它采用模块化管理,个性化的粒子模块配合粒子曲线编辑器,使用户能够更轻松地创作出各种缤纷复杂的粒子效果。
新建粒子游戏对象
依次打开菜单栏中的GameObject -> Create 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(生命周期作用力模块)参数:该模块控制着粒子在其生命周期内的受力情况,即xyz三个轴向上的作用力大小。设定Y值为 - 0.74,
Space为World(世界坐标系),调整参数使得粒子受到一个作用力的影响。 - 设置Color over Lifetime Module(生命周期颜色模块)参数:该模块控制了每一个粒子在其生命周期内的颜色变化。
- 设置Renderer模块参数:勾选
Cast Shadows及Receive Shadows右侧的复选框,这样粒子就可以接受和反射光线。