使用虚幻引擎4.26制作北极光效果的冬天雪景全流程!

作者:炫云 2021-06-18

湖边的冬季小屋

该场景并不是从场景开始的,而是在虚幻引擎中尝试了着色器后演变为该场景的。我找到了雅各布·诺里斯(Jacob Norris)的精彩雪地教程从总体上了解Substance Designer以及与着色器一起使用方面,这对我真的很有帮助。在与雪景一起工作了一段时间后,我想制作一些雪覆盖的树木作为填充物,然后创建该场景的想法随之而来,因为那时我拥有的元素开始让我想起了我成长的区域在瑞典中北部。这些类型的小屋在那里相当普遍,让我想起了在旷野的感觉,这是我开始渴望在自己的城市公寓里回家的那种感觉。一旦我决定建立一个合适的场景,我就开始从Pinterest小屋照片和诸如刺客信条瓦尔哈拉(Assassins Creed Valhalla),《我们最后的记忆》第2部分和《荒野大镖客2》(Red Dead Redemption 2)之类的启发性游戏中收集参考。

我决定去一个小巧的客舱,并对它进行粗略的遮挡,以得到合适的比例和大小。几个月前,我进行了封锁,但由于我们在学校进行了一个大型游戏项目,而且我还参与了另一个项目,因此不得不搁置现场。当游戏项目快要结束时,我又开始更加专注于这个场景,因为自从我准备好大部分基础之后,几天之内我就可以完成这个场景。我想在我们上学的截止日期之前完成工作,因此决定加快完成该项目的其余部分。因此,我根据障碍物为一个合适的小屋建模,设置了构图,照明并调整了我为其他项目制作的一些资产以适合该场景,并添加了一些草料来除雪并帮助构图。

最终的构图实际上是在项目的最后一天汇聚在一起的,起初,我在机舱前没有湖泊,相反,它在一片密林中,但是我不喜欢这样的结果,希望有一个更开放的空间和一些不错的思考。


建模和纹理化

提出如何制作机舱原木的过程有点挑战,因为我俩都希望它看起来很详细,但仍要进行优化。我研究了《荒野大镖客:救赎2》中的小屋,发现它们在原木的长边上使用了平铺纹理,因此我决定制作一个可以按需要纵向平铺的装饰板。我在ZBrush中雕刻了4个独特的原木,然后将它们烘焙成4个我进行UV处理的低聚原木,以便它们可以平铺。我在Substance Painter中对其进行烘烤和纹理处理,并使用克隆工具删除了所有接缝。

然后,我用这些低聚原木在Maya中建造了机舱墙。对于窗框,门把手等,我使用了另一块装饰板,该装饰板是我用更规则的木纹制作的(该装饰板也用于我们的游戏项目)。如果您想学习如何创建裁纸,我真的推荐Polygon Academy。对于门和地板,我使用了Megascans的瓷砖木材。在虚幻引擎中,我还添加了细节普通木纹纹理以在特写镜头上添加更多细节。

树木和草

造树本身就是一个项目。我用摄影测量法创建了树干,在那儿我使用了一个名为Agisoft Metashape的软件从我的照片中生成它们。我还根据我的树木扫描创建了瓷砖树皮材料。最初,我使用了Megascans的分支卡,但后来我决定在ZBrush中创建自己的分支卡。为此,我创建了一个FiberMesh预设,该预设看起来像我在小树枝上应用的松针。然后,我将这些高多边形材料带入了Substance Designer,并将它们烘焙到飞机上,并在纹理上添加了一些雪。

在Maya中,我使用这些卡制作了两个分支工具包。我真正想要实现的一件事是树枝上厚厚的积雪。我先进行了几次雪较厚的测试,但是在玩了《最后的我们2》后,我受到了他们的树木的启发,并希望采用类似的方法。我从Maya到ZBrush带来了分支工具包,然后在上面雕刻了雪块,然后进行了抽样处理,以使其充分优化后可以在引擎中使用。然后,只需在Maya的树干上组装分支套件即可,最终我得到了4棵成品树。

最后一天,可以使用FiberMesh在ZBrush中直接快速制作草,然后在Substance Designer中对其进行烘焙和纹理处理。设置树叶和树木的另一个方面是风,我在网格物体上使用顶点颜色来控制虚幻引擎中的风力着色器影响哪些区域。树木还利用风将树木围绕其枢轴点摆动。

我正在使用红色顶点颜色来驱动树枝和草尖上的简单草风。对于摇摆,我可以使用蓝色顶点颜色来决定要摇摆的树的哪一部分,或者像在这种情况下一样,我仅使用世界位置和对象半径将其围绕枢轴点移动。我在一些较大的分支上使用绿色顶点颜色,以抵消这种影响,因此这些分支将在不同时间开始摇摆并产生更多变化。风装置插入到树叶材料的“世界位置偏移”中。

雪花着色器主要是根据Jacob Norris的雪地教程构建的。使雪看起来更好的主要事情是具有浅蓝色色调的地下颜色。

其次,在“ Roughness”(粗糙度)输入中添加“ Sparkle Mask”将增加一个不错的效果,要使该流行感要记住的一件事是不要使基色太亮。添加的第三件事是平铺细节,代表铺在表面顶部的雪花,这将有助于闪闪发光和粉状外观。我添加到着色器中的几件事是对火花的更多控制,例如菲涅耳,可在地面和物体的掠射角度上施加更多的火花。我希望火花更加突出,但是发现虚幻引擎使用默认的Termpoal AA方法很难,因为它可以消除明亮的火花。切换到FXAA时,我得到了更加强烈的闪光效果,但是我仍然更喜欢场景中默认的默认“临时AA”方法,因此我决定坚持使用该方法。

我以3种不同的方式将雪着色器应用于各种对象。对于地面,它是景观材料的一部分,对于固体雪物体(如雕刻的雪屋顶),它用作其自己的单独材料,并与岩石,树干和我用过的木制物体等物体混合雪是我使用世界路线融合的一种物质功能。我从LukasKölz的moss教程中学到了如何做 ,我建议您检查一下。我还想添加镶嵌,这样雪就可以从岩石的顶部升起,但是无法与使用TransformVector将雪与对象的法线贴图混合的方法一起使用。为了解决这个问题,我在雪上添加了第二个遮罩,该遮罩使用了VertexNormal世界空间节点,遮盖了朝上的蓝色通道,从而可以进行细分。

渲染和后期制作

照明设置非常简单。首先,我研究了日光场景。我想有一个微冷的天窗,有些微的雾,还有一丝温暖的阳光。我想在机舱旁创造温暖诱人的灯光,在车窗上放一个灯笼和一些蜡烛。首先,我使用了动态照明和距离场,但它们在机舱中无法很好地工作,因此我将转向灯和天窗灯切换为固定灯。我将自定义的天空球与从HDRI Haven抓取的HDRI一起使用。在夜景中,我使用类似的设置,但具有不同的值,并且我使用BP天空spere而不是自定义的天空球体。我还调整了指数高度雾,使其具有更绿色的色调,而不是白天时的浅蓝色。对于后期处理,我没有进行任何重大调整,主要是调整了光晕,曝光,对比度以及胶片的坡度和脚趾值。

北极光

看到刺客信条瓦尔哈拉的美丽概念艺术后,我受到启发去做北极光。自从我亲眼目睹这种现象已经有一段时间了,因为这种现象很少出现在斯德哥尔摩,但是当我年轻并且住到更北的地方时,我已经看到过几次了。阅读Luiza Tanaka撰写的这篇80级文章后,我获得了如何制作北极光的灵感。首先,我创建了3个垂直噪声遮罩,并将它们打包成一个纹理。一个遮罩是主要的Aurora(红色通道),一个遮罩只有几个斑点(绿色),一个遮罩是Aurora的底部(蓝色)。

我创建了一个基本的网格物体,可以将其放置在天空中并应用着色器。

着色器本身是一个未照明的双面着色器,我将Panner节点以不同方向连接以移动噪波纹理。然后,将噪波纹理插入可以在材质实例中进行调整的不同发射颜色。为了给Aurora的发射度增加脉动效果,我添加了Perlin噪声,并带有平铺和速度控件。为了使光线在网格的边缘逐渐消失,我添加了插入不透明度的渐变。最后,我添加了一个简单的草风来增加网格的运动。

我从这个项目中学到了很多东西,主要是关于在虚幻引擎中使用着色器以及在Substance Designer中创建材质。对于我来说,这有点不寻常,因为我一开始并没有明确的概念或环境,但是随着时间的流逝,它逐渐发展成为这个场景。很难确切地说出我要花多长时间才能完成,但是我想我在各种实验上花了大约2周,而在实际场景上花了大约1周。如果你有兴趣的话,可以试着自己创建一下。