原创作品

Unity3D体积烟雾制作思路分享_by474

474 发表于   2018-05-04 11:48:31
16559
10
105

在一些写实风格的游戏中,我们经常可以看到由爆炸、燃烧所产生的滚滚浓烟。其中的的烟雾特效好似不是一张贴图,而像是真实的物理烟雾。例如


什么是体积烟雾?先看一下对比图。

QQ截图20180428123737.png左边和右边用到的是同一张贴图。明显可以看到,左边的更真实、具有空间感和立体感,右边就显得比较平。那么这种体积烟是怎么做的呢?通常有几种做法,一个是利用法线图将烟雾的光照信息记录下来,通过计算得到贴图的明暗关系与受光情况。另一种是利用一张遮罩图,人工将贴图的亮面和暗面划分出来(也是大菠萝3的做法)。这里主要讲第二种方法。




首先我们在制作shader前,先明确几个需求:

1、shader需要有两张贴图,一张烟雾纹理(带有alpha通道)、一张mask遮罩(用来划分明暗面)。

2、需要控制烟雾出生的旋转角度来制造随机感,但是遮罩图是不会旋转的(或者旋转角度是个固定值)

3、可以使用粒子系统控制烟雾透明度,从而达到淡入淡出的自然消散效果。



接下来开始分析:

212823p0x4corr8zpvpng9.png

框1部分的作用是:利用单色通道(R)去控制贴图的旋转角度。其中的随机系数,是对单色通道的数值进行一个倍数放大的运算,来提高随机性。有人会问:粒子系统里不是有随机初始角度吗?这个问题我们稍后再说。

框2部分的作用是:通过一个数去控制mask图的旋转角度,这个数是一个确定的值,可以再shader外部去调整,0-1代表一个旋转周期。

最后的顶点色Vertex Color的alpha通道与贴图通道相乘,以便于在粒子系统里控制淡入淡出。


接下来是贴图部分。这里我用到两张贴图,纹理图是

214006seoc2donouty9zc7.png

遮罩图是

214009rx59i66dbbm2qmbt.png

纹理图你可以使用各种各样的烟雾贴图去尝试,遮罩图的绘制方法也很简单。(涂涂抹抹随便乱画)



最后是粒子部分,发射器基本参数大家都会,这里就不一一详细说了。重点部分是:

1、不能再按照以往常规的做法给start rotation 0-360的随机变化去改变贴图的初始角度了。因为一旦改变,mask图也会跟着旋转,明暗关系就乱了。

2、刚才我们在shader里是利用单色通道去控制纹理图的旋转角度,所以这里我们利用初始颜色,将它设置为从为从黑道白的随机值,即可实现纹理图的随机旋转。

QQ截图20180428124317.png



之后就完成啦,附上gif图,一个是多角度的动态,一个是改变光照方向动态。

9992.gif



需要说明的是,因为我们在制作shader的过程中,占用了R通道,所以无法通过粒子系统去改变烟雾的颜色。解决办法也很简单,你可以再shader中加入控制颜色的外部变量,或者直接ps涂涂抹抹乱花一通,至于更加帅气的拓展就要靠各位小伙伴们的聪明才智来自由发挥了~



附上制作好的shader文件,当然还是希望大家理解原理之后举一反三。

链接:https://pan.baidu.com/s/1qYBCGRa 密码: rdph



QQ截图20180428123737.png9993.gif


确定
评论(10)
热心市民小阿giao
18年的分享我才看到QAQ
回复
743天前
MumuX
感谢技术分享!shader的网盘链接失效了,能再发一次吗呜呜
回复
780天前
Esora
本当にありがとうございます~
回复
1221天前
巡鹿123
感谢大佬分享,链接失效了,可以再来一发不,哭晕在厕所,,,,,
回复
1625天前
mm巧巧力
这个很干货,膜拜大神
回复
2180天前
风口上的猪
回复
mm巧巧力
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
森野大熊
谢谢大佬分享
回复
2193天前
风口上的猪
回复
森野大熊
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
居易哥哥
回复
森野大熊
你好,链接失效了,能分享一份给我吗?2289666750@qq.com,谢谢大佬哈
回复
372天前
叮叮
这个很用!自己正好在做这方面的,666
回复
2202天前
风口上的猪
回复
叮叮
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
居易哥哥
回复
叮叮
你好,链接失效了,能分享一份给我吗?2289666750@qq.com,谢谢大佬哈
回复
372天前
冰糖葫芦娃
感激大佬 之前就一直觉得自己做的烟跟2D的一样一点体积感都,没有
回复
2202天前
风口上的猪
回复
冰糖葫芦娃
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
居易哥哥
回复
冰糖葫芦娃
你好,链接失效了,能分享一份给我吗?2289666750@qq.com,谢谢大佬哈
回复
372天前
超大玉螺旋丸
感谢大佬分享,希望能继续分享一些其他素材的,很受用!
回复
2204天前
风口上的猪
回复
超大玉螺旋丸
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
居易哥哥
回复
超大玉螺旋丸
你好,链接失效了,能分享一份给我吗?2289666750@qq.com,谢谢大佬哈
回复
372天前
BrzL哞
感谢474大佬分享!
回复
2205天前
风口上的猪
回复
BrzL哞
你好,作者的文件失效了,请问能不能分享给我一下
回复
1583天前
没有更多啦~
  • 咨询
    客服
  • 扫码加入QQ群 或搜索QQ群号: 797421367
  • 扫码关注公众号 或微信搜索: cokey游戏特效