用模块化资产与自定义 Shader 搭建风格化山间小屋:Arjun Perayil 的 UE5 环境流程

AI3D 发表于 2 周前 浏览 2 分类 新闻资讯

介绍

我叫 Arjun Perayil,是一名来自印度的 3D 环境美术师。我目前就职于 Art Bully Productions LLC。

我一直玩很多电子游戏,而其中的环境始终是最吸引我的部分。我进入 3D 艺术的旅程大约始于 2014 年,当时我开始为 GTA 游戏制作 mod。折腾这些 mod 激发了我对 3D 资产究竟如何制作出来的强烈好奇。它完美地连接了我的艺术热情与技术兴趣,也正是这一点真正吸引我深入了解游戏创作的机制,并让我第一次打开了 Blender。

我正式的 3D 职业生涯始于 2018 年,当时我进入艺术院校学习。在校期间,我读了很多书,并大量关注艺术与技术两方面的理论内容。我喜欢钻研更偏技术性的工作流,同时也培养了对传统艺术的浓厚兴趣。我尤其被欧洲文艺复兴时期的绘画和印度传统艺术所吸引–特别是风景,以及那些世界如何在视觉上与故事和神话产生联系。在学业之外,我与一小群游戏爱好者合作,帮助他们为项目搭建 3D 环境。

在磨炼技能并做了几年自由职业之后,我决定体验工作室生活,转入更强调协作的团队环境,这最终让我在 2023 年加入了 Art Bully Productions。在这里工作期间,我有幸参与了《使命召唤》和 EA 的《Skate》等大型项目。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

开始 Hearth and Hillside 项目

我想在 Unreal Engine 中创建一个风格化环境,同时避开这一类型常见的同质化外观。起初我并没有一个扎实的概念;我只是很清楚自己想要唤起的感觉–一个温馨、温暖而宁静的景观。 

我的主要灵感来自传统绘画,而不是其他游戏。我深深被那些具有高饱和、明亮色彩关系、能够营造宁静绘画感氛围的作品所吸引。我想看看自己能否把那种特定的传统插画感转化到实时 3D 空间中。除了艺术愿景之外,我也有明确的技术目标。这个项目的关键目标之一是提升我在植被制作方面的技能、管线和流程。我还想利用这个场景更深入地探索灯光和最终后期处理。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

为了保持专注并避免让过程过于复杂,我有意识地尽量让自己的参考保持简单,使用经过精选的古典绘画和实拍照片组合。一开始,我完全专注于寻找刚好足够的参考,以确定一个强有力的构图。

一旦基础布局确定下来,其余关于氛围、灯光、建筑资产、植被和材质的参考收集,就随着我在环境制作中的推进逐步完成。 

构图与 Blockout

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

Blockout 阶段可以说是制作中最重要的阶段,因为它从根本上定义了项目的整体观感和感觉。我通常会把 Blockout 阶段拆分为三个不同的阶段:

  1. Proxy Pass:使用基础、原始的形体来确定场景的比例和基础形态;
  2. Value Pass:为形体增加更多细节定义,引入基础灯光,并应用灰度贴图,以确保对比度和可读性正常;
  3. Color Pass:引入基础颜色,以确立场景的整体色调。
Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

在这个过程中,经过几轮迭代和构思阶段后,我确定了一个构图,它很大程度上依赖经典取景技巧来引导观众视线:

  1. 焦点与对比:房子是主要的兴趣点(POI)。我刻意安排它的位置,使其轮廓与明亮天空形成强烈对比,从而一眼就能被读懂。
  2. 引导线:河流作为一条动态、蜿蜒的路径,将观众的视线从前景底部一路引向场景深处。此外,远处山脉的坡面形成一个微妙的“V”形,将视觉动势汇聚到中央山谷,也就是主要 POI 和桥所在的位置。
  3. 深度与框景:我把场景拆分成清晰的层次。岩石锚定近景角落,框定进入这个世界的入口。中景承载主要动作(建筑和人物),而远处山脉则将背景推远,营造出强烈的景深感。
  4. 非对称平衡:右侧房子沉重的结构体量、高耸的树木和散布的资产,由左侧开阔的空白空间、湖面和远处山峰来平衡。左侧的栅栏也起到关键作用,将视觉重量拉回场景另一侧,从而保持平衡。

创建地形与山脉

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

近景和主要地面部分,我使用 Unreal Engine 默认的 Landscape 工具手动雕刻;而作为背景框景的远山,则依靠 Gaea 程序化生成地形。网格体和基础贴图都是直接从该软件中导出的。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

为了让这些写实的程序化贴图与场景的绘画式美术方向相匹配,我将它们导入 Substance 3D Painter。利用 Painter 新增的 Stylization 滤镜并调整参数,我能在将所有内容导入 Unreal Engine 之前,快速把写实的地形贴图转换成统一、风格化的外观。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于主要地面,我构建了一个使用四个不同层的地形材质:Grass、Dirt、DirtPath 和 RiverBed。我使用了启用高度混合的 Landscape Layer Blend 节点,以确保这些表面之间实现自然、有机的过渡,让泥土能够基于高度数据自然地突破草地。

此外,我还将地形材质设置为输出颜色和法线的 Runtime Virtual Texturing(RVT)。这是一个关键的技术步骤;它让我能够将散布的资产(如岩石和植被网格体)无缝混合进地形中。它能让道具更扎实地融入世界,并避免生硬的相交线,这对于保持柔和、统一的绘画式外观至关重要。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

这个材质的一个核心特性,是它如何处理颜色变化,从而在宏观尺度上赋予草地一种绘画笔触感。在基础草地层之上,我使用一张自定义变化贴图,在大型和中型平铺尺度上混合了不同颜色。

这张变化贴图是一张简单的打包贴图,其中 R、G、B 通道各自存放不同的 grunge 图案。将这些尺度和 grunge 图案叠加起来,可以彻底打破平铺感,并从远处赋予地形鲜明的手绘外观。 

搭建木屋

由于木屋是主要的视觉焦点,并且主要由木材构成,为了节省时间,我采用了材质优先的方法。我先在 Substance 3D Designer 中创建了一个基础的风格化木材材质。在此基础上,我制作了两个具体变体:一张标准的可平铺木材贴图,以及一张基于相同木材风格的专用 trim sheet。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

我没有对整个房子进行单独建模和展开 UV,而是建模了一小套基础木板,并将它们的 UV 直接映射到木纹 trim sheet 上。仅用这几块经过优化的木板,我就构建出了一个模块化墙体和结构件的资源库。

随后,我用这些模块化预制件拼装出了整座小屋。这套模块化 trim sheet 工作流极大地节省了时间,让我能够快速迭代建筑结构,而不必反复来回地重新烘焙或重新贴图单个资源。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于屋顶,我在一个简单的平面上应用了装饰纹理,然后挤出网格,让木瓦更有深度和结构感。烟囱和金属板则是用基础几何体配合可平铺纹理制作的。

为了打破单调感、让屋顶在视觉上更有意思,我把金属板网格导入 Substance 3D Painter。我先应用了最初在 Substance 3D Designer 中制作的基础可平铺金属纹理,然后在其上手绘了自定义的锈迹和水渍,为小屋顶部增添特定的个性与风化效果。

因为最初我还没有为小屋确定最终外观,所以我需要材质具有高度可迭代性。我在虚幻引擎中构建了一个复杂的墙体主着色器作为基础,提供了颜色染色、宏观颜色变化和 RVT 颜色混合等选项,以使结构融入地形。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

该着色器大量依赖顶点绘制来实现自定义混合。基础纹理使用 UV0。在此之上,我使用与地形材质相同的变异贴图(variation map)设置了两层三平面污渍(triplanar grunge)层,并带有可在纹理各通道之间切换的参数。我把顶点色蓝色通道用作这些污渍层的遮罩。

在此基础上,我又添加了一层污垢,使用同一张污渍贴图但采用不同的平铺比例,并通过顶点色红色通道进行遮罩。最后,我添加了一个由顶点色绿色通道遮罩的顶层,用于混合自定义颜色。我使用这个特定的绿色通道遮罩来绘制并加深环境光遮蔽(AO)区域,使用一种深邃的风格化蓝色,这确实增强了阴影的绘画感。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

为了进一步增强小屋主体木材的效果,尤其是因为我反复复制了同一批模块化装饰木板,我需要一种方法来增加独特性并打破重复感。为此,我加入了一张打包的工具贴图。

绿色通道包含一张边缘遮罩,用于强调并突出木材的边缘;蓝色通道则存储了反转的环境光遮蔽,以实现后座效果。应用这张工具贴图后,那些重复的装饰木板件获得了更多个性特征。 

设置植被

这个场景的一大重点是:为有机资产打造出统一、风格化的外观。我把植被工作流拆分为三大类别:树木、植物与常春藤,以及草地。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

树木

场景中有三种截然不同的树:黄色主视觉树、松树和橡树。我先在 Affinity Designer 中创建了初始叶片形状。然后手绘叶簇和树枝,构建出一套连贯的植被贴图图集。对于树干,我使用 Substance 3D Designer 制作了风格化、可平铺的树皮贴图。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

这些基础贴图准备好后,我把它们导入 SpeedTree 并开始生成树木。在这个阶段,我主要关注树的整体轮廓,而不是陷入较小的细节。因为风格化美术非常依赖清晰可读的形状,所以整体体积最为重要。

尤其是那棵主要的黄色树,我花了更多时间手动调整叶片朝向和单根树枝的位置,以确保它具有非常具体、讨喜的轮廓,并能在构图中脱颖而出。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

我让这些树的总面数保持相对较低,尤其是松树,因为我知道它们会在背景中被大量实例化。作为艺术化处理,我编辑了树冠的法线,使其朝上。这是风格化植被中常见但关键的技巧,可确保树冠均匀受光,看起来像一个柔和、统一的体积,而不是一片片嘈杂的叶子。

在这一阶段,我还为所有树木应用了顶点色,它会驱动一些我稍后会解释的特定着色器功能。 

树叶着色器本身相对简单,但非常有效,它很大程度上依赖这些顶点色来驱动最终外观。首先,我使用红色顶点通道混合两种不同的颜色,它相当于一个从树底部到顶部的垂直渐变。

然后,我利用绿色顶点通道,它提供从内部树枝延伸到树冠尖端(不包括树干)的渐变。为了精确控制这些混合,我创建了一个名为 “Gradient Adjustment” 的自定义材质函数,它基本上相当于 Photoshop 中的色阶调整图层。

通过将这些由顶点驱动的渐变混合在一起,我可以在整个树冠中引入漂亮、局部的颜色变化,使植被看起来更像手绘插画,而不是一个扁平的 3D 网格。

此外,树叶没有使用标准法线贴图;相反,我使用了一个平面法线,并将其与 Two-Sided Sign 节点相乘,以柔化光照,并进一步强化风格化、插画式的感觉。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

在运动方面,风系统完全由材质中的 World Position Offset(WPO,世界位置偏移)驱动。我将风拆分为两种不同的行为:让单片叶子飘动的 “normal wind”(常规风),以及让整棵树从树干底部一直到顶部整体运动的 “tree sway”(树木摇摆)。

通过利用顶点色,我能够遮罩风效对叶片的影响强度,确保运动感觉自然,同时树干保持扎根不动。我实际上找到了一篇非常棒的 Mohammad Solei 的 YouTube 教程,它完美解释了这个风系统的确切设置。如果你想实现类似效果,我强烈推荐去看看。

植物与常春藤

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于植物和常春藤,我先在 ZBrush 中雕刻了一张植被图集——包括叶子、茎和花朵。在这个高模阶段,我纯粹专注于基本形状和整体轮廓,而不是微观细节。

雕刻完成后,我将高模网格导入 Substance 3D Designer,以烘焙法线、ID、环境光遮蔽和 Alpha 贴图。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

我使用这些烘焙贴图在 Substance 3D Designer 中快速建立了基础颜色设置,然后转到 Substance 3D Painter 进行进一步的手工细节处理。为了完成它并确保它与环境完美匹配,我应用了与在山上使用的相同的 Stylization 滤镜,以获得那种独特的绘画感。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

完成贴图后,我把这些图集导入 Maya,手动拼装出各个植物模型和模块化的常春藤簇。把它们导入虚幻引擎之后,我接入了与树木相同的世界位置偏移(WPO)风动系统。为了控制它,我使用蓝色(Blue)顶点颜色通道,把风力强度直接绘制到网格上:根部绘制为零位移,让它们牢牢固定在地面上,而顶部则可以在微风中自然摇曳。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

不过,对于常春藤,我采取了额外的优化步骤。我把单片常春藤叶子导入 Maya,并将它们组合成更大的常春藤簇。然后,我把这些组合好的簇重新带回 Substance 3D Designer,为这些簇本身烘焙出一套全新的整合贴图 – 基础色、法线、AO 和 ID – 并做了最后的颜色微调。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

草

与我处理植物和常春藤的方法类似,我先雕刻了一片高面数的草叶。由此,我烘焙出颜色 ID 贴图(后来我将其转换为灰度图,以便在着色器内随机化每片草叶的颜色)、Alpha 遮罩以及从根部到尖端的渐变贴图。为了让项目保持优化,我将所有这些打包进一张 RGB 贴图。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

然后我把这些导入 Maya,并将它们组合成几组不同的草丛。就像处理树木时一样,我编辑了这些草丛的法线,使其笔直朝上。这对草来说至关重要,因为它能确保草丛均匀地接收光照,看起来像一片柔软、连贯的草甸,而不是一堆相互交叠的平面。我还用蓝色顶点色为网格上色,以便之后作为风力遮罩使用。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

草真正的魔力是在虚幻着色器中汇聚而成的。正如我之前提到的,草着色器直接从地形的运行时虚拟纹理(RVT)中获取颜色数据,让草丛的底部能够无缝地融入下方的地形。

我将这种 RVT 混合与打包的灰度图结合起来,为草叶添加随机的颜色变化。最后,我把那个蓝色顶点颜色接入到我的 WPO 风力逻辑中,确保草与树木自然地同步摇曳,并以持续一致的微风将整个环境串联起来。 

锦鲤动画

为了给河流带来生机和微妙的动态,我决定加入锦鲤。我先在 Maya 中用多边形建模制作了一个基础的鱼模型,然后将其导入 Substance 3D Painter 进行贴图,确保颜色和图案与环境整体的风格化美学相匹配。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于动画,我转到了 Blender。通过利用 Blender 的 Damped Track 约束,我能够快速绑定并创建一个平滑、自然的循环游泳动画,然后将其烘焙下来。以下是我照着设置它所参考的教程。 

我不想让鱼只在一个地方游动,所以我在虚幻引擎中构建了一个自定义蓝图来引导它们的运动。在蓝图中,我使用样条组件(Spline component)来确定鱼应该经过的确切路径,并使用时间轴节点(Timeline node)驱动网格体沿着该路径移动。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

这套设置极其灵活:它让我能够绘制穿过河石的定制样条路径,并让动画鱼自然地沿着曲线游动,为水面带来一种奇妙的生活气息与宁静感。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

环境特效:蝴蝶、乌鸦和落叶

为了进一步营造一个栩栩如生、有呼吸感的世界,我添加了几种环境效果 – 蝴蝶、一群乌鸦和飘落的树叶 – 所有这些都由虚幻引擎的 Niagara 系统驱动。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

在考虑性能和优化的前提下,我避免为这些背景元素使用复杂的骨骼绑定。对于蝴蝶,我使用了一个简单的平面网格体。翅膀扇动的动画完全由着色器中的世界位置偏移(World Position Offset,WPO)驱动,而 Niagara 系统则负责处理它们不规则的飞行路径和生成逻辑。

远处的乌鸦使用了稍微更高级的设置,但遵循完全相同的核心理念:依靠 WPO 着色器来实现翅膀运动以保持较低的开销,同时由 Niagara 驱动它们在天空中移动。

制作道具

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于场景中大部分分散的道具,我都沿用了通用的传统流程。这一传统独立贴图流程的主要例外是岩石和木桥。由于桥是较大的结构元素,我采用了不同的处理方式。

我先在 ZBrush 中雕刻了一套专用的模块化“桥梁套件”,以便让所有风格化的木纹和边缘磨损效果都恰到好处。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

随后,我把这些高模雕刻导入 Maya,对这套资产进行重拓扑,制作成可用于游戏的低模网格,并展开 UV。不过,我并没有把这些网格导入 Substance 3D Painter 为它们单独制作贴图,而是在虚幻引擎中采用了更优化、由着色器驱动的方式。

我从高模雕刻中烘焙出法线贴图,并创建了一张自定义的打包实用遮罩(一张 RGB 贴图,打包了环境光遮蔽、曲率和位置渐变)。在虚幻引擎中,我搭建了一个材质,将烘焙好的法线与这张实用遮罩,以及一张可平铺的风格化木纹贴图结合起来。

通过使用遮罩中的曲率和 AO 通道,我可以在引擎中动态地提亮雕刻出的边缘、压暗凹缝,而可平铺的木纹贴图则确保这座桥在近距离下依然保持清晰、高像素密度(texel density)。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于岩石,我采用了与桥梁类似的由着色器驱动的流程。我在 ZBrush 中雕刻,在 Maya 中进行重拓扑和展 UV,然后导入 Unreal Engine。不过,我没有使用标准的可平铺岩石贴图,而是使用了我之前为地形创建的宏观变化贴图(T_Variation_Map)。

我将这张变化贴图直接与烘焙法线以及自定义实用遮罩进行混合。我还对岩石的遮罩做了一处关键调整:在导出时,我把位置渐变通道换成了经过处理的反相 AO 贴图。这在着色器中充当了自定义的脏迹(grunge)遮罩,让我能够在岩石表面动态混合风格化细节,同时不损失分辨率,并让这些细节与周围环境完美贴合。

对于其余的道具,我在 Maya 中建模了基础网格,然后将它们导入 ZBrush 雕刻高模细节。之后,我使用 Marmoset Toolbag 烘焙了所需的贴图。

烘焙完成后,我将这些道具带到 Substance 3D Painter 中进行纹理制作。就像处理植被和山脉时一样,我使用了 Painter 中的 Stylization 滤镜,让所有这些较小的资产具有更绘画化、风格化的特征,以与环境的其余部分相匹配。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

光照与渲染 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

该场景完全采用动态光照进行照明。为了确立基础氛围并确保天空与环境整体美术风格相匹配,我使用了 Notokeke 制作的免费 StylizedWeather 资产。该资源包中的天空盒提供了极佳的绘画风格背景,将构图的上三分之一部分统一了起来。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

虽然主平行光和天光承担了全局光照的主要工作,但我并没有完全依赖它们。我在环境中策略性地布置了几盏假光源。它们作为自定义补光和反弹光,用来突出特定视觉焦点、塑造模型并引导观众的视线,为整体构图增加更多深度和可读性。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

在氛围方面,我一开始使用虚幻引擎标准的指数高度雾(Exponential Height Fog)来建立大气透视效果。不过,为了进一步强化纵深感,并让空气呈现出更具实感、更偏插画风格的感觉,我还制作了一个自定义雾材质。

这个材质利用平移滚动的做旧纹理(grunge texture)来模拟翻涌流动的薄雾。将这种自定义雾布置在整个场景中,尤其是在背景的森林和山脉处,能为环境增添极大的生动感。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

最后,关于河流,我实现了平面反射捕获(Planar Reflection Capture)。风格化的水体有时会显得与环境有些脱节,因此让木屋、桥以及周围植被获得清晰、准确的倒影,对于让这条河流看起来融入场景并扎根其中至关重要。

摄像机与后期处理

为了呈现电影感,我调整了摄像机的 Filmback(画幅)设置,而不是仅仅依赖标准焦距。我在所有摄像机上使用了 9mm 的自定义传感器高度和 21mm 的宽度。这创造了一个非常宽的电影感宽高比,完美地捕捉了开阔的远景和环境的规模。

关于后期处理,我不需要做任何繁重的调色。因为我已经在纹理中设定了高饱和度的颜色值,并仔细放置了自定义的反弹光,所以场景开箱即呈现出自然的鲜艳感。

在 Post Process Volume(后期处理体积)中,我只是做了轻微的润色。我添加了一点锐化,让风格化的细节更加清晰。对于调色,我略微将整体饱和度推向绿色,以增强植被的茂盛感;把阴影偏向更冷的蓝色调,以衬托温暖的高光;并轻微降低全局饱和度,以平衡画面,防止鲜艳的色彩变得过于压倒性。

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

为了获得最终输出的最高画质,我使用虚幻引擎的 Movie Render Queue(MRQ)渲染了所有电影感镜头。除了标准的 Game Overrides 之外,我还添加了特定的控制台变量以最大化保真度。

我将 r.ScreenPercentage 设为 200.0,对图像进行大幅超采样。由于 MRQ 会自行处理高质量的时间与空间采样,实时降噪器可能会引入不必要的涂抹。为避免这种情况,我通过添加 r.AmbientOcclusion.Denoiser、r.DiffuseIndirect.Denoiser、r.Reflections.Denoiser 和 r.Shadow.Denoiser,并将它们的值全部设为 0,明确禁用了这些降噪器。

我将所有内容导出为 EXR 图像序列,以保留最大的色彩数据,并将这些序列导入 DaVinci Resolve 进行最终、细微的色彩润色,以统一各个镜头并打磨整个项目。

既然谈到了渲染,我强烈推荐观看几位 YouTube 创作者的教程,他们在 UE5 的渲染和灯光方面有非常出色的学习资料:William Faucher 和 Karim Yasser。

结语

我为完成这个项目设定了严格的时间限制。个人项目拖得越久,彻底放弃的可能性就越高,因此尽可能节省时间至关重要。我专注于使用可快速迭代的材质、模块化网格,并让关卡设计保持简单而有效。

我在大约 30 天的时间里完成了这个项目,主要利用周末来推进。在生产日之间休息之后,处理技术方面的内容有时会很困难,但这迫使我保持高效。

建立这套高效的时间管理系统和项目组织方式,是我在这个项目中的关键提升之一,同时也提升了我的整体风格化技能。最终,在制作《Hearth and Hillside》期间,最大的挑战之一是在高视觉保真度与智能优化之间找到合适的平衡。 

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

对于刚刚开始环境艺术之旅的艺术家,我的第一条建议是学会为所有事物收集参考资料,而不仅仅是单个资产。你可能并不总能找到一张完全符合你脑海中画面的单一参考,但要找到能帮助你具象化目标的图片。为你的构图、渲染风格、颜色,甚至你的白模准备专门的参考,会像路线图一样引导你完成整个过程。

始终注意项目的规模,并为自己设定严格的截止日期。使用 Trello 这样的看板来监控资产制作截止日期,或使用 TimeCamp 这样的时间追踪器来记录你的工时,对于控制项目范围并确保你真正完成自己开始的事情非常有价值。    

Building a Stylized Mountain Cabin with Modular Assets and Custom Shaders

一旦你有了参考素材和时间线,我建议你在 blockout(区块搭建)阶段多花些时间。我的一个主要信条是:“先让它存在,之后你总能把它做得更好。”这种心态能真正帮助你避免过早陷入无休止地添加细节的困境。

在迷失于复杂的软件技巧之前,先专注于基本功。一个强有力的构图、清晰的明暗层次分组,以及扎实的灰模 blockout,对你的场景所能起到的作用,会超过任何高分辨率贴图或后期处理效果。尽早把灯光和对比度做到位,就已经成功了一半。

另外,要重视环境中的叙事性。不要害怕犯错,也不要害怕随着场景的演变而做出改动和尝试新东西。最后,拥抱可复用性。

感谢阅读,希望这篇拆解能为我的工作流程提供一些有用的见解!

Arjun Perayil,3D 环境艺术家

采访由 Kseniya Serebrennikova 进行

相关链接

原文链接:https://80.lv/articles/building-a-stylized-mountain-cabin-with-modular-assets-and-custom-shaders

喜欢这篇内容吗?