CG小苏 发表于 2024-7-18 18:06:41

虚幻引擎5!制作Xgen角色头发到引擎全流程分享!-丨CG小苏

CG小苏 ”再点右上角“ ...”最后设为星标 ★
-------------------------------------- | CG小苏 | 分享最前沿的CG技术-游戏开发-CG自媒体平台 |                     

         作者: Leah McEwen   作者网站:https://www.artstation.com/artwork/Nyl3QJ





在我最近的个人工作中,我想尝试分析如何将创建的发束发型从 XGen Core 转移到虚幻引擎 5。我还想看看我可以多么轻松地用这些发束设置物理模拟,以及在执行此操作时会遇到哪些问题。 我知道 Epic 的文档有点稀疏,所以我要感谢 Andrew Giovannini在 YouTube 上提供的关于从 XGen 导出和导入 UE5 的精彩教程,还要感谢 Matthew Aitchison无论何时回答我提出的每一个随机问题!这个发型是在 XGen Core 中创建的,所以我们需要转换为 XGen Interactive 才能在 Unreal 中使用。

XGen 场景图像

转换为 xgen 交互图像 转换时,您可能会注意到头发看起来特别卷曲和参差不齐。这在非常卷曲/卷曲的头发上尤其明显。为了解决这个问题,我们可以在 Interactive 中重建发束:

XGen Interactive 重建的 Gif 我们可以将这些转换后的描述直接导出为 Unreal 可以读取的 Alembic,但是这些链不会应用任何属性或被分成不同的组 ID。

UE 中的原始新郎资产图像 这个新郎只有 1 组,没有 RootUV 属性,也没有自定义指南。我们可以应用 Unreal 从Epic 文档 上的代码片段中读取的属性。https://dev.epicgames.com/docume ... ication_version=5.3请注意,此代码适用于 Python2,未经编辑将无法在 Maya 2022 及更高版本上使用。
安德鲁·乔瓦尼尼 (Andrew Giovannini) 制作了一个精彩的视频,介绍了如何将这些属性应用到你自己的新郎身上。要应用 Epic 文档中的 3 个属性,您需要一个带有 UV 的“头皮”网格、一个带有指南的 xgGroom 组和导入的 xgen 交互式修饰。我通常会将这些曲线组重命名为更易于使用的名称。 https://www.youtube.com/watch?v=fw7ZSW4naR0

应用属性之前的曲线场景图像

带 UV 的头皮网格图像 Unreal 需要的 3 个属性是decorator_guides、groom_root_uv和decorator_guide_id– 我按这个顺序应用它们。指南是引擎将模拟的内容,然后根据它们到最近指南的范围应用于周围的线束。我只需要辫子指南,因为可以使用引擎中生成的指南模拟边缘。
Groom Root UV 会获取头皮/头部网格(或任何网格)的 UV,并将其投射到发根上。这意味着您可以使用与头皮 UV 对齐的纹理来实现诸如高亮部分或颜色变化等效果。
Groom Guide ID 可让您将发型的各个部分分组到不同的 ID 中。然后这些 ID 可以具有不同的模拟设置或应用不同的材质。
请注意,我有 3 个描述涵盖头发的“顶部”部分,我只希望将它们导出为 1 个组 ID。我在将这些描述导出为 1 个 ID 时遇到了问题,同时保留了 RootUV 属性。

顶部三个块的图片 我对此的解决方法(在 Andrew Giovannini 的帮助下)是手动将 decorate_group_id 属性应用于这 3 个块,默认值为 2(这意味着它将作为 Groom 资产中的第三组导入)。然后将原始的 decorate_group_id 脚本应用于 Pigtails 和 Fringe,作为 group_id(0 和 1)。



代码更改的图像请注意,我需要在应用 group_id 属性之前将 RootUV 属性应用于这些曲线。

曲线场景图像,带有我如何对曲线进行分组的颜色代码 我没有重新设置任何曲线的父级,因为这会导致我的 RootUV 属性出现问题,但只是确保正确地对它们进行 group_id。应用这些属性后,您可以将曲线和指南导出为 alembic (.abc)。您不需要导出头皮。

导出选定图像 注意,记得将属性添加到导出设置中!

添加属性的图像 输入 当您将 alembic 导入 Unreal 时,它应该会显示导入选项。我们要检查状态是否有效,以及 Unreal 是否能够读取属性,并且这些属性是否有效并包含 RootUV。我们还应该能够从 grill_group_id 属性中看到组,其中一个组应该有导入的指南 - 这应该是 Group_0,这样我们就可以使用导入的指南进行模拟。

导入设置图片 请注意,您必须编辑转换设置以匹配这些:

变换设置图像 然后,我们可以打开 Groom 资产来检查各组的顺序是否正确。使用 Groom 调试视图,我们可以看到按颜色排列的组。

UE 中的群组图像

UE 中的群组图像并且指南已正确导入。注意,要检查“导入的指南”与“生成的指南”,我们需要打开“启用模拟”。

检查指南的 Gif 请注意,指南仅对组 0 起作用 - 这就是为什么我要小心按照顺序应用 group_id,以便尾纤为组 0,并且尾纤的模拟可以由自定义指南驱动。我们还可以通过调试模式查看 RootUV 是否正常工作。

ootUV 调试的图像我们可以看到 rootUV 在头发上看起来很平滑。如果应用不当,会有一些区域没有数据(灰色)或颜色数据单调。模拟
模拟发束只需每个组 ID 的一个切换按钮,这意味着您可以关闭不需要移动的头发部分的模拟 - 比如这里的顶部。模拟由指南驱动。根据最近的指南模拟股线。指南根据实际梳理的百分比自动生成,但您可以将其设置为使用导入的指南(仅适用于 Group0)

动图显示了如何设置指南,其中显示了曲线的抽取和导入指南的使用 我建议尝试不同的值并看看它们对线束的影响。使用新郎如果您只想渲染静态图像,只需将头发置于静态网格之下并重置变换即可。但是,如果您想让头发随骨架网格一起移动,我们需要将其设置为与网格配合使用。 首先,我们创建一个绑定资产,它将把您选择的修饰绑定到指定的骨架网格。右键单击修饰资产并选择创建绑定资产。然后选择要将修饰绑定到的骨架网格。



装订图像然后,利用场景中的骨骼网格,我们可以从细节面板中添加 Groom 组件。

详细信息面板图像有了groom组件,我们要做的就是将groom资源和绑定资源插入到相应的插槽中。

添加资产的 Gif现在,Groom 将跟随骨骼网格及其使用的任何动画。

动画后的股线 Gif迈苏姆材料Epic 创建了一款适用于大多数新郎的发束着色器,可通过 Epic Marketplace 购买。

超人类搜索的图片只需搜索 Metahumans 并下载包含 2 个 metahuman 示例的 Metahumans 项目。您不需要插件或任何其他设置,只需示例资产即可。

需要下载的正确项目图片使用此资产包创建一个项目并打开它。

项目开工图片从这里,我们可以访问正在使用的着色器。对于 Groom,我们需要用于发束的材质实例的父材质。该材质应称为 M_hair_v4

获取父级材质的 Gif然后我们可以将这个父材料及其依赖项迁移到我们自己的项目中。

迁移图像请注意,当您迁移时,我们需要确保将材料发送到根“内容”文件夹。

迁移图像使用材质据我所知,Epic 的 Metahuman 着色器除了文档中分享的 3 个属性之外,还使用了其他属性。这意味着,在导入自定义修饰时,高光、渐变和纹理等功能将不起作用。为了解决这个问题,我构建了一个自定义着色器,它使用了 Metahuman 着色器的大部分功能,同时添加了我自己的高光、根部、尖端和纹理值。默认情况下,groom 资源有 0 个材质槽,这意味着当你在编辑器中应用材质时,它将应用于所有内容。

默认材质图片添加材质插槽意味着我们可以将材质分配给修饰资产的不同组。要添加插槽,我们只需单击修饰资产材质部分中的 + 图标即可。

材料槽图像 这个发型资产有 3 个组,我想有 3 个材质槽,每个组一个。这样我就能很好地控制最终的头发外观。还值得重命名材质槽以备将来使用。

添加材料槽的图片现在我们可以在Strands选项卡中将这些材质槽分配给新郎的不同组。

分配材料的图像分配这些材料后,我们现在可以创建不同的材料并将它们应用到不同的材料槽中,进行大量定制。

申请材料gif注意事项您不能在多个组上使用自定义指南。如果您希望在多个组上使用自定义指南,则需要将其作为单独的修饰导入。Epic 的 Metahuman 头发着色器可以访问他们尚未在文档中分享的属性,因此某些值不适用于自定义新郎。 据我所知,你不能将物体(如发带)附着在发束上,我相信在不久的将来会有人分享一种解决方法。

我从这个细分中学到了很多东西,但我还有很多东西要学!而且由于 Epic 的文档感觉有点不完整,我可能遗漏了一些内容,或者使用了奇怪的解决方法来绕过它们。如果您有疑问或我没有解释清楚某些内容,请随时在Twitter 上给我留言




1                                 END
声明:本文章中所有的图片和视频都归原作者所有,仅供大家参考学习和交流,不作商业用途,侵删。如果你喜欢这篇文章,欢迎转发!谢谢!更多学习和交流可扫描下方二维码哦!

页: [1]
查看完整版本: 虚幻引擎5!制作Xgen角色头发到引擎全流程分享!-丨CG小苏