游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5686|回复: 0

手把手教你做一个超写实爆炸特效

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-5-30 10:05:41 | 显示全部楼层 |阅读模式
关于作者:马识途,腾讯互动娱乐天美工作室群游戏美术师。(公众号:一个加班狗的自救手册)

上篇

说到爆炸,我们脑海中一般会浮现出几个关键词:火球、浓烟、碎片、火星、冲击波等等。这些元素,其实就是我们在开始设计特效时最初的灵感了。我们可以把这些关键词记录下来,下一步就是针对这些关键词去找大量的参考,把灵感连成线,形成更清晰和完整的思路过程。

在确定了大致的思路和方向后,我们就可以开始考虑具体细节的部分了。首先,对于一个特效来说,最基础的是形态。比如这个爆炸,他是球形?还是方形?(显然不可能是方形)是呈放射状,还是扩散形?是单一的几何形状?还是几个几何体的组合?以及在特效变化的过程中,是否有形变?怎么变?这些都是我们需要考虑的问题。

经常在一些游戏或者影视作品中,我们一看它们的到爆炸效果就会觉得:辣眼睛、5毛啊!造成这种原因,除了环境以及背景和特效没什么关联以外,更重要的是爆炸的规律不正确。

由于年代久远、硬件性能或者引擎限制原因,之前的绝大部分游戏中(甚至包括很多3A级别的端游),对于爆炸的表现基本就是用粒子发射一大堆火焰or烟雾贴图糊在一团,有时候再配合一些屏幕后期效果来增强表现。然而随着硬件技术的进步和引擎的不断完善,越来越多的游戏开发者和玩家已经不能满足这种简单而抽象的做法,而是去追求增加真实、更偏写实效果的爆炸表现。

(当然也有往风格化发展的,这里我们先不讨论哈)

1.jpg
[《正当防卫3》]

2.jpg
[《孤岛惊魂5》]

3.jpg
[《幽灵行动:荒野》]

从刚才的简单介绍里,我们已经对游戏里的爆炸有了一个初步的认知,接下来我们继续讨论爆炸的形态。在这之前,我们需要对其进行一下简单的分类。

  • 如果从爆炸的规模来分:小规模爆炸(手雷,枪榴弹)、中等爆炸(汽车,导弹,炮弹)、大型爆炸(轰炸,飞船爆炸、建筑物爆炸)、特殊爆炸(蘑菇云,恒星爆炸)......
  • 如果从爆炸方式来分:地面爆炸、空中爆炸、水面爆炸、机器爆炸......
  • 如果从爆炸类型来分:炸弹爆炸(尘土,碎片)、燃料爆炸(火焰,黑烟)、科技爆炸(电浆,粒子)......


可以看到,不同类型不同方式下,爆炸的造型、元素和节奏也各不相同。当我们在接到一个需求,或者准备开始一个作品时,首先要确定的是:我需要做一个什么样的爆炸。从规模到方式再到类型以及你能想得到的一切,尽可能详描的在脑海中描述出你要的效果。确定了这些条件,有助于我们在接下来的设计制作过程中始终有一个明确的主题,而不会跑偏。

回到开始,假设这次我们需要做一个:中等规模、在地面上的、汽车类物体被炸弹引爆的爆炸效果。从这些关键词中,我们可以大致确定特效的基本造型:

4.jpg

由于爆炸是在地面产生,因此它的形状会被地面所影响,从而出现图中的形态。同时由于温度差异,中央的火球一般会比烟雾温度高,呈现出炽热的红色,并向上翻滚升腾;周围烟雾则温度较低,像四周扩散。因此我们得结论,这种爆炸特效的主体,是中心的火球以及围绕在周围的浓烟。到这里,特效的基本造型也就确定下来了。

有了主体,下一步就是补充辅助元素来丰富整体效果。我们经常在一些电影中看到,剧烈的爆炸带起来大量的尘土,显得冲击力十足。比如:

5.jpg
[电影《红海行动》]

6.jpg
[《叛乱:沙漠风暴》]

这种放射状的尘土有助于增加整体特效氛围的真实感与冲击力。因此在设计制作的过程中,同样也会考虑在火球周围加入了类似的元素。

7.jpg

接下来就是一些小的装饰性元素,比如火星啦,碎片之类的。我们在已有的基础上添加它们来丰富一下画面就好,切勿抢了主体。同时为了增加画面表现力,我们在爆炸一开始的时候加入一个扩散的冲击波,模拟空气被推开的感觉。

8.jpg

9.jpg
[冲击波和碎片]

到这里,对爆炸特效造型和元素的分析这里就先告一段落了。接下来我们讨论几个关键点,有助于提升特效品质。我先罗列一下,然后逐个分析:光影关系、环境影响、色彩变化、烟雾消散。

一.光影关系

经常有同学在做写实类特效时,会觉得做出来的东西不够真实,缺少体积感。其实光影关系在对塑造特效真实度和体积感中起到了非常大的作用。举个例子:在现实生活中,很浓的烟雾在强光的照射下,会对自身和环境产生阴影。

10.jpg

我们再来看这两张图:

11.jpg

12.jpg

显然下图显得更真实,更接近现实世界里的烟雾。

回到我们的特效上,对于这个爆炸来说,中央火球在燃烧的同时会发出强烈的光线,因此它对我们整个特效来说,就是一个大光源。烟雾在光的影响下,面向火球的一面会比较亮,背向火球的一面则会较暗,这样其自身阴影就产生了

13.jpg

因此,怎么去模拟这些光影明暗关系,就是我们表现特效体积感的重中之重。

(具体做法下一篇讲)

二.环境影响

环境影响也可以说是特效对周围环境产生的交互,它包含两方面:特效对环境的影响、环境对特效的影响。

我们在做一个效果时,首先要知道它并不是平白无故的出现在场景中,而是会对周围的环境产生交互。比如发生爆炸时,除了火球周围会产生大量的浓烟以外,猛烈的冲击波扫过地面时,也会带起大范围的烟尘:

14.gif

15.gif
[真实案例]

16.jpg
[地面带起的烟尘]

同样,爆炸产生的火球也会照亮场景以及角色,这里就不细说了。

除了特效影响环境,事实上环境也会反过来对特效造成影响。举几个很简单的例子:烟雾会受到风力的作用,会随风飘动的同时消散;火星和碎片会和地面以及环境发生碰撞。这些微小的动态细节组合在一起,极大程度增加了特效的真实度。

至于色彩变化和烟雾消散,都属于实际制作时候的技巧,先放到下一节去聊,这里就不赘述啦。

17.jpg

下篇

继续之前的内容,这一篇我们来讨论制作中的具体实现方法(基于虚幻4引擎)。首先我们从特效主体开始。

18.gif
[主体火球]

在做这种非常写实的爆炸时,我们经常会用到一些高精度的特效序列图,比如针对这个火球,我就用到了一张这样的贴图。

19.jpg

我们可以在fumeFX或是Houdini等一些常见流体特效插件中模拟出火焰或烟雾的效果并导出序列图片,经过AE处理最终拼合成这样一张特效序列图。也可以从现有的素材库中找到一张合适的贴图。

(具体贴图的渲染做法这里就不讲了,感兴趣的同学可以去网上收集一些资料,或者以后我也可以出一些相关的教程)

单看这张贴图,和我们预想的效果还相差甚远,那么如何把一张图片在引擎中加工成为我们想要的效果?下一步我们开始着手准备制作shader。

在开始shader制作之前,有一个好习惯是先大概罗列出想要的功能,这样可以帮助我们形成一个清晰的思路过程,比如针对这个爆炸,我们希望:


1.基础颜色:烟雾的固有颜色。
2.自发光:燃烧部分的高亮区域。
3.法线:特效受光时产生更多的明暗细节。
4.DepthFade:与地面接触时渐隐来消除切贴图的切边。
5.ParticleColor:粒子控制颜色。

根据这些功能需求,我们可以做出这样一个最简单也是最通用的材质。

20.jpg

接下来,我们用它生成材质实例,方便之后的引用和修改。

21.jpg

其中的Normal贴图可以从流体插件中一起导出,也可以用Crazybump一类的贴图处理软件生成。自发光贴图部分则需要我们在ps里处理一下,把火焰燃烧的部分提取出来做成黑白通道图。在调试参数之后,我们会得到这样的效果。

22.jpg

至此,材质部分告一段落。接下来我们新建一个粒子发射器,把刚才做好的材质导入进来。开始制作动态效果。

23.jpg

在调试动态时,有几个点是需要我们注意的。首先是为了模拟火球翻滚的效果,我们需要同时发射2-3个粒子,每个粒子有一点微小的随机旋转角度。为了让随机模拟出来的效果达到我们的要求,这里我使用了seed去固定旋转角度

24.jpg
[火球贴图的朝向]

另外为了避免出现贴图和角色穿插从而穿帮的情况,这里我也给了一个camera offset吗,让贴图朝着摄像机的方向移动了一小段距离。

25.jpg

有一点需要注意的是,因为爆炸的火球实际上是燃料不充分燃烧造型的,橘红色的火焰产生后会转化成大量的黑烟。因此我们在调色的过程中,应该保证整体色彩变化符合这样的规律:

26.jpg

而不是:

27.jpg

最后别忘了给火球加入粒子灯光,模拟光源效果。

28.jpg

完成火球之后,继续制作周围的烟尘部分。材质依旧使用我们刚才做好的通用烟雾shader,重新制作一个材质实例,这次我们换一张贴图:

29.jpg
[烟雾贴图]

30.jpg
[材质实例]

之后我们建立一个圆形范围粒子发射器,在火球周围产生烟雾。同时为了体现场景互动中的风力作用,给它一个X或Y方向的速度,模拟烟雾被风吹散的效果。

31.gif

有一点非常重要的是,为了表现出特效的光影关系,我们的烟雾贴图需要受光照影响并产生明暗面。因此需要将材质里的混合模式改为Trasnslucent,并且材质类型改为Default Lit,同时在Translucency下将光照模式改为如下所示:

32.jpg

33.jpg

这个时候我们打开之前做好的火球,让粒子灯光影响到烟雾,贴图的明暗关系就产生了:

34.jpg

通过刚才的步骤,我们对流程应该已经相对熟悉了。有了之前的理论作为铺垫,知道需要做什么,那么接下来速度就很快了。我们加入周围放射状的尘土以及火星粒子和爆炸产生的碎片

35.jpg

同样是刚才的材质,明暗和虚实上可以做出很多细节:

36.jpg

37.gif
[放花烟啦]

38.jpg
[继承父粒子的位置进行繁殖]

39.jpg
[碎片有大小两种形态,注意区分重力和速度]

40.jpg
[把这些元素整合在一起]

最后,我们再加入冲击波还有地面大范围扬起的烟尘:

41.jpg
[实际上是个半球模型+折射材质]

42.jpg
[这个要是不会你可以来打我]

完成所有的元素后,我们还要对整体的造型、节奏、元素和色彩进行调整,直到效果满意为止。最后再配合屏幕后期效果比如震屏啦、径向模糊之类的增加下整体氛围,这样一个写实爆炸特效就算是完成了。

43.jpg

44.jpg

45.jpg

由于文字的限制,一些具体的参数调整过程和细节演示在这里就略过了。感兴趣的朋友可以在这个基础上继续扩展,做出一个完整的特效作品,比如加入一些导弹飞行动画,或者做个飞机投炸弹之类的表演,相信你一定能比我做的出色!


作者:马识途
来源:腾讯游戏学院
原地址:https://mp.weixin.qq.com/s/YskwnIDz0RqJ3_W9I5TDPg

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-11-25 11:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表