▲完整作品细节与幕后
▲游戏模式下的场景测试
Tarek Abdellatif
埃及 | 3D环境艺术家 | 模型艺术家
Tarek Abdellatif是一名3D游戏环境/道具艺术家,在澳大利亚的Upsurge Studios远程工作,住在埃及开罗。Tarek的沉浸式鳄鱼农场环境给我们留下了深刻的印象,我们请他分享他使用虚幻引擎创建内部3D环境的过程。
介绍
项目概念
重新创建这个概念的想法始于我曾经玩游戏《德军总部2:新巨像》,你可以在隐藏的地方收集一些秘密的概念艺术品,作为奖励,其中一件特别位于美国路易斯安那州的新奥尔良,那里以鳄鱼而闻名。我喜欢创建一个非常古老的废弃地方的想法,它看起来像一个屠宰场,用于用鳄鱼皮制作产品。
使用的软件和创建的元素
其他一些注意事项:
我在我的项目中使用了每米1024Texel密度,因为我的目标是创建下一代第一人称射击游戏关卡;
我想提高我的3D建模、雕刻技巧,而不仅仅是创建硬表面和有机建模;
我创建了场景中的所有资产,除了一些Megascans树叶,如常春藤、蕨类植物、柠檬草和地上的枯叶。
挑选并调整了这个位面着色器为我的场景中的沟槽部分
收集参考
首先,我想了解概念中的元素,所以我首先收集参考图像并将它们拖到PureRef软件中。每当我进步时,参考就会增加,我什至在实际游戏中再次玩了相同的关卡并拍了一些快照——游戏的关卡设计看起来与概念艺术不同,但它帮助我理解了尺寸和比例。
我首先通过绘制快速线条和一些接近测量来计划我应该做什么,然后决定什么应该是模块化的或独特的,哪些纹理是可平铺的,独特的或两者兼而有之,以及哪些资产应该是英雄。
我想出了这个初步的规划文件:
每次我进步时,一些元素都会发生变化,但大部分关卡创建都是基于这个计划。
实际游戏《德军总部2:新巨像》的截图:
封锁
在迁移到Unreal之前,我开始屏蔽一些 格。我在Maya中使用了一个不错的技巧,即创建了一个相机,并将其与概念艺术图像相关联,然后使用焦距,直到找到一些接近的值来匹配概念的透视图。尽管这个概念对于实际测量来说并不完美,但它帮助我开始了。
之后,我开始屏蔽一些没有细节的初始 格。
对于某些部分,我计划创建3或4米的平面,因此它可以用作模块化资产,例如墙壁和一些天花板部分。
我计划将其他一些部件作为模块化套件的一部分,例如起重机和输送机,我将更深入地讨论这部分。
材质和着色器
我使用Substance 3D创建材质。一些材料是由SD从头开始创建的,例如陶瓷材料,而另一些材料是从材料源材料(例如混凝土变化和砖块)调整而来的。其他材料是在Substance中完成的,例如石膏,或者甚至从高多边形 格烘焙到平面,以创建装饰板。
▲场景材质展示(八猴渲染)
陶瓷材料
我首先使用Substance 3D Designer 创建陶瓷材料。提供的最后一个中期练习,调整了我事先创建的材料Dan Dunford。材料没有那么复杂,但我会谈谈一些主要部分。
我创建了2个陶瓷变体,所以我可以在虚幻顶点绘制中混合它们。一个开裂且干净,另一个更脏更粗糙,缺少更多的陶瓷件,并且在缺少的陶瓷部件下面有更多的混凝土。
这个想法是先尝试创建高度,然后可以从那里轻松生成其余部分。我首先从一个简单的方形创建3个斜角变化,然后使用Tile Sampler,创建一个简单的平铺图案并使用一些值来创建随机性。从同一个切片采样器中,我创建了两个版本——第一个版本创建了一个可用作混合节点中的蒙版的多重蒙版,另一个被反转用于灌浆蒙版。
我使用一些节点(例如使用随机圆盘形状的瓷砖采样器)创建裂缝,然后使用距离、扭曲和边缘检测,最后通过不透明度值与BNW Spot混合(添加线性减淡),我觉得它看起来可以满足我的需求。
之后,我使用泛光填充创建随机颜色,可以使用RGBA拆分将其转换为随机蒙版。通过使用像直方图扫描这样的节点,您可以使用对比度和位置来创建一个完全黑白的随机蒙版,然后将其与瓷砖采样器混合以获得基础陶瓷裂纹形状,您也可以使用来自第二个瓷砖采样器得到类似的结果。
之后,我开始为瓷砖创建一些变化,如边缘摆动、边缘碎裂、倾斜、内部摆动和外唇。例如,对于边缘摆动,我在Perlin噪声上使用了扭曲,并使用从之前创建的多重遮罩生成的随机遮罩将其与先前的值混合,但使用了非常微妙的扭曲强度。
对于边缘碎裂,我在云上使用了斜率模糊灰度。使用具有直方图移位/扫描的相同多掩码反转并与其余部分混合,并减去它们以更多地影响边缘。
为了创建内部摆动,我使用具有高斯噪声的相同多重遮罩的定向扭曲,然后使用乘法与边缘摆动混合。我再次将它们与之前的倾斜值混合并使用Add Sub。
最后,我使用图案节点创建了某种外唇,使用不同的斜角值斜切两次,然后将它们与多重蒙版混合在一起以影响随机平铺,然后再次与之前的高度值和相同的多重混合掩码和应用直方图扫描/移位等。
我通过控制混合节点的不透明度值来控制我想要的形状,但大多数时候我使用的是微妙的值。
之后,我使用类似的方法来创建更多的形状和随机性,然后为灌浆创建最终的高度值。
使用相同的高度节点,我能够创建Roughness、Albedo、Normal和AO。我还创建了另一个变体,但更破碎,使用相同的节点,但具有不同的值和更多损坏的瓷砖。
为了创建损坏的破裂部分,我再次添加了Flood Fill、Flood Fill to Random Colour、RGBA Split和Histogram Scan,并将其与正常破裂的部分相乘以创建新的变化。
使用为瓷砖的第一个变体创建的相同节点,我能够创建第二个版本。在创建用于混合许多材质作为实例的主材质之后,两者都被用于在虚幻引擎中使用顶点绘画进行混合。
我像这样从左到右导出了最终输出:Basecolor、Normal、Roughness、Ambient Occlusion、Height。
我还使用3D Designer RGBA Merge节点为我的大多数项目纹理输出在RGBA通道中组合了Roughness、Metallic、AO和Height,或者从3D Painter创建自定义导出预设来压缩大小,而不是将每个导出到自己的地图。
石膏材料
在Substance 3D Painter中,我将两种Substance源材料(破裂的石膏墙和破裂的石灰)与可平铺的垃圾蒙版混合,然后添加更多随机垃圾层作为蒙版以创建更多颜色和粗糙度变化。
我使用锚点和微高度功能从石膏材料的颜色、高度创建蒙版,只是为了添加变化。
例如,我在开裂的Lime材料下创建了一个锚点,然后创建了另一个填充层来添加苔藓,并再次使用基色和高度将蒙版填充层引用到该锚点,以便在裂缝处添加更多的苔藓,然后通过从画家默认的可平铺垃圾中乘以垃圾混凝土旧的垃圾来减少它。
我对随机的垃圾层再次使用相同的方法,以获得我满意的结果。
混凝土和砖材料
为了创建混凝土和砖块材料,我在虚幻引擎中使用顶点绘画将石膏与三种不同的混凝土和砖块材料组合在一起。我从Substance源获得它们,并在3D Designer、3D Painter和Unreal中对它们进行了一些调整。
UE着色器
在Unreal中,我使用顶点绘画的RGBA通道创建了一个着色器来混合3或4种材质。
我从创建第一个材料开始,使用在Substance 3D Designer中创建的第一个陶瓷变体,只是非常基本的东西,比如创建纹理参数来控制粗糙度、色调和平铺等使用节点,如乘法、功率、等。创建这些参数是为了在从该主材质创建材质实例时能够控制它们。
我对第二个陶瓷变体做了同样的事情,然后使用红色通道添加了一个顶点颜色来混合它们。
我使用HeightLerp节点使用高度贴图(在这种情况下为RMAA的Alpha通道)进行混合,使用参数来控制高度拖把对比度和顶点绘制对比度及其强度。
我添加了更多节点以提供将它们与混合贴图混合的能力,还添加了另一个节点以添加灰尘/污垢通道。
按照相同的步骤,我混合了3种其他材料,最后一种用于添加带有自定义泄漏面罩/面罩的泄漏。
之后,我创建了一个实例材料,并通过一些测试来使用结果。
我使用相同的主材质和实例创建石膏/水泥/砖墙、陶瓷墙/地板等。
▲UE4中的顶点绘制示例
对于道具或英雄资产,我使用了一个非常简单的主材质,并将基于它的实例应用于资产。
我还根据来自虚幻引擎免费项目的一些免费着色器为贴花、玻璃等创建了主材质。
道具创作
我无法包含所有内容,但我会谈谈我在建模、uvs和某些资产的纹理中使用的一些方法。
垃圾箱
我首先收集了一些不同类型垃圾箱的参考图像,然后决定创建一个通用垃圾箱并确保比例接近概念中的比例。
高模
我从非常基本的硬表面建模开始了高多边形建模过程,使用Maya建模工具(如挤出、斜角等)来创建中间部分、轮胎和覆盖物,并将材料应用于每个元素,以便将其用作颜色稍后在Substance 3D Painter中找到。
我创建了一些浮动几何体,如螺栓和轮胎,以便稍后获得简单的烘焙信息,而不是从相同的形状建模它们。
UVs和低模
我在高多边形 格上方创建了一个低多边形 格,尝试重复使用相同的基础 格以节省时间,并删除了额外的边缘和任何对形状/轮廓没有贡献的几何图形。 格原来是2200与盖子tris和2176 tris没有它。
对于UV,我使用Maya UV工具包,使用它的UV工具,如法线投影、展开缝合、剪切和缝合等。
我计划重复使用垃圾箱的一些紫外线外壳来节省紫外线空间。例如,我重复使用了侧面和盖子等部件。我确保使用每1米1k的纹素密度,并确保它是正确的,您需要在纹素密度中输入10.24的值并使用正确的单位,在可能的情况下我使用米,对于这个转储集我使用2048×2048地图大小。
烘焙
烘焙 格有多种方法。您可以使用相同的名称命名高多边形和低多边形 格中的每个元素,并在画家中使用并按 格名称匹配。您还可以分解 格、烘焙,然后将最终 格重新导入到画家并开始纹理化。您也可以使用Marmoset Toolbag之类的软件来更好地控制倾斜和笼子,但在这种情况下,我只是分解了 格。
在烘烤之前,我准备了 格并像那样将它们炸开,并确保将 格平滑地应用于高多边形。
在Substance 3D Painter中,我创建了一个新文件并包含低多边形爆炸 格。然后,从纹理集设置中,我选择了烘焙 格贴图,并加载了高多边形 格并尝试了不同的最大正面和背面距离。事实证明,这个项目的默认值工作得很好。
我建议使用小于4×4或8×8的抗锯齿子采样,这样会得到模糊的结果。
我烘焙了4096的输出大小,但之后将贴图的大小调整为2048×2048,以便在虚幻引擎中获得正确的纹素密度。
通过烘焙 格,它将高多边形细节转移到低多边形 格中,并创建了 格贴图、法线、世界空间法线、ID、环境光遮蔽 (AO)、曲率、位置和厚度。
这些 格贴图对于开始对资产进行纹理化非常有用,并且可以节省大量时间,因为它有助于生成像AO和曲率这样的蒙版,并且可以在使用生成器添加诸如污垢或边缘磨损等特征时自动放置它们。
纹理
我将无法解释每一层,因为这需要很长时间,但我会尽量简化我所做的!
在Substance 3D Painter中开始纹理处理之前,我必须使用Aces颜色配置文件,因为一旦我在Unreal中导入输出纹理,它就会给我正确的结果。
根据我收集的作为场景材料灵感的垃圾箱的参考,我发现它们下面是由油漆和金属组成的,上面混合了铁锈、泥土和不同变化的垃圾。
所以要做的第一件事是要么从头开始创建一个金属层,要么选择一个现成的并对其进行操作,直到找到合适的结果。
我创建了一个Painted Metal文件夹,并使用由金属和油漆组成的主体的颜色ID创建了一个蒙版。我从金属材料开始,从Substance源中选择了Tempered Steel,并更改了颜色和粗糙度、平铺等的一些值。
我为金属添加了其他自定义层以增加变化和一些表面缺陷。我使用了来自megascan缺陷的划痕之一来添加一些表面粗糙度变化:划痕金属 。
您可以在Quixel megascan 站上或通过Quixel bridge下载。
对于油漆,我使用了与金属类似的方法,并想让它看起来像褪色和肮脏,所以我使用了许多颜色变化。
我从一个简单的基础层开始,使用绿色和简单的噪点来处理高度通道中的细微凹凸,然后添加一个淡黄色填充层并使用一些生成器和默认画家的垃圾瓷砖进行混合。
我改变了它们的一些平衡和对比度,并重复了一些步骤,并添加了额外的凹凸和HSL透视,以在适当的地方创建更多的褪色。
下一步是通过在油漆上产生一些边缘磨损和一些损坏和垃圾掩码来在油漆和金属之间混合,从而露出下面的一些金属。
然后我在金属顶部添加了锈层,并手动控制了我不想生锈的区域,反之亦然。
之后,我添加了更多的风化层,如污垢、褪色、垃圾和泄漏等,使用可平铺纹理或模板,使用默认画家的垃圾贴图或Photoshop创建的自定义贴图,最重要的是,一些额外的微妙AO和锐化过滤器,因此它可以帮助纹理弹出更多但不是太多,因此不会产生奇怪的伪影。
我按照类似的步骤为车轮和其他元素创建材质,并使用与之前纹理相同的预设导出纹理,并将其应用到Unreal中的实例材质上。
▲垃圾箱3D游戏资源
我使用类似的步骤来创建其他道具,但将更多地讨论参考收集和一些用于分析概念并尝试从中创建东西的方法,尤其是当概念不够清晰时。
鳄鱼
对于鳄鱼,我使用ZBrush对其进行雕刻,使用Maya默认内容浏览器中的基础 格,然后根据我从Google收集的参考资料或我的相机拍摄的参考资料添加细节。
我主要使用Clay、ClayBuildUp、Damstandard、Standard和Standard Brushes,并添加了表面噪波,以在进行一些 格细分后创建我想要的形状和细节以及最佳比例。
对于低模,我简单地使用了Zremesher,然后在Maya中手动减少了一点。
我犯了一个错误,我没有从一开始就摆出鳄鱼 格的姿势,然后雕刻了一个移动的姿势,我意识到这不是正确的做法,但后来我使用ZBrush转置大师轻松获得了最终姿势低聚 格。
我为鳄鱼做了两个版本,它们被拆开在一起,一个用于主要鳄鱼,第二个用于身体部位。
对于纹理部分,我使用了Substance源或默认材质的组合并对其进行了调整,使用诸如Patinated Frog Leather 、 Flesh Carbonized 、 Zombie Blood以及不同的生成器和过滤器之类的东西。我使用了一些血液模板或手动使用粒子刷来随机漏血。
起重机和输送机
Crane和Conveyor资产在UE4中作为蓝图类附加,并使用了6个不同的纹理集,每个纹理集为2048×2048,并且在我的项目中多次作为预制件重复使用。这个想法来自收集类似于起重机和传送布或袋子的参考资料。
例如,传送带仅由6个元素创建,主体、钩子和臂,其中一些共享相同的纹理贴图或与起重机套件共享。
在默认的Substance Painter的Alphas列表中,我使用了一个非常有用的Alphas来在油漆和金属之间创建更好和独特的过渡,如Pearl、Corner、Circular和Paint Alphas。这些的好处是您可以控制它们的值,如硬度、流动等。
装饰板和独特的元素
楼梯、管道、石头、天花板和梯子等一些资产是从同一个纹理集中重复使用的;这些资产的纹理集是可以水平平铺的装饰板和独特元素的组合。
这是在虚幻引擎中创建作为预制件的蓝图以及从基于一个纹理集的模块化套件构建楼梯的快速演示。
▲UE4中的模块化示例
重用资产是创建此类资产和场景的最快和最佳方式,并且对关卡设计非常有帮助,最好的方法是像我之前展示的那样在封锁阶段尽早计划,并确保它们在 格,因此您需要使用公制系统对其进行调整。
贴花和 状贴花
有2种类型的贴花,可以从Unreal贴花演员创建的延迟贴花,它会根据距离与表面混合(距离越近,越明显,反之亦然),并且它可以扭曲资产,除非您选择不接收特定资产的贴花。
另一种类型是 格贴花,该类型与导入到虚幻引擎的任何普通资源一样作为静态 格导入,但它要么位于具有alpha的平面上,要么被提取并漂浮在资源上方。
我使用了一个Substance 3D Designer来创建大部分的污垢补丁,并且一些贴花是从我从Google或textures.com并在Photoshop中进行了调整,例如一些垃圾和泄漏等。
Unreal Master贴花材质是自Unreal市场的。
我在平面上创建了一些 格贴花并作为静态 格导出到虚幻引擎,有些是在桌面上创建的,因为延迟贴花不会正确地围绕其他资产扭曲,并且可能会产生拉伸或奇怪的伪影。
其他的是在6个平面上的一个纹理集上创建的,并使用Substance Painter在其边缘添加了一些垃圾纹理。后来这些平面作为静态 格导入到虚幻引擎中,然后将它们靠近移动以漂浮在条形之间的窗户玻璃上方以添加一些污垢或表格 格以添加血液或污垢和垃圾等。
其他类型的 状贴花可以假装混凝土墙或柱等的边缘损坏。
灯光
我使用了静态、固定和可移动灯光的组合,但在完成项目后我意识到最好使用动态灯光,而天窗只使用固定灯光 – 这有助于我的场景更快,而在播放模式下不会出现很多丢帧。
我使用了点光源和聚光灯、定向光和天窗的组合。我想在墙壁、鳄鱼、地面上的破坏墙/碎片和战壕区域等地方伪造一些光线。
我添加了AtmosphericFog和ExponentialHeightFog来创建一个非常令人信服的体积雾和上帝射线,并对ExponentialHeightFog值进行了一些调整,直到找到适合我的结果。
后期处理
我使用了后期处理量并激活了一些镜头选项,例如Bloom、Exposure、Chromatic Aberration、Dirt mask、Lens Flare等。
我添加了一个从Photoshop创建的自定义颜色分级LUT,并稍微调整了电影值。
粒子
我对粒子所做的大部分工作是从Epic Games Launcher获取Unreal初始内容,并选择类似的烟雾、水滴、火花、灰尘等效果,然后调整它们的值,直到找到更适合我的项目的东西。
例如,我从示例内容中打开效果图并选择矢量场发射器和矢量场体积,并更改了一些值以使其看起来像某种苍蝇或小昆虫。
同样的过程也适用于从管道中滴水:它最初来自P-GPU-particles_collision2_15示例,火花是从P_cpu_gpu示例开始的。
最终细节
我做的最后一件事是添加一些建模工作来改变一些轮廓。我小心地打破了地面上的一些陶瓷和墙壁,做了一些几何体的移动,但小心翼翼地没有破坏uvs、添加碎片、使用虚幻树叶工具的枯叶,这些小调整产生了巨大的差异并帮助项目更有活力。
我试图用场景来讲述一个故事,并通过使用顶点绘制、贴花、蓝图以及从场景中的资产中散布随机损坏的部分来制作模块化和重复的资产,纹理不会太明显。
▲鳄鱼农场
UE虚幻引擎
我相信虚幻引擎是当今最强大的软件之一,它给游戏和电影行业带来了巨大的变化。
多亏了Epic Games和Unreal Engine,如今任何人都可以创建自己的内容,帮助生活在没有任何资源的地方的独立艺术家和开发人员,在这个行业几乎没有公司,免费学习开源教程和内容。
如果你想制作一个成功的作品集,我建议你研究这个概念,理解它,不要急于阻止阶段,如果项目从一个坚实的基础开始,它会非常棒,你可以创造性地使用虚幻有用的工具来创建您自己的惊人关卡。
非常感谢大家的阅读,我希望你喜欢这篇文章!
· · · 全文完 · · ·
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!