Unity3D粒子系统制作烟雾特效
本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。
如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D 粒子系统之基础属性介绍 先附上预览图:
制作教程
材质贴图
首先我们需要一张烟雾材质用的材质贴图,我是自己画的,可以参考下图自己画一张或者去网上找素材。
注意,一定要使用黑底的图片。
将画好的图片导入Unity中。
烟雾材质
在Project窗口新键材质,名字和位置随自己习惯。
Shader模式选择Legacy Shaders/Particles/Additive,将之前导入的贴图拖入Particle Texture中,如下图所示。
这样需要用到的材质就创建好了。
烟雾粒子系统
新键一个粒子系统,有的时候粒子系统默认Rotation是(0,0,0),需要将X值设为-90,让粒子垂直向上发射。
将上面制作好的烟雾材质直接拖到粒子系统上。
下面开始设定具体参数。
下面的步骤需要对粒子系统有一定的了解,如果还不太熟悉可以看这篇博客:Unity3D 粒子系统之基础属性介绍
粒子系统主页面
取随机值
因为烟雾本身很多参数具有随机性,所以在Start Lifetime,Start Speed,Start Size,Start Rotation这四个选项我们选择Random Between Two Constants(两个常量之间取随机)。
参数按照图里的输入即可。
Emission 发射器
Rate Over Time是指1秒内发射的粒子数量,我们在这设为50。
Shape 发射器形状
因为我们需要的效果是烟雾向上升起,所以Radius(半径)需要设定大一些,Angel需要小一些。
Force Over Lifetime 生命周期里的受力
我们希望烟有一点被微风吹动的感觉,所以在X轴上给个0.4的力。
敲黑板,下面就是烟雾的灵魂了。
Color Over Lifetime 生命周期里的颜色
点击Color右边预览条可以看到下面这个界面。
上面的箭头设置透明度,下面的设置颜色,具体参数如下
透明度:
- Alpha:0,Location:0%
- Alpha:53,Location:27.6%
- Alpha:162,Location:63.5%
- Alpha:0,Location:100%
颜色:
- Color:575757,Location:0%
- Color:6C6C6C,Location:27.4%
- Color:262626,Location:64.4%
- Color:FFFFFF,Location:100%
Size Lifetime 生命周期里的大小
点击Size右边的预览条设置大小曲线,参考下图中的曲线即可,不需要完全一样。
RotationLifetime 生命周期里的旋转值
Renderer
Render界面参考上图即可,不做过多介绍。
这样就得到了下图中的烟雾效果,具体应用过程中因为贴图和场景光照不同,还需要自行对一些参数进行修改,让烟雾更适合场景。