昨天为大家分享了《Soul Of A Man》项目的创作过程上篇,今天分享的下篇内容将包括:光照设置、后期特效处理、材质的处理以及Shader Forge的使用。

光照设置
光照是《Soul Of A Man》设计中的一个关键部分。我们想与常规的赛博朋克科幻类型的视觉效果有所区别,所以并不想去制作迷人的霓虹灯之夜,而是营造一个具有阴郁氛围的白天。

010437yej0flzligj3bjh3.jpg
010439jqf5kcbc65524fzk.jpg

我们把建筑安排成一条非常狭窄和高耸的街道。这样便可得到一个渐进的光照变化效果。街道底层几乎不见天日,屋顶和更高的楼层则相对明亮。

社会不平等和垂直性是赛博朋克中一个常见的比喻,所以我们想传达的是:巨大的建筑遮挡了阳光,昏暗的霓虹灯是照亮街道的主要光源,下面的人就生活在这样一个非常阴暗、不友好的环境中。

010517vcgxr0fo02g50e4x.png
主光照渐变由天空HDRI贴图定义

我们在大型发光指示牌的位置添加了体积区域光(volume area light)。

010559lyytzr1y3od10dre.jpg

为了强调度场景中的特定部分,我们通过添加点光源增加光照强度。

010623jigupfdtg7ie50x0.png

在上图中可以看到,我们将一个区域光与发光指示牌一起使用,右侧添加了点光源,通过增加光点强化墙面上的灯光效果。

体积区域光提供了非常舒服的柔和光照,而且它能够被设置成矩形,这恰恰完美贴合了我们的意图。它们的长度受限,所以我们必须将区域光一个接一个地依次排列,并调低强度。我们还在吊灯上使用了聚光灯。

010645p3jbbmsembg9hsuz.png
添加了另一点细微的点光源,让吊灯在墙上的光点更加清晰

我们起先完全根据设计放置主光源,但最后在制作环境时还是对光照做了大量调整,将它们放到了看起来最舒服的位置。后面我们将在这些位置上添加一个灯或发光指示牌。反射探头和渐进式光照烘焙则完成了剩下的工作。

后期处理技术
我们在这个作品中使用了Unity的Post processing stack v2后期处理特效包。这个版本的特效包拥有更加灵活的色彩矫正设置,更高级的抗锯齿以及SSAO。

下面可以看到一些后期处理设置。

SSAO
010740co5mahahat6yn2o5.png

Color Grading
010740s8lx4a8jwsvcvxul.png
010741mgbu029ub5on9z4z.jpg

SSR
010845yn8xesotqfea86jo.png

Vignette
010845w41ndd8s1nso2sbz.png

材质
就像在《Old Fund》中所做的一般,我们采用了材质分层工作流程。基本材质并没有做太大的更改,只是调整了部分参数,使它们适应这个场景。

我们添加了一些污垢和泄漏的贴花,它们是简单的几何体,使用的是Multiply混合模式。它们大多放置在屋顶下面,建筑物的内部角落以及金属部件的接触区域。我们还为这个场景添加了不少新材质,多数材质很简单。

010848xu4eauz9et4gby8g.png
一个移动LED屏幕材质的示例

Unity支持自定义文本参数,所以我们就在Unity引擎中创建了文字指示牌。我们还公开了文字的移动速度参数、屏幕闪烁以及大小和色彩设置这样的参数。

使用Shader Forge
Shader Forge可以让艺术家在场景中快速制作不同的材质以及有趣的动作。我们主要使用它来制作干扰效果着色器,这个着色器被用于在视频场景开始时看到的那个浮动徽标,整个环境中的一些LED标志、还有视频的最后主建筑物全息图的消散过程。

它的通用性必须非常好,因为整个环境中的很多资源都使用到了它,所以这个着色器有很多可调整的参数,比如干扰的数量,速度和方向。消散动画也被作为一个参数公开,后续在Unity中被使用。

010849wfdvad7fvy8nnc8c.jpg

010849ejke44exux4bh6o4.jpg
条纹形状生成

我们希望全息建筑在干扰效果褪去中现身时看起来仍然逼真。应该能够清楚地发现它有什么问题,但只有在最后当全息图分解消失时,观众才会意识到整个过程是一种幻觉。这就是为什么我们会使用一个带透明度和UV空间扭曲的PBR着色器来打破表面的原因。

011041ornskr891wvxkkkd.jpg

同时还有一些贴花的巧妙应用,通过将它们映射到同一套UV来打碎建筑物的轮廓。

为了制作干扰效果本身,我们使用了一些正弦波来创建一个移动条纹图案和一些高频闪烁。然后添加了一个有很多方块和噪音的纹理到这个效果。由此产生的遮罩被用来置换UV,同时还用于色彩转换,以产生轻微的色差。

至于消散动画效果,我们使用了带有像素化图案的纹理遮罩。遮罩在效果开始的地方必须是最黑的,而在那些可见时间最长的地方则要最亮。遮罩减去消散数量参数后的结果值四舍五入到下一个最接近的整数。所以我们会看到越来越多的小方块随着全息图的消失而消失。这个消散遮罩,自乘以一个指数后减去它本身,也被用来获得效果的边缘,并在那里添加一些彩色的小干扰和像差。

011042wk76273n32nnk066.jpg

小干扰着色器可以做得性能更好,并适用于可平铺材质。

011138yaaaocoamhchagcc.gif

参考资源清单
请在Asset Store资源商店搜索以下名称的资源包。
Shader Forge Post processing stack v2 Cinemachine VolumetricLighting MCS Male MCS Female MCS Male: Lawless Survivor Raw Mocap Data Old Fund scene


结语
关于《Soul Of A Man》项目的创作经验分享就为大家介绍在这里,后续我们还会介绍优秀的场景设计项目的创作经验,希望大家能从中能有所收获,运用到自己的项目中。更多精彩文章尽在Unity中文官方论坛(Unitychina.cn)!
锐亚教育

锐亚教育 锐亚科技 unity unity教程