UE4比较适合制作各种风格的游戏场景,下面环境艺术家雅各布·克洛德(Jacob Clode)为大家分享UE4风格场景翡翠地牢的制作,并介绍在UE4的Niagara VFX系统的工作流程。
在开始项目之前,我一直在学习ZBrush和Substance Painter,因为在这个项目中我会使用这些软件进行制作。然后花一段时间找到一个合适的概念。这个概念作品范围很小,但有趣的灯光和效果是我可以制作的。
要注意屏蔽形状,ZBrush中的细节,Substance中的纹理,Marmoset中的渲染以及Bob。
场景分为四个部分,包括四个管道,两个桥梁,八个门,六个支柱。由于其简单的构成,封锁很快。在Maya中根据位置将网格划分为5个子类别,这将有助于雕塑,在之后将UV布置成线时也是如此。
第一部分大多数都是简单的比例调整,因为正确的深度和角度很困难。场景的大部分是在这一点上建模的,例外是天使,留在ZBrush中雕刻。场景的每个方面都是对称的。中心平台在X轴上一分为二,每侧有5个方尖碑。后壁在其X和Z轴上是重复的,因为其位置和照明意味着在最终场景中该镜像将较不可见。这意味着,尽管场景中有8个门,但在ZBrush中仅雕刻了2个门。这适用于场景中的大多数网格。两个半方尖碑,一个烟斗,一个窗户,两个链条等。由于最初的想法是在Marmoset和Sketchfab中展示场景,所以最初的计划是对我的UV空间非常保守,几乎使每个零件模块化以某种形式。
在使用Maya之后,就需要将模型导入ZBrush制作。由于我不想偏离基础网格物体的轮廓太远,因此完成的许多工作都相当保守。我使用前面提到的对称轴进行工作,开始为网格的每个部分提供一些噪声。我打算用粗糙的石材和抛光的瓷砖作为材料,而金属方面则是旧的抛光金属。
主要使用Orb的刷子包来雕刻石头,以及一些用于裂缝的刷子。雕刻主要包括使用Orb裂纹渴望切开砖块,使用一些细部画笔将它们风化,以及使用Orb的扁平边缘笔刷,抛光和修剪动态来使边缘粗糙化。从那里开始,只需冲洗并重复一次,并增加了一些符文和伤害即可改变和细节。
天使雕塑没有基网,因此可以通过简单地在一些球体上用粘土堆积和抛光来雕刻来进行雕刻。在此阶段,我仍然非常仔细地遵循该概念,但是我开始添加原始模型中没有的细节,因为我认为雕刻可以处理更多细节。总而言之,雕刻并不是一个复杂的过程。我保持非常简单。
由于我是在雕刻之前在Maya中创建基础网格的,因此不需要太多的拓扑。在这里和那里进行一些小的调整,以确保考虑到雕刻和网格之间的任何主要差异,并且更改了网格以匹配雕刻的对称性。雕刻后没有基础网格的天使使用Maya的四边形绘制工具重新拓扑。天使都共享一种基本形状,因此只需要一种拓扑。
我添加了一些额外的飞机,以防以后需要它们。细节和照明效果被创建为简单的平面,随后将其进行纹理处理并放置在其上,其中包括用于火,烟,光,水和网的平面。我认为我可能需要的任何东西,我都有余地,可能超出了必要。后来,特别是对于一个纹理集,这导致了很多UV调整,但是在这个阶段,我仍在尝试最有效的方法。
我对效率和优化进行了很多思考,在我的UV中尤其如此。我已经根据场景位置对纹理集进行了划分,并且从一开始就知道网格的哪些部分将是对称的,因此大部分工作只是简单地进行切割和布局。在此阶段,我已将纹理分为六组。中心平台,桥梁,外部平台,细节,天使和飞机。当天使重新拓扑时,天使已经成为一个单独集合的一部分,因为这一阶段的细节变得越来越拥挤。
飞机设置的大部分是空白空间,用于说明我以后可能希望在其后添加的任何详细信息,例如物质材料。通常将UV紧密包装,留出填充和缩放比例的空间,但不包括一组UV,在整个纹理化过程中,UV几乎保持相同。在此阶段有一些错误,直到项目后期我才意识到,但我们会尽快解决。
接下来是对Substance Painter进行纹理处理,在这里我首先烘焙所有内容。我想尽早发现UV或拓扑的任何问题,因此我以低分辨率烘焙每个纹理集,以查看是否需要进行任何重大更改。对于烘焙,我将高多边形分成三个主要的块(出于性能考虑),然后按组简单地进行烘焙。
如前所述,场景的大部分由三种材料组成。切割石材,抛光砖和金属细节。弄清楚调色板是很棘手的。我不想偏离这个概念太多,但是很明显,过度使用了灰色,而绿色却没有生机勃勃和有影响力。我在石头上画了许多随机的颜色笔画,并添加了红色和蓝色的覆盖层,以提供更多变化。显然,石头在现实中看起来并不像这样,这是场景的黑暗会掩盖的快速解决方案。外平台砖和砖砌也进行了类似的更改。外部平台不会像中心平台那样明亮,并且在黑暗中,灰色和蓝灰色之间的差异很小。我决定必须开始进一步推动颜色和纹理。灰蓝色变成深海军蓝,蓝绿色,紫色和绿色,并且具有与我在桥和中心平台石头上绘制的笔触相匹配的相似随机笔触。
我意识到在这一点上我一直在非常保守地处理我的色彩,如果我想让所有努力都引起注意,我需要进一步推广这些细节。当我对外部平台主体进行纹理化时,第三步走了。网格是一个单一的雕刻件,没有砖砌或其他变化。简单的色调变化不会在这里削减它,因此我进入Substance Designer制作了新的基础材料。
我记得前段时间跟随Kalyson的教程(见下文),在那里他们制作了一些碎石砖。作为其实质的一部分,他们通过拉平一个简单的气泡瓷砖生成器来创建漂亮的大理石效果,我想在我的场景中使用这个小细节。它只有两个节点,但是它创建了一个不错的织带图案,非常适合为我的石头添加变化。这种纹理成为了我网格物体的新基础色,取代了我以前拥有的浅灰色层。在此期间,我为后墙创建了平铺的纹理,其目的是与概念相同的样式和比例,作为占位符比什么都重要。这样,大部分纹理都被包裹起来,因此我着手构建场景。
最初,我计划在Marmoset中渲染场景,而我的很多决定都是在考虑了Marmoset和Sketchfab优化的情况下做出的。我转向UE4重建场景。
UE4渲染的材质与Substance Painter和Marmoset的渲染方式不同,因此一旦我决定进行切换,就必须编辑很多工作。发射和金属贴图必须变弱,但法线和粗糙度贴图必须变强。这是一个反复试验的过程,需要进行一些细微的更改以获得我想要的结果。
随着时间的流逝,我开始喜欢场景开始发展的新样式。最大的问题是透明度。首次实施时,透明玻璃纹理是一个纹理集的一部分,旁边是柱子和门口。物质(和Marmoset)允许纹理集同时具有透明和不透明区域,而不会引起任何问题,因此我将UV按场景中的位置而不是按材质进行布局。
不幸的是,我没有意识到Unreal没有以相同的方式渲染其材质,因此必须进行更改。我将每个纹理集(玻璃,烟雾,灯光)的透明属性拆分为一种新材料,并更新了精心放置的UV,以使其在新引擎中更好地工作。有时最好的解决方法是最简单的方法。
迁移到UE4的好处是可以向场景中添加更多动画方面,例如粒子,高级材质和技术美术。对场景中心的光束增加旋转。回到Maya,将图层分解为单独的圆柱体,然后将其作为演员添加回UE。每一块都以不同的速度在Z轴上旋转,Z轴的平移非常轻微,以适应各种变化。
在此之后,我将很多制造的飞机都装箱了。它们最初用于模拟VFX,而实时更改则意味着不再需要它们。光束,瀑布,气泡,烟雾飞机和烛光飞机均已拆除并更换。大多数替换都很简单。从门口发出的“光”是一种简单的透明纹理,在相反的方向上覆盖和平移。但是,有些比原始想法要复杂得多。
场景中最大的新增功能是平台下的四个动态瀑布。最初,这些是简单的平移纹理,但是很明显,与顶部相比,场景的下半部分确实缺乏。我需要一些吸引人的色彩鲜艳明显的东西。
我还记得前段时间见过Math Roodhuizen的博客文章,其中他基于Rime创建了一个很棒的瀑布。当时我无法弄清楚,但我认为它非常适合该项目,因此我必须努力在虚幻引擎中创建类似的效果。
涟漪效应真的很简单;两个相同的RGB波纹以略微不同的方向以不同的速度平移。我们需要的第一件事是设计为向外平移的平面网格。我通过展平圆柱体并将UV边到边放置来实现此目的。我在平面上添加了一些边缘环,然后将顶点颜色绘制到网格上,稍后将使用。
通过覆盖两个平移RGB纹理以及添加的用于平移速度,强度和缩放的参数以及用于附加控制的发光颜色参数,可以实现材料本身。
接下来是瀑布,它使用类似的原理,但更加复杂。像水波纹一样,我需要一个特定的网格来使这种效果起作用。在Maya中,我创建了一个圆柱体,该圆柱体的端部宽且中间细,中间呈90度角。由于我们将要使用顶点位移,因此网格需要具有较高的多边形数并绘制顶点信息。由于材质将移动网格本身,因此我们需要较高的多边形数。多边形数越高,效果越平滑。然后将网格复制三遍,每个网格比其他网格更纤细,更短,但具有相似的顶点信息。由于波纹会产生孔洞,因此我们不希望看到整个网格,因此三个单独的网格会增加种类和深度来避免这种情况。
进入紫外线。由于我们使用的是平铺材料,因此必须正确缩放UV。瀑布是一个长网格,为了防止纹理拉伸,我们希望UV在V轴上缩放3-4倍。这是基于网格的比例;网格越小,缩放所需的空间就越少,但是缩放必须均匀。由于我们从0开始,三个瀑布管的UV分别为4-1、3-1和2-1。U轴刻度不太重要;由于接缝将隐藏在网格的背面,因此不需要完美平铺。
我们还希望纹理的移动速度有所变化,因此我们将UV缩放为在某些区域更紧。取得构成折弯的顶点,然后使用软选择将它们一起拧紧。同样,在网格主体上,顶点稍微分开分布。我们希望水流过边缘时最快,而水流自由时则慢一点。这不是一门精确的科学,因此您可以根据需要进行调整,只是要确保您的网格保持其形状,因为我们只希望更改UV。
最后需要顶点颜色信息。要在Maya中绘制顶点颜色,只需使用“网格显示”设置下的顶点绘制工具即可。这将控制瀑布的泡沫性以及位移的强度,黑色不受影响,而白色则受到很大影响。我们希望弯头有点灰色,而瀑布的末端应该是从灰色到白色的渐变;当到达网格的末端时,这将分解水。
这可能需要一些尝试才能达到良好的平衡,因此,如果您的材质表现不佳,请不要害怕回到Maya并重新粉刷。(旁注;如果无法使UE4识别顶点信息,请确保设置要替换的顶点颜色导入选项。)您可以在网格设置视口中对其进行检查。
通过网格设置,我们继续进行材质。
同样,材质本身非常简单,使用两个简单的纹理即可获取几乎所有结果。我从平移水法线纹理开始,在X和Y轴上使用比例和速度参数。当我们开始使用位移时,瀑布本身将变得非常不连贯,但是法线会为移动不多的区域添加一个很好的变化。
接下来是不透明蒙版,这是我们如何在整个瀑布中获得漂亮的孔洞和涟漪的方法。这遵循与法线相似的规则。纹理以不同的速度和比例平移,但是这次我们使用的是Perlin噪波纹理。一式两份,调整每个的速度和比例,取一个的红色值(R),取另一个的绿色值(G)。
将这两个值与某些参数相乘,然后将它们相加,最后与顶点颜色节点(介于其间的1-x节点)相乘。将结果打入您的不透明蒙版中,瞧,您会得到孔洞和波纹。位移使用与不透明度蒙版相同的Perlin噪波纹理和顶点颜色节点,但是将平移器加在一起,然后再进行约束并乘以世界空间顶点法线节点。将其插入您的世界位置偏移量,位移就可以了。
最后,我们有颜色,它再次使用了分层的Perlin纹理。夹紧您的添加节点,并使用两个颜色参数约束它们。颜色位置将由顶点法线定义。因此,我建议在“泡沫”区域使用不饱和,较浅的颜色,其余为标准颜色。将lerp添加到顶点颜色节点,然后插入基色。
由于材料的目标是粘稠的粘液,所以我还使用了一个简单的菲涅耳作为发射输入,并将参数插入粗糙度通道中,以模拟光在液体流动时从液体中弹起的现象。
自从我上次使用UE4替换了旧的Cascade系统以来,我对新的Niagara粒子系统很熟悉。Niagara是一种非常强大且实用的工具,但我没有任何经验。我试图使许多这些新效果保持非常简单,例如爆裂的气泡和闪烁的火焰,并决定将它们放置在整个场景中,因此没有哪个部分比其他部分更吸引人。
得到最大利用的效果是具有一些基本属性的简单烟雾排放器。低不透明度,旋转缓慢,寿命2-10秒,碰撞和重力。从那里开始,蒸汽被添加到场景的不同部分,根据使用情况而有所不同。
来自门口的蒸汽浓密,移动缓慢且非常透明。门上的蒸汽是浓厚的白色雾,寿命长,随着接近死亡,它会缓慢消失。这种蒸汽几乎没有垂直运动,而是在网格上滚动,直到从桥的边缘掉下为止。水管发出的蒸汽有很大的不同。发射器紧密包装,柠檬绿,移动速度快,寿命短于5秒。这些蒸汽向各个方向漂浮,但垂直速度很强。
总的来说,我从5个不同的Niagara系统中使用了主发射器,从蒸汽池到蜡烛烟。许多效果都被消除了,例如灯内冒出的烟雾或气泡从波纹中飘出,但由于添加过多或过少,这些效果都被消除了。有时,简单的效果就是您所需要的,可以增强环境的氛围。
最后的工作(可能是最艰巨的工作)是照明。与允许大量创作自由和创造力的网状工作或纹理不同,我发现照明很难兼顾风格与现实。由于场景最初计划在Marmoset中进行渲染,因此许多颜色的饱和度和灰度都更高,并且照明设置非常基础。我很早就意识到,进入虚幻世界后,我需要将调色板推得更远,因为整个场景比纹理化阶段要暗得多。
当我开始为场景照明时,我非常关注这个概念。但是,向我指出的是,我照亮场景的方式并不能准确代表现实生活中灯光的工作方式。有些灯开了,有些则没有。从不影响周围环境的光源发出的光。最明显的区别是中心平台。从概念上讲,月台上有一个点月光,该月光一定是天花板上的一个小孔。但是,我的场景没有这样的空洞,而且光线如此明亮和明亮也没有道理。我从一个朋友那里得到了一些有用的评论,他加入了一些额外的灯光,总体上使场景看起来更加自然。第一个变化是从烘焙到动态照明的转变。
我希望灯光闪烁并移动,而我并不需要节省性能。由于灯光并没有按照我的意愿影响场景,因此我增加了全局照明,并通过在后期处理中增加阴影强度来弥补这种变化。我禁用了许多灯光上的阴影,因为它们根本不符合我想要的方式。接下来,我投入了大量的反射捕获,并大大提高了纹理的反射率,这给场景带来了更大的深度。
在这个阶段,我与最初的概念相去甚远。我使下方的水更具发射性,并将其光辐射到平台的后壁和底部。最初,只有“流动的”水(瀑布,气泡,泡沫等)散发出来,但是这种变化以及更新的瀑布,VFX和亮度使场景的下半部分更具视觉冲击力。
还回去更新后墙上的物质纹理。大块的块不够详细,也不够有趣。比例尺已关闭,他们在场景的新照明中反应不佳,并且拼贴过于重复。总体而言,它与场景的开发风格不符,因此我用更有趣的东西代替了它。随机排列的笨拙形状的砖块,与粗糙的木梁固定在一起。从技术上讲,该物质是两个单独的纹理。梁在石头上方分层放置,因此我可以独立缩放它们,但我将它们设计在一起。
我工作的越多,我对性能和照明的保守程度就越低。我在链条和平台上添加了边缘灯,在外墙上添加了反弹灯,在天使上方设置了关键灯,并使用了闪烁的灯来模拟瀑布发出的光。我还向某些聚光灯添加了简单的动画灯光功能,以提供良好的苛性效果。我花了几个小时从场景中添加和删除新的灯光,一次又一次地对设置进行大修,以了解可能会有什么不同,最后,我学到了很多东西。
工作时我面临的最大挑战是保持对作品的热情。我的工作通常需要几个月的时间,随着工作的进行,可能很难找到完成所有任务的动力。这件作品没有什么不同。当我使用UE4时,我已经完成了最初计划的80%,而当我这样做时,进度大大下降了。必须进行许多更改,要学习新事物。总的来说,我不确定是否会有人建议这样做,但我会这样做,因为这带来了一个有趣的挑战。