[UE虚幻] 25岁小哥教你用UE为游戏创建逼真的户外环境!

查看:1991 |回复:2 | 2021-6-29 13:48:14

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 毒游小行家 于 2021-6-29 13:55 编辑

25岁小哥教你用UE为游戏创建逼真的户外环境!

文/ CG魔影视效

640 640




丹尼尔·卡诺·马丁内斯(Daniel Cano Martinez)

3D艺术家
来自:西班牙巴塞罗那

丹尼尔·卡诺·马丁内斯(Daniel Cano Martinez)是一位25岁的3D环境艺术家,也是FX ANIMATION Barcelona 3D&Film School(一个动画特效3D电影培训机构)的学生。在决定沉浸于游戏行业之前,他曾是运动图形艺术家。如果您打算在Unreal Engine中开始第一个逼真的环境,那么本文适合您!在其中,他分解了在UE4中创建户外游戏环境的整个过程。

介绍

您好,我是来自巴塞罗那的环境艺术家。我一直很喜欢电子游戏,从我记得起我就一直在玩它们。
由于对这门学科的迷恋,我决定涉足游戏界。我毕业于移动应用程序开发专业后,就开始迈向3D艺术的第一步。毕业于交互式环境后,我开始在巴塞罗那的Flop Work公司中担任动态图形艺术家。我在那里工作了一段时间,直到我决定在我现在所在的巴塞罗那的FX Animation学习硕士学位。

灵感与目标

这个项目是为FX动画制作的,在那里我必须创造一个环境和一个生物,并且两者都有一些限制。

环境必须是具有植被和建筑的开放自然世界。该生物必须看起来像壁虎,但长几米,所以我开始寻找参考。

我一直很喜欢《星球大战前线》和《星球大战前线2》中的环境,这就是为什么我首先考虑这些选项的原因。我记得在《星球大战》宇宙中有一个名为Yavin-4的行星,看上去就像我想要的样式。我开始找到这种环境的一些参考。

当我想到壁虎时,我觉得它应该比壁虎更像恐龙。牙齿更大,皮肤更粗糙,脸更生气,不像壁虎的脸那么友好,所以我从不同的电影中获得了一些参考,例如彼得·杰克逊(Peter Jackson)的《金刚》(King Kong)。
我的第一个目标是使该项目看起来尽可能逼真。我知道,获得那种现实而多叶的环境的唯一方法就是我需要的巨大优化,这是我最大的困难。
风景

由于纹理文件,景观将占用大量资源。那是个问题,所以我决定使用RH法线工作流程(粗糙度、高度图、法线X和法线Y)。Rh Normal是暴雪在游戏中使用的工作流程,可节省大量内存空间和纹理文件。
它仅使用2个纹理文件来打包所有纹理。它还仅使用法线贴图中的2个通道,然后通过使用一些表达式,我得到了整个法线贴图。“基础颜色”和“环境光遮挡”进入一个文件,“法线贴图”,“高度贴图”和“粗糙度”进入另一文件。

下一步是景观着色器。为了使所有图层都能很好地融合,我使用了一个名为“图层融合”的节点,这是我将纹理集与高度融合在一起的地方。
拼贴出现问题。纹理图案的重复感很容易观察到。为避免此问题,我在相同的纹理集中创建了变化图块。我创建了一个函数,该函数可从集合中获取所有纹理并执行线性插值,然后将纹理的两个变体与宏变体混合。当所有通道的瓦数变化后,我便将每个通道都连接到距离变化蒙版上。
为了制作距离变化蒙版,我使用了像素深度节点。该节点使用场景深度。通过这种蒙版变化,我可以决定纹理将在多远的距离上更改为另一种,这是避免平铺的另一种方法。
之后,我仅在第一个纹理集中制作了一个高度图校正蒙版。此人与所有其他人互动。其他纹理的混合将根据第一个纹理集的高度图起作用。

为了获得位移,我使用了VertexNormalWS节点,我将每个WS乘以每个纹理集的高度图。

最后,我将每个通道连接到其自己的图层混合输入。然后,将每个图层混合都输入到主材料中的正确输入上。

植被

一旦准备好景观,就可以在虚幻引擎的体系结构之外构建块以了解测量结果。
之后,我开始在3ds Max中制作模块。我制作了两种类型的模块。其中一些使用了可平铺的纹理,另一些使用了adoc的纹理。我将adoc封装在相同的UV中,以在每个结构中使用相同的纹理,这将大大减少Draw Call次数。(注释:Draw Call,绘制调用,简化并合并材质/模型可以减少dc的数量从而提高性能)

由于具有adoc纹理的素材将拥有自己的材质,因此我决定创建其高多边形版本,以在Marmoset中进行烘焙。我在Zbrush中雕刻了他们的高模,在将所有adoc资产带到Marmoset之前,我将它们打包在自定义纹理集中以优化一些内存。
植被给我带来了麻烦!起初我以为屏幕上会出现一些与Draw Call(绘制调用)有关的问题,因为屏幕上将会有很多树木,灌木丛和藤蔓。然后,我决定减少这些绘制调用,像以前对模块所做的那样,制作纹理地图集和制作植被组。我为优化项目所做的其他事情是将建筑设置为静态,但将植被设置为可移动。

我在TreeIt(强大的免费树创建工具)中制作了树木,但没有使用程序提供的纹理。由于不使用这些纹理,因此我不得不订购UV以适合我要使用的纹理。

我使用3ds Max对蕨类模块进行建模,在对蕨类植物和藤蔓进行建模之后,我进行了一些分组来优化和减少屏幕上的绘制调用(Draw Call)。
有一个特定的树干缠绕而成,为此,我决定在虚幻引擎中构建样条线。

摄影测量的艺术

我想在这个项目中尝试的学科之一是摄影测量学。我拿了一些我认为适合该项目的物体,并进行了摄影测量的过程。
对于与地面相关的资产,我在多云时去了外面,并用间接照明拍摄了一些照片。我使用Reality Capture(3D模型扫描制作软件)通过其图像计算模型。计算完模型后,便将其带到Zbrush中以得到一个干净的模型。之后,我进行了抽取和UV的过程。
尽管Reality Capture使用照片制作颜色纹理,但我想为模型提供自己的纹理以适合环境。


纹理化和创建材料

创建纹理和材料非常有趣,我从来没有像我在这个项目中那样工作过。我总是雕刻纹理并对其进行绘画,但是对于这个项目,我决定使用一个非常有趣的工作流程。
我使用了Quixel Suite和Quixel Mixer。我从Quixel Bridge中获取了一些纹理,然后,使用一些蒙版和混合选项,我得到了新的、不同的纹理。通过此工作流程,我能够获得一些非常适合我的环境的纹理。
具有adoc纹理的资产要难一些。我在Substance Painter中为这些资产制作了一些自定义蒙版,并将它们带到Quixel Mixer。这些蒙版使我可以像使用发电机那样将物体绘制出来(发电机???这个比喻有点离谱)。
对于植被,我将一些蕨类地图集打包在一个文件中,并获得了每个地图集的所有通道。我自己制作了一个纹理文件,即半透明。我在基色上放了一层黑色,并增加了一些透明度。
使资产长大的苔藓必须位于它们的顶部。为了获得该结果,我为我的主材料创建了一个点产品蒙版。它具有一个VertexNormalWS节点来获取资产的法线,并具有一个Constant3Vector来获取苔藓将要到达的方向。在我的情况下,我将Z设置为1以从上方放置青苔。然后,我放置了一些可编辑的节点来设置苔藓的数量和对比度。

一旦获得Mask,我就只能将原始纹理与带有HeightLerps的苔藓混合在一起。将资产插入地形时,还有另一个问题:由于混合不良,它们创建了一条粗线。为了解决这个问题,我使用了网格距离字段并为其制作了蒙版。如果我将该蒙版乘以名为DitherTemporalAA的节点,则资产在另一曲面附近时将变为半透明。

照明和后处理

照明是该项目最重要的部分之一,我必须谨慎使用照明。
我决定在下午17:00和下午18:00之间设置照明,定向光的范围温度在3500和3700之间(注释:摄氏温度和开尔文温度的关系:°K=°C+273.15。3500K相当于暖白光,3700K相当于偏黄的色温)。我一直在寻找具有阴影和光对比度的照明,因此我将强度和间接强度都控制在较低的值。
我希望环境看起来很厚,这就是为什么我使用轻轴和指数高度雾。这有一个体积雾选项,这是非常重要的检查。
可移动的植被投射出一些奇怪的阴影,那里是级联阴影贴图进入场景的地方。
对于后期处理量,我从颜色分级中稍微更改了一些值。我希望环境看起来更富电影感。我将阴影、中间色调、饱和度和增益与整体进行了对比。这将使植被看起来更绿色、更活泼、阴影更暗,给观众一种被抛弃但又活泼的雨林的感觉。

生物体

对我来说,学习生物的解剖结构是一个非常有趣挑战。我不仅必须学习壁虎的解剖学,而且真正的挑战是扭曲动物的友好观念,并创造出一个危险且更大的动物。
当我开始在Zbrush中为第一个方块建模时,我决定使身体比简单的壁虎更胖。我雕刻的爪子比原来的要厚一点。但是,最大的不同是牙齿,我使它们比壁虎的牙齿大得多。我认为将它们变大会使壁虎看起来更危险。

另一个区别是舌头,这种生物的舌头必须比小壁虎的舌头更脏更粗。
当我用高多边形模型完成约70%的工作时,我便开始了重新拓扑。我制作了低多边形并在3ds Max中设置了UV。我制作了两套材料,一套仅用于眼睛,另一套用于身体。当我准备好低模版本时,我用低模的基础雕刻了一个高模。

剩余的30%的高模是皮肤的微细细节。我在Zbrush中应用了项目工具之后就做到了。这样,由于拓扑干净,我可以更快地进行烘焙。
由于计划使用的颜色,对壁虎进行纹理处理对我来说是一个挑战。我以为如果雨林要有绿色的话,壁虎也应该有一些,因为它适应自然。最后,我认为这不是一个好主意,因此我选择在壁虎上涂上红色的互补色。我认为如果使用壁虎,它们会显得更具攻击性,是时候打开物质画家了!(注释:物质画家就是Substance Painter)
在纹理化的同时,我也在3ds Max中进行了蒙皮。我使用了虚幻商店中的龙骨架。鉴于我遵循此框架进行了屏蔽,因此蒙皮不会有任何问题。

完成壁虎后,我便在Marmoset中制作了一个渲染场景。有一些技巧可以使壁虎看起来更好。我在Substance Painter中创建了一个散点图以获取地下,并在Photoshop中还创建了一个使眼睛看起来像透镜的蒙版。


结论

我在这个项目上花了大约几个月的时间。在研究它时,我阅读并观看了许多有关Unreal的文档,以学习新的工作流程并解决一些我发现并解决的问题。
尽管这些年来我提高了与3D美术相关的技能,但我仍然需要向许多专业人士学习很多东西。还有很多文档可供阅读和进行,以提高我的技能。

我必须感谢哈维尔·弗洛雷斯(Javier F. Flores),丹尼尔·桑切斯(DanielSánchez)和阿尔贝托·马丁内斯(AlbertoMartínez)的指导和支持。感谢我的家人一直支持我。我还要提及EA Dice撰写的《星球大战前线2》,作为我的参考文献。



640

评分

参与人数 1活跃度 +16 展开 理由
愚不是渔 + 16 【感谢】楼主分享的内容!很棒!

查看全部评分

2021-6-29 13:48:14  
 赞 赞 0

使用道具 登录

2个回答,把该问题分享到群,邀请大神一起回答。
2#
感谢分享
回复 收起回复
2021-6-29 15:43:15   回复
 赞 赞 0

使用道具 登录

3#
学习了
回复 收起回复
2021-6-29 15:51:14   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

UE虚幻引擎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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