Houdini版MetaHuman Groom初学者套件展示了如何创作与MetaHuman兼容的Groom,并将其应用到MetaHuman角色或在Fab上发布。 该套件提供了一个示例来介绍如何在Houdini中创建并设计Groom,以便导出并集成到虚幻引擎的基本Groom设置中。
其中包括了可使用Groom的Houdini场景,附带MH Groom视口光源和MH Groom工作空间等工具,并涵盖了从特性绘制、Groom制作、视口可视化到使用MH Groom导出工具进行Groom导出等各项关键工作流程。
先决条件
Houdini 20.5或更高版本,附带Houdini Labs。
已安装MetaHuman for Houdini。 若未安装此Houdini插件,打开场景时会报错。
从Fab下载Houdini版MetaHuman Groom初学者套件。
虚幻引擎5.6或更高版本。
Houdini项目
初学者套件包含了一个名为Houdini_Groom_Template的Houdini项目。 其中包含了.hip场景MH_Groom_Template。 此模板场景自带一份基本Groom图表,其中包含了生成和导出兼容MetaHuman的Groom所需的全部必要工具,以及将Alembic格式的Groom文件重新导入到Houdini中所需的工具。
在Houdini 21之前的版本中打开此Houdini场景将在启动时引发提及vex严格变量的警告。 但是,这些问题不会影响你的工作,它们是由Houdini 21工具的依赖性导致的。
在Houdini中打开该场景时,该Groom图表应该如下所示:
该场景包含了数个节点;即一个名为Skin的几何体节点、MH Groom视口光源工具、MH Groom导出和MH Groom导入工具、多个名为导线(guides)和发束(strands)的MH Groom工作空间,以及assembly_groom。
MH Groom Head
MH Groom头部HDA存在两个版本,最新的模板场景将加载MH_Groom_Head(Houdini 21),使用Houdini 20.5的用户应出于兼容性原因将HDA切换为加载MH_Groom_Head(Houdini 20)。
在名为Skin的几何体节点中有MH Groom头部工具。 该节点包含了 MH Groom头部 几何体,即默认的Groom制作头部几何体。 该几何体包括了头部网格体和眼睛资产,如眼球、眼壳、眼边缘和软骨等。 该工具还包含了许多用于编辑和可视化头部几何体的参数。
Houdini 21提供了一个选项,可以从导出的MH角色导入自定义MH头部。 此外,自定义头部几何体可以导入为.fbx或.abc文件。 如果拓扑与MH Groom头部兼容,它们将在工具中正常工作。
你可以使用预定义区域作为眉毛、睫毛、头发(头皮)和面部毛发(脸部)的Groom制作几何体。 每个区域都有单独的输出。 所有区域以及整个头部几何体都可以被细分。 当将皮肤特性被绘制到点上时,建议执行此操作。 头部工具还提供带耳朵和不带耳朵的体素数据库(VDB),这是许多其他工具正常运行所必需的项目,主要供碰撞几何体使用。 用户可以在该工具的VDB选项卡中设置体素的大小。但默认值就能够应付大多数情况。
Skin节点同时还包括了Attribute Paint节点,即Houdini用来绘制特性的原生工具。 在此例中,Attribute Paint被用来将密度特性绘制到头皮区域的点上。
MH Groom Viewport Lights
MH Groom视口光源工具包含了多种渲染和光照预设,可供视口的可视化使用。 另外,该工具还提供了多种背景颜色以及光照和摄像机设置参数,以供对预设进行自定义。
MH Groom工作空间
另一款实用工具是MH Groom工作空间。 该工具非常适合充当Groom图表的容器。 工作区域包含了多个输入和输出项,可用于从其他工作空间(如发束(Strands)、导线(Guides)、皮肤(Skin)以及皮肤体素数据库(Skin VDB))中引用几何体。 输出节点可以被图表中的其他节点或其他MH工作空间所引用。
你可以使用节点选择引用SOP几何体还是MH工作空间, 同时还可以初始化MH Groom头部的Groom制作。
工作空间还提供了数套毛发着色器预设,用于优化Groom图表发束输出的可视化效果。
用户可以设置特性并将其应用到导线、发束和皮肤上,然后检查Groom的统计数据。
模板场景中多次使用了MH Groom工作空间,以达成不同的目的:
导线(Guides)工作空间包含了为Groom而创建的所有导线数据。 本例中使用了 Guide Groom 工具来生成导线并为其塑形。 导线(Guides)工作空间还引用了Skin几何体节点中的Out Head和Out Skin VDB节点。 输入中的Skin和Skin VDB空值被连接到了Guide Groom,而其输出则被连接至工作空间的输出节点。
发束(Strands)工作空间包含了发束Groom图表、Hair Generate节点(负责使用导线曲线、皮肤几何体、皮肤VDB输入来散射和生成插值毛发),以及Guide Interpolation Mesh节点。 Resample节点用于调整各条曲线的点数,Guide Process节点用于对插值毛发设计造型。
组装Groom(Assembly Groom)工作空间用于将在不同工作空间中编译的图表组装到一起,以供在之后进行导出。
MH Groom导出
MH Groom导出工具会将Groom数据导出为Alembic文件。
MH Groom Import
MH Groom导入工具用于导入Alembic文件。 它执行的操作与导出工具相反,会将Groom缩放并变换回使用Z轴向上的状态,从而使其与Houdini单位保持一致。
另外,导入工具还会依据发束阈值(Stands Threshold)和导线阈值(Guides Threshold)判断是否存在重叠的曲线。 如果存在重叠,用户可以选择 忽略(Ignore)、标记(Mark), 或修复(Repair)。
虚幻引擎项目
初学者套件所提供的虚幻引擎项目包含一个使用基本光照设置的关卡,以及一个MH Groom Head骨架网格体,该网格体附带有指定的Groom资产、Groom绑定以及MetaHuman衣柜物品。
Groom资产
Alembic文件Hair_MyGroom包含基本的特性:groom_width、groom_rootuv、groom_group_id、groom_id以及groom_guides。 Houdini的MH Groom导出工具同时还支持使用Alembic文件导出其他特性。
Hair_MyGroom Groom资产是通过将Alembic文件Hair_MyGroom导入到虚幻引擎中所制作的。
Hair_MyGroom Groom资产包含MI_Hair材质,该材质由材质(Materials)选项卡指定。 MI_Hair是一种兼容MetaHuman的毛发材质实例。
Groom绑定
SKM_MH_Groom_Head属于骨架网格体,对应Houdini的MH Groom Head网格体,而后者是Houdini工具MH Groom Head所提供的默认Groom制作网格体。
SKM_MH_Groom_Head可以用作绑定资产中的源骨架网格体或目标骨架网格体。 为了将Groom资产精确地附着在骨架网格体上并随其移动和变形,你需要创建Groom绑定。
如果目的是将Groom附着到SKM_MH_Groom_Head,则应将该骨架网格体指定为Groom绑定的目标骨架网格体。
如果目的是将Groom附加到另一个兼容MetaHuman的头部骨架网格体,则应将SKM_MH_Groom_Head指定为源骨架网格体,并将该兼容MetaHuman的头部骨架网格体指定为目标骨架网格体。
如果目的是在虚幻引擎的MetaHuman Creator中使用该Groom,则应将SKM_MH_Groom_Head同时指定为源和目标骨架网格体。
设置Groom绑定资产后,你就可以将Groom资产分配给关卡中的头部骨架网格体。 这时SKM_MH_Groom_Head会被导入到关卡中并为其分配Groom组件。 Hair_MyGroom Groom资产会被分配到Groom资产(Groom Asset)插槽,GB_Hair_MyGroom则被分配到"绑定资产(Binding Asset)"插槽。 设置好这几项后,Hair_MyGroom就会随SKM_MH_Groom_Head一起移动和变形。
MetaHuman打包文件
初学者套件还自带一个MetaHuman打包文件(.mhpkg),即打包兼容MetaHuman资产以供在Fab上买卖所用的格式。 如果你要制作兼容MetaHuman的Groom并出售,那么请以该打包文件为例,学习如何打造Groom资产以供打包。
将此文件拖放到虚幻引擎的内容浏览器中,即可将内容添加到项目中。
添加到项目后,你会看到一个Hair_MyGroom文件夹,其中包含一项Groom绑定(GB_Hair_MyGroom)和MetaHuman衣柜物品(WI_Hair_MyGroom)。 子文件夹Hair_MyGroom包含所有依赖文件,Groom资产(Hair_MyGroom)就是其中之一。 子文件夹GroomMesh包含制作Groom的头部骨架网格体 SKM_MH_Groom_Head, 以及附带的骨架和物理资产,而 Materials 子文件夹包含所有毛发和头部材质、材质函数和纹理。
MetaHuman衣柜物品资产包含与Groom相关的所有信息,旨在用于MetaHuman Creator中的角色衣柜。 当角色穿着的装束含有相关Groom时,该资产让你可以对该Groom进行自定义。 它引用了Groom绑定资产,从而确保了Groom能随着MetaHuman角色的头部而移动和变形。 你还可以为其配置次要颜色以及材质重载项。 烘焙的Groom纹理可被配置为按指定的LOD显示。 MHC Groom缩略图和显示名称也需要在MetaHuman衣柜物品中设置。