3D环境美术师汤姆·特纳(Tom Turner)准备了他的UE4场景“郊区”的详细细分:建模技术,使用Substance工具进行纹理化和顶点绘制,照明,后处理等。
UE4场景作品:郊区
郊区:概念,灵感和参考
我几乎每天都在Artstation上查看作品,因此当我找到喜欢的作品时,都会将其保存以备后用!当我在场景中工作时,我希望为下一个片段准备好一些很棒的作品。
该领域启发了一些附加的讲故事元素和对该概念进行的更改。我从投资组合中删除了以前的外部环境,因此这是一个很好的机会,可以重新添加一个外部环境,并展示自开始3D以来我所做的改进。这是我自毕业以来的第一篇作品,所以现在该把我学到的所有东西投入工作了。在整个项目过程中,我都充分利用了PureRef。在开始建模之前获取资产的多个引用是一个很好的习惯。您经常会发现一些以前可能没有注意到的细微差别,从而可以改变世界。
规划场景和构图
我开始在3ds Max中进行生产,并导入了UE4模型以供比例参考。我使用超基本原始形状屏蔽了主要结构。这样一来,我便可以快速进入UE4,并尽早进行合成,这是我以前在某些项目中有时不做的事情。我了解到,在项目开始时就将其确定下来,可以省去很多麻烦。然后,我可以开始迭代这些形状,不断将其重新导入引擎并更改组成,直到对它满意为止。然后,我开始考虑较小的道具,以及它们可以适合场景的位置而又不影响我一开始的目标平衡。
值得注意的是,在完成每个最终模型之后,我想在导入引擎并移至下一个资产之前立即展开包装。我通常很喜欢拆包,但是要拆包大量资产,而在此之间不做任何其他事情,可能会感到很累,因此将其分解成块是很好的。这也使我可以进行早期的光照传递,因为导入最终模型后,光照贴图就正确了。
建模注意事项和技术
房子
房子的每个部分都被建模为单独的网格,以实现适当的光照贴图,从而避免了烦人的长时间烘焙。
我最初的计划是使房屋的每个表面都非常平坦,并让我的木板材料根据伪造深度来完成这项工作,无论是纯粹从法线贴图还是利用高度贴图进行某些位移。后来我意识到我没有得到理想的效果,所以我改用了墙的角槽口。在对它们进行建模之后,我仅用边缘环圈划出了放置和移除窗口的区域。
我没有将这些刻痕降低到平坦的低多边形,因为由于某些相机镜头的角度,它不会产生令人信服的效果,而且它仍然使房子每侧的多边形数保持在较低水平,因为它是场景的焦点。我保留了房子的内表面,以免日后从室内照明灯中渗出光。
垃圾箱
在计划垃圾箱模型时,我没有看到烘焙比中多边形建模有太多优势。该模型或多或少地由除了后把手和车轮上的平坦表面组成,这些表面在任何镜头中均不可见。此外,任何更精细的表面细节都可以直接在Painter中实现。考虑到这一点,我决定只使用中多边形模型,并使用面部加权法线进行更平滑的倒角。
总体而言,多边形数刚好超过1万,其中绝大多数来自网格的圆柱部分。因为这是用于投资组合的作品,所以我很乐意牺牲多边形数以避免出现任何可见的刻面。我只是简单地模拟了垃圾箱主体和盖子的四分之一,并在底部安装了一个轮子,并两次使用对称修改器来完成主体形状。剩下的只是清理工作-卸下后盖的手柄,优化拓扑结构并修复平滑度。
垃圾袋
垃圾袋制作起来很有趣,并且使用了非常酷的工作流程!我在Pixel Fondue的Youtube频道上发现了这项技术,我使用人体模型作为比例参考,制作了一个基本大小相当于垃圾袋大小的基本立方体。我用turbosmooth修改器对此进行了细分,以使其具有足够的拓扑以进行变形。
我主要使用'noise'和'FFD 4x4x4'修饰符,然后将立方体成形为类似于垃圾在袋中堆积的形状。我还添加了一些漂浮的原始形状,例如立方体(例如圆柱体),以使其看起来就像日常物品都戳在袋子的内部。还需要细分这些形状,以为其提供足够的顶点,以确保使用Marvelous中的布料正确模拟它们。
完成此操作后,我将网格导入到Marvelous Designer中,并简单地模拟了将两块布缝在一起的过程。我在每块布的顶部附近添加了内部线条,当袋子绑起来时,它起到了打结的作用。通过发挥内部线条的弹性特性,使它们相互靠近并在上面保留多余的布料,我能够获得良好的效果。我使用了蒸汽刷,这是一个非常棒的工具,可用来在布上添加皱纹。这是Marvelous 3D视口中真正的基本设置,以及在2D视口中缝合在一起的相应边。如果将弹性率设置为非常低的数字,那么内部线就不需要缝合在一起了。
这是一项很棒的技术,因为Marvelous会完成很多工作。可以使用“四边形”功能轻松地将三边形重新填充为四边形,还可以通过更改每块布的“粒子距离”来以程序方式增加或减少三边形计数,从而非常容易进行高低变化聚烤。网格也已经为您平整展开了,这真是太好了。准备模型以进行烘焙和纹理化的过程花了我大约25分钟的时间。
纹理化
对于我所做的大多数事情,我都从收集大量参考资料开始。特别是在纹理化方面,重要的是要了解表面的定义以及在不同的环境和条件下不同的材料如何在表面上堆积。我绝不是专家,并且有很多东西要学习,但是在将我的作品与明确的参考文献进行比较时,我感到更加自在。
物质画家
开始新项目时,我想做的第一件事是为要制作的每种基础材料制作文件夹。例如,我有一个用于存放木材,金属的文件夹,以及用于邮箱标志和标志基座的两种不同的塑料文件夹。
我没有用于生锈的文件夹,因为该文件夹应用在金属上,因此可以使用相同的文件夹。然后,我通常将一个填充层添加到每个文件夹,并对每个基础材料应用基础颜色,粗糙度,法线和金属值(如果适用)。这意味着我可以独立查看每个通道,以确保这些值相互对应。在这里可以看到邮箱的金属当然不如木杆粗糙,这为继续前进并因细节和变化而疯狂着提供了良好的基础。
我喜欢先处理网格的最大部分,再最小化到最小。就我个人而言,以这种方式进行操作会感觉更加进步,随时返回并稍后进行一些更改。生成器和智能蒙版可以在Painter中实现的几乎所有功能。大多数日常物品在某种程度上都存在颜色变化和褪色的情况,因此也必须将其放入纹理中。这可以通过多种方式轻松实现。我想用要添加变化的颜色来复制该图层,对其稍作更改,添加一个黑色蒙版,然后使用其中一个智能蒙版将其应用于网格(Surface Worn和Dust Subtle是一些个人喜好)。如果我需要一个非常具体的结果,通常会使用“蒙版编辑器”生成器来创建自己的结果。有时,它可以使颜色真正变亮,以准确查看其应用位置,然后向下拨回。
同样重要的是,要增加粗糙度的变化,尤其是在较光滑的表面上,因为效果要明显得多,并引起玩家的注意。可以使用相同的技术来完成。
这是邮箱上粗糙度的累积。
物质设计
在这个项目中,Substance Designer被大量使用来创建整个场景中的主要材料。其中一些是波纹金属板,沥青,铁锈,金属栅栏和房屋的木板。这是我用于其中一些的快速简便的技术。
对于屋顶,我会在波纹金属材料的顶部铺设网格,并且不会很明显,所以我主要是通过法线和粗糙度贴图来获得良好的结果,以找到间隙。首先,我只需要制作一张瓦楞纸。我只是将正方形与平铺的Gradient Linear 3混合在一起用于脊线。我用相同的渐变节点扭曲了此结果,以便在以更平坦的角度查看图纸时进一步伪造深度。
这被输入到几个不同的Tile Generator节点中,每个节点使用一个不同的Mask随机种子值。这些元素中的每一个都由不同的“级别”节点控制,这些节点都混合在一起,因此我可以为法线贴图建立波纹金属的底层,中间层和顶层。对于我来说,这是一种快速简便的方法,可以针对使用的场景获得合适的结果。
我还使用Designer来创建金属围栏的不透明度和法线贴图。这项技术取得了很好的效果,一旦制作了一个链节围栏,就几乎完成了全部操作!
从“波形1”节点开始,我用“转换2D”将其旋转了90度两次,然后稍微偏移其中一个。通过减法混合模式将它们混合在一起,只得到了我想要的一半,所以将这一过程复制到另一侧,则得到了另一半。在将它们融合在一起之前,我再次使用Transformation 2D将两侧移近中心,因此在融合时它们会重叠。在模糊使其成为曲面之后,将此图案插入图块生成器几乎可以完全满足我的需求。
当它们重叠时,它们似乎正在相互穿越,因此需要进行一些改进。我将每个半部分与“渐变线性1”节点混合,将其更改为“色阶”,直到获得所需的结果。
顶点绘画
在这个场景中,我在房屋的木质材料和波纹金属屋顶/板材上使用了几次高度混合。屋顶有一个简单的两向防锈混合剂,而我在房屋中添加了第三种材料,因为它是重点。它由一块木板材料组成,没有油漆脱落,有一块木板有中等的脱落,还有一块几乎是裸露的木材。
为了进行双向混合,将干净的木质纹理全部插入到一组HeightLerp节点的“A”输入中,将受到中等破坏的纹理插入“B”输入中。“顶点颜色”节点的红色通道插入到HeightLerp的“过渡阶段”输入中,而标量参数插入到“对比度”输入中,以控制混合的对比度。为了使材料混合以特定的方式或图案发生,将高度图插入“高度纹理”输入中。这非常有用,例如,可以使材料混合从深裂缝开始,然后影响平坦表面。
要使用其他顶点通道将第三种材料添加到混合中,将这些HeightLerps的结果输入到另一组HeightLerp节点的“ A”输入中,并将另一组纹理也输入到那些节点的“B”输入中。除“过渡阶段”外,其余的设置方法与之前相同,是从“顶点颜色”节点插入绿色通道,而不是红色通道。现在,将它们组合在一起,您的第一组HeightLerp结果进入Lerp的“A”,而第二组结果进入“B”。顶点颜色的绿色通道插入“Alpha”,并且Lerp节点的结果进入相应的材质输出。
我回到Max并在可见的墙壁上添加了更多的顶点,因此我可以更好地控制在哪里绘画以及如何将它们融合在一起。从参考上看,这种类型的损坏通常会严重发生在窗户和其他墙壁特征周围,并且在覆盖区域(例如在屋顶下)的损坏较少。
我可以通过在材质中设置的标量参数来更改两种不同类型的损坏的对比度。
基于遮罩的纹理
我的大学讲师最初向我展示了此工作流程,它对于使用平铺纹理对大型对象进行纹理化非常有用。在Substance Painter中对大型网格进行纹理化处理可能会导致分辨率降低,因此这是避免这种情况的一种非常好的方法。它还有助于避免通过使用多个材料ID对大型资产进行纹理处理而获得的材料绘制调用。它始于Substance Painter,在这里我创建了自定义蒙版,随后将其应用到引擎中。我在场景的电线杆上使用了这种方法,因此我将以它为例。
我为以下对象创建了4个自定义蒙版:
● 金属
● 锈
● 木材损坏/变色/变化
● 金属粗糙度
这些被导出为通道填充纹理以进一步优化。
在引擎中,我导入了通道填充的蒙版,并保留了我一起使用的所有平铺纹理,并将每个对应的蒙版作为Alpha。将纹理贴图设置为参数使我可以创建该材质的实例,以在其他对象上使用它,而不是从头开始构建它。这显示了它对于一组地图(反照率)如何工作,对其他地图重复了该方法。
第四反照率只是基础木材的较暗版本,因此它是由标量参数控制的。另外,不使用遮罩的Alpha通道,因为它纯粹是为了改变粗糙度。此GIF显示了按反照率-法线-粗糙度-金属的顺序添加每组贴图的过程。
树木
我最后的树木是用Speedtree制造的。最初,我使用免费程序TreeIt进行了一些制作,但是在可以添加多少个叶子方面似乎存在限制。场景的背景没有太多事情发生,所以重要的是我要使它们尽可能的密集。因此,我不得不硬着头皮抓住Speedtree,这绝对是值得的!
我决定制作枫树,因为我真的很喜欢它们被树叶覆盖的形状。我喜欢将优化保存到最后,因为Speedtree使得使用每个几何节点的优化滑块确实很容易减少三位数。这是显示我如何构建它们的GIF。在此过程中,我一直在不断地与参考进行比较,以获取正确的分支形式轮廓。
这是场景中新旧树木的比较。
叶片材料的设置没什么特别的,但是我对它给我带来的结果感到非常满意。我将SpeedTreeColorVariation节点用于少量的颜色变化,并且次表面是基色的乘积。我打算在3DS Max中修改树法线,但是直接将它们从Speedtree导入到引擎后,它们已经看起来像我想要的那样。我确保将材料制作成双面,使它们看起来比在SpeedTree中更稠密。
灯光
对于概念的一天中的时间/照明方向,我不想做太多更改。照明只是由固定的天窗和定向光组成,我所做的第一件事就是与定向光的位置匹配,这样我就可以得到房屋上的阴影。我无法在整个制作过程中都获得间接的照明效果,因为我真的很喜欢房子正面和阴影的对比,但也希望它有意义。最后,我觉得好像达到了一个很好的平衡。
对于房子旁边的四棵树,我通过强制它们使用体积光照贴图而不是将它们设置为“可移动”来节省烘烤时间。在“ Lightmass”设置中将体积光照贴图细节像元大小设置为30后,我仍然能够在树冠中获得一些不错的阴影。背景中的其余树设置为可移动,并使用了网格距离场间接阴影。其余的Lightmass设置如下所示。
使用“细节照明”视口,我可以轻松识别出直接照明最多的区域。这些是房屋/屋顶的正面,道路,垃圾箱,电线杆和邮箱。我对这些区域特别感兴趣,因为我知道我可以玩弄粗糙的东西来吸引眼球。
对于房屋的前部,材料的混合起到了辅助作用,因为油漆下面的裸露木材要粗糙得多。由于它是焦点,因此我想添加其他内容,这就是我决定添加折断管道的地方。尽管偏离了这个概念,但它使我能够进一步说明这种房屋维护不善的说法。我能够为此添加一些不错的粗糙度和镜面高光。也可以使用前面提到的基于遮罩的纹理化处理对纹理进行纹理化处理。在道路上,我必须将天窗从静态更改为固定,才能看到在Substance Designer中通过镜面高光给出的粗糙度变化。这也确实使垃圾箱受益。在整个场景中使用了损坏贴花以进一步形成对比。
后期处理
我喜欢在引擎中使用的后处理设置都具有极小的值,因为我希望尽可能多地独立完成。使用的一些设置是:
● 盛开
● 坡
● SSAO
● 固态继电器
我还限制了最小和最大曝光值,以在工作时获得一致的照明。
但是,我使用颜色LUT进行了一些重大更改。我拍摄了该场景的屏幕截图,并将其带入DaVinci Resolve进行了编辑。我更喜欢使用它而不是Photoshop,因为我觉得您可以获得更准确的控制。
与概念相比,场景的高光处有很多红色,尤其是在房子的前部和中间色调,因此我主要更改了“增益”和“灰度系数”设置,并对阴影进行了一些编辑。这是在达芬奇编辑之前和之后的内容。
在颜色分级之前与之后:
在引擎中应用了颜色LUT之后,我可以在所有镜头中进行相同的更改。
挑战性
总体而言,此场景仅用了不到3个月的时间即可完成。就像我所做的所有工作一样,这个场景中有很多需要克服的障碍。如前所述,场景的许多方面最终我做了多次重做,因此场景肯定要好得多。与往常一样,您练习得越多,您就会越好,而从头开始重新制作某些东西正是这样做的。它本身可能不会带来最大的变化,但是当您在整个场景中多次执行此操作时,您会看到巨大的变化。有时,在花了几个小时专注于一个领域之后,可能很难确定需要改进的地方。这把我带到了最后一点。
反馈的重要性
我习惯于在不同的艺术社区和论坛中定期发布WIP照片。我无法表示这对我的工作成果有多大的影响。只要您愿意与艺术家指出需要改进的地方(这是一个养成自己的好习惯),它就会极大地提高您的工作质量-您可以在此过程中学到很多东西!其他人经常指出我永远不会注意到的事情,从而使我能够经常学习,并最终成长为一名艺术家。
,Unreal Engine技巧,Unreal Engine教程