Unity3D粒子系统制作烟雾特效

本文将会介绍如何使用Unity内的粒子系统制作烟雾效果。

如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D 粒子系统之基础属性介绍 先附上预览图:

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏引擎

制作教程

材质贴图

首先我们需要一张烟雾材质用的材质贴图,我是自己画的,可以参考下图自己画一张或者去网上找素材。

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏美术_02


注意,一定要使用黑底的图片。

将画好的图片导入Unity中。

烟雾材质

在Project窗口新键材质,名字和位置随自己习惯。

Shader模式选择Legacy Shaders/Particles/Additive,将之前导入的贴图拖入Particle Texture中,如下图所示。

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏美术_03


这样需要用到的材质就创建好了。

烟雾粒子系统

新键一个粒子系统,有的时候粒子系统默认Rotation是(0,0,0),需要将X值设为-90,让粒子垂直向上发射。
将上面制作好的烟雾材质直接拖到粒子系统上。
下面开始设定具体参数。
下面的步骤需要对粒子系统有一定的了解,如果还不太熟悉可以看这篇博客:Unity3D 粒子系统之基础属性介绍

粒子系统主页面

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity工厂烟囱烟雾效果_04

取随机值

因为烟雾本身很多参数具有随机性,所以在Start Lifetime,Start Speed,Start Size,Start Rotation这四个选项我们选择Random Between Two Constants(两个常量之间取随机)。
参数按照图里的输入即可。

Emission 发射器

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity_05


Rate Over Time是指1秒内发射的粒子数量,我们在这设为50。

Shape 发射器形状

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏美术_06


因为我们需要的效果是烟雾向上升起,所以Radius(半径)需要设定大一些,Angel需要小一些。

Force Over Lifetime 生命周期里的受力

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity工厂烟囱烟雾效果_07


我们希望烟有一点被微风吹动的感觉,所以在X轴上给个0.4的力。

敲黑板,下面就是烟雾的灵魂了。

Color Over Lifetime 生命周期里的颜色

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏美术_08


点击Color右边预览条可以看到下面这个界面。

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity_09


上面的箭头设置透明度,下面的设置颜色,具体参数如下

透明度:

  1. Alpha:0,Location:0%
  2. Alpha:53,Location:27.6%
  3. Alpha:162,Location:63.5%
  4. Alpha:0,Location:100%

颜色:

  1. Color:575757,Location:0%
  2. Color:6C6C6C,Location:27.4%
  3. Color:262626,Location:64.4%
  4. Color:FFFFFF,Location:100%

Size Lifetime 生命周期里的大小

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity_10


点击Size右边的预览条设置大小曲线,参考下图中的曲线即可,不需要完全一样。

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity工厂烟囱烟雾效果_11

RotationLifetime 生命周期里的旋转值

unity工厂烟囱烟雾效果 unity烟雾粒子特效_unity_12

Renderer

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏引擎_13


Render界面参考上图即可,不做过多介绍。

这样就得到了下图中的烟雾效果,具体应用过程中因为贴图和场景光照不同,还需要自行对一些参数进行修改,让烟雾更适合场景。

unity工厂烟囱烟雾效果 unity烟雾粒子特效_游戏美术_14