猫头鹰鹰身女妖的毛发与羽毛:XGen 发片、Hair Shader 与 UE5 灯光流程拆解

AI3D 发表于 4 周前 浏览 0 分类 创作分享

简介

大家好!我叫 Eugenia Zanina,是一名游戏 3D 角色艺术家。我想分享一个我制作的游戏角色项目的解析,猫头鹰鹰身女妖(Owl Harpy),它是在 Unreal Engine 中创建的。我从事 3D 工作已有四年。我知道这时间相对较短,说实话,谈论我的作品时我有点不自在,因为我还有太多东西要学。

所以我希望这份解析不太像教程,而更像是一个提醒:学习可能很艰难,ArtStation 上的每个项目都凝聚着数小时的付出。如果这份解析能激励某些人,并给他们继续学习和提升的力量,我会很高兴。对我来说,这个项目是一段漫长旅程的顶点。
 
至于我的背景,我最初是一名自学成才的 2D 艺术家 — 接一些小插画委托,然后进入移动游戏开发领域工作。我出于好奇开始学习 3D,上了几门课程,随后就找到了工作。在同水平的艺术家中,我因艺术处理方式和创作出漂亮作品的能力而受到认可。但作为一个天生富有创造力的人,技术方面对我来说很有挑战性。

像重拓扑、烘焙或灯光设置这类简单技术起初很容易上手,并随着时间推移不断进步,但制作可用于游戏的头发却是一道无法逾越的障碍。这项任务的复杂性和规模总是让我感到害怕,但我一直努力去实现它。

Owl Harpy

在这个项目之前,我曾三次尝试使用游戏就绪管线来制作头发,每次都失败了。第一次,我对这项技术理解得不够透彻。然后,我对所需软件的熟练度不够。在最后一次尝试中,我无法在要使用头发的引擎中设置好着色器。每一次失败都动摇了我的信心,我不断拖延这项任务。
 
最后,我决定彻底搞懂游戏就绪头发的制作管线。在开始之前,我为自己设定了以下标准:

  • 角色应该简单但完整,这样我就能把发片(cards)作为模型的一部分来处理。
  • 它应该包含普通角色常见的所有毛发类型 — 头发、毛皮和羽毛 — 这样我就能理解它们在制作上的差异。
  • 我会主要关注头发,而不是建模,但最终结果仍应看起来美观、精致。
  • 我不会用面数来限制自己 — 我缺乏经验,无法确定这类工作所需的面数。
     

我选择了 Betty Jiang 的 Owl Harpy(猫头鹰鹰身女妖)插画作为参考。它符合我的所有标准,更重要的是,它给了我极大的启发。对于个人作品集项目而言,灵感至关重要,因为没有任何外部动力来促使你完成它。

How to Create Hair and Feathers for an Owl Harpy Character

参考素材

我首先收集了额外的参考素材。原始作品是一幅插画,因此它并没有提供关于模型应该是什么样子的详尽信息。一方面,这给予了一些自由,但另一方面,要匹配角色、比例和细节几乎是不可能的,因为游戏要求模型采用标准的A-pose或T-pose。

然而,匹配参考对我来说是次要的。我的主要目标是创建逼真的头发、羽毛和毛发。因此,我收集参考主要是为了理解类似的东西在现实中是什么样子的。

How to Create Hair and Feathers for an Owl Harpy Character

第二重要的步骤是制定计划。我做过足够多的模型,明白“三思而后行”这条规则同样适用于3D。没有计划的步骤往往会让工作复杂化,迫使你回到之前的阶段,或者需要重做一切。

所以,我提前思考了如何在模型上分配材质,以便更轻松地设置着色器。由于我需要大量不同类型的卡片—用于头发和身体—我将它们分成两个UV贴图,并基于参考解构创建了布局。

How to Create Hair and Feathers for an Owl Harpy Character

建模、重拓扑与贴图

我不会深入讲解身体和头部的建模拆解,因为那是一个相当标准的过程。我没有使用任何独特的技巧 — 我手动建模了所有内容,只是轻微使用 alpha 来做纹理。最初,我计划让身体的一部分不覆盖毛发,但后来决定不这么做。
 
至于基础网格,我在 Maya 中手动创建了标准的动画重拓扑。在那里,我还使用三套 2K tile 展开了 UV 并进行了排布 — 一套用于头部和眼睛,一套用于身体,第三套用于翅膀上部。由于我主要做角色,我的 UV 壳往往形状各异,自动排布处理得并不好。因此对于有机体对象,我会尽量手动地密集排布 UV 壳。这也让我能够决定某些部分是要增加还是减少,而不会损失可见的质量。
 
我也开始使用 Substance 3D Painter 基于 PBR 流程制作身体贴图。贴图始终是一个漫长的过程,尤其是当角色会被用于游戏引擎时,在整个工作过程中我不断调整和修正贴图。由于我想专注于毛发,我决定不使用 MetaHuman 技术 — 那是我下一步要学习的内容。为了掌握这项工作,我需要一次专注于一件复杂的事情。所以这个项目中的身体贴图相当标准。

How to Create Hair and Feathers for an Owl Harpy Character

头发与羽毛

一旦基础(且相对简单)的部分完成,我就转向了最具挑战性的部分。我使用 Maya 中的 XGen 插件来创建头发和羽毛。我知道有专门用于创建逼真羽毛的程序,但我的目标是足够好地掌握这个插件,以便能够重建任何所需的形态。
 
我从羽毛开始,因为我已经有创建发片的经验,但羽毛对我来说是一项全新的任务。事实证明,如果你理解物体的结构,那么在处理除头发以外的东西时并没有太大区别。通常,毛发引导线是在水平表面上创建的,因此发丝是垂直的——根部在上方,末端在下方。羽毛的细丝沿着羽轴两侧分布,所以我创建了两个垂直平面,并沿着它们生成毛发引导线。

How to Create Hair and Feathers for an Owl Harpy Character

提前找到所有羽毛类型的详细参考,为我节省了大量时间,因为羽毛的外观会根据其在翅膀和身体上的位置而有很大差异。使用 guide(引导线)帮助我创建所需的羽毛形状。与头发不同,羽毛有非常特定的形态,仅靠程序化修改器并不够 — 你需要严格把控这个过程。

因此,使用常规轴心(pivot)对每根单独的 guide 进行变形,让我能够为每片羽毛创建复杂而独特的形状,而修改器则增加了变化和“纹理感” — 有些我保持硬挺,另一些则做得更柔软、更蓬松。一个重要细节是沿羽轴添加弯曲,这样它们之后在平面上也会显得有体积感。

How to Create Hair and Feathers for an Owl Harpy Character

在羽毛上掌握 XGen 之后,制作头发就相对简单了。这个角色有长发,所以我必须仔细控制头发粗细。由于长、短发丝位于同一张 UV 上,它们需要根据每根发丝的预期尺寸使用不同的粗细。在我的案例中,长波浪发丝比短绒毛大好几倍,因此它们在 UV 上的粗细应该更小。否则,在放大 card(卡片)时,它们会变得过粗、不真实,无法与绒毛匹配。

How to Create Hair and Feathers for an Owl Harpy Character

我在 Maya 中使用 Arnold Render 烘焙了头发和羽毛的 Texture maps。我创建了许多不同的贴图,因为我不确定在 Unreal Engine 中进行 shader 设置时会需要哪些贴图,而我计划在 Unreal Engine 中完成最终渲染。之后我会展示实际需要的贴图列表。
 
card 准备好后,我进入了最困难的阶段 — 创建 shader。问题在于,我在 Unreal Engine 方面还是新手。作为一名 3D 角色艺术家,我为 PBR 贴图创建过相当简单的 shader,有时会添加透明度、Subsurface Scattering、发光,或者编辑 Colors、Roughness 和 Metallic 参数。

根据我的经验,我见过好几种头发 shader,它们看起来总是非常复杂,所以我很害怕进入这个阶段。但幸运的是,3D 社区很友好,也很乐于助人。我的一位朋友是 Grooming Artist,推荐了一个很棒的视频,逐步展示如何创建一个很酷的 shader,作者解释了每个节点的用途。这花了一些时间,但我基于视频示例成功创建了自己修改过的 shader,因为原始版本对羽毛效果不太好。

所有羽毛都有不同的颜色,有些还带有图案。此外,我把两种羽毛类型放在同一张 UV sheet 上:外侧翅膀使用硬挺且有光泽的羽毛,内侧翅膀和身体使用柔软蓬松的羽毛。相同的 Specular 和 Roughness 参数设置无法达到理想效果,所以我使用遮罩和额外节点,为不同羽毛类型输出两套参数,并分别进行调整。我没有使用具体的颜色值,而是在 Photoshop 中手动创建了一张贴图,并使用 Unreal Engine 节点来调整色相和饱和度。
 
总体而言,我是满意的,但我在参考图中注意到一个细节:有些羽毛的两侧颜色不同。这是个很小的细节,但我认为这是一个继续学习的信号(而且一旦看到,我就无法把它从脑海中赶走)。我使用了 TwoSidedSign 节点和修改过的 Color 贴图,为背面的一部分羽毛赋予不同的颜色。

How to Create Hair and Feathers for an Owl Harpy Character

你可以在下面看到最终需要的 Texture maps 列表:

How to Create Hair and Feathers for an Owl Harpy Character

然后,我开始使用 GS Curve 工具在模型上摆放羽毛和发丝。它简单直观,但非常有效。例如,我可以快速轻松地通过为整条辫子指定一条曲线,而不是单独的 card,从角色头上的辫子创建出一“束”头发。对面部附近的卷发我也做了同样处理 — 先用不同的 card 创建出一缕,然后为整缕头发指定一条曲线。

How to Create Hair and Feathers for an Owl Harpy Character

卡片摆放更像是一个艺术过程而非技术过程,所以这个阶段对我来说非常享受。它也是渲染前的最后一步,模型终于以最终形态呈现出来。到最后我意识到,一个需要大量毛发梳理的模型不仅在技术上具有挑战性,在情感上也是如此 — 它由多个分别创建的对象组成,你只能在最后才能看到它们如何协同工作。因此,在这类工作中,经验和规划至关重要。
 
说到场景搭建阶段,我不能说模型已经准备好了。在调整灯光、渲染和后处理的过程中,我不断地修复、修改和改进各种东西。我一直到最后一刻都在微调参数,而材质实例和结构良好的参数集对此帮助极大。

灯光

渲染时,我使用了 Unreal Engine 5.5。作为搭建的基础,我使用了 MetaHuman Lighting 场景。说实话,很难回忆起我尝试过的所有设置,并准确说出我决定保留什么、舍弃什么。我还为不同的渲染使用了不同的灯光方案 — 用于展示帧、营造正确氛围的艺术化灯光,以及用于细节的更平静的影棚设置。
 
我尝试遵循标准的三点布光方案:主光、补光和轮廓光。但在我看来,在创作漂亮的渲染时,你不应该限制自己。如果我需要额外的灯光来突出某个细节,或获得富有表现力的反射或高光,我就会使用它。例如,这是其中一个场景:

How to Create Hair and Feathers for an Owl Harpy Character

结论

我总是试图用灯光来强调对我来说特别的东西,并隐藏错误和不成功的部分,以免它们引人注目。一点点泛光、色差和锐化总是能让画面更好——只是不要过度。毕竟,主要的是在建模和纹理上所做的工作,而不是后期处理效果。
 
就这样!我希望这个解析能激励你去尝试并创造出美丽的东西!

How to Create Hair and Feathers for an Owl Harpy Character

Eugenia Zanina,2D/3D 艺术家

采访:Emma Collins

相关链接

原文链接:https://80.lv/articles/how-to-create-hair-and-feathers-for-an-owl-harpy-character

喜欢这篇内容吗?