毛发渲染和模拟快速入门

在项目中对角色使用毛发渲染和模拟的指南。

Windows
MacOS
Linux

毛发渲染和模拟指南重在帮助你了解虚幻引擎4中在蒙皮网格体上处理毛发梳理的基础知识。

在阅读完此教程后,你将了解如何:

  • 设置项目进行毛发渲染和模拟。

  • 设置Groom用于带动画的骨骼网格体。

  • 设置简单的 毛发 材质。

  • 启用并控制毛发物理效果。

1 - 必要设置

  1. 虚幻项目浏览器 新建项目并创建一个 第三人称(ThirdPerson) 模板项目。

  2. 在编辑器中,前往主菜单并选择 编辑(Edit) > 项目设置(Project Settings),打开项目设置(Project Settings)窗口。 在 渲染(Rendering) > 优化(Optimization) 分类下,启用 支持计算皮肤缓存(Support Compute Skin Cache)

    1_1_ProjectSettings.png

    由于下一步也需要重启编辑器,可忽略编辑器窗口右下角弹出的 立即重启(Restart Now) 按钮。

  3. 接下来再次前往主菜单,这次选择 编辑(Edit) > 插件(Plugins),打开插件(Plugins)浏览器窗口。

    1_2_Plugins_a.png

    在搜索栏中搜索术语"梳理(Groom)",或在左侧面板中选择 几何体(Geometry)类目,并启用以下插件:

    • Alembic Groom导入器

    • Groom

  4. 重启编辑器,让项目设置(Project Settings)和插件(Plugins)的更改生效。

    1_3_Restart.png

2 - 创建和导入Groom

即便是简单角色也可以拥有不同类型的毛发,例如头发、胡子、眉毛等。每种类型的毛发皆拥有各自的材质和物理设置。每个分组中也有不同类型的毛发,例如模拟期间将使用的毛发。梳理期间可在DCC应用中定义此信息,UE4将查看此信息来定义导线。

  1. 在你选择的DCC应用中创建Groom,然后将其导出为Alembic(.abc)文件格式。

    利用Alembic for Grooms规范 ,根据正确的命名规范对Groom进行设置,以便在UE4中使用。

  2. 在内容浏览器中点击 导入(Import) 按钮导入Alembic文件和梳理。

    2_2_ImportGroom.png

  3. 在Groom导入选项(Groom Import Options)窗口中点击 导入(Import)

    2_3_GroomImportOptions.png

在导入过程中,Groom系统将查找符合Alembic for Grooms 规范页面中所述的Alembic命名惯例的属性和组,并导入到新的Groom资产中。

3 - 设置骨骼网格体的Groom

这部分指南将使用 ThirdPerson 模板中的 SK_Mannequin。若未找到,可在内容浏览器中点击 新增(Add New) > 添加功能或内容包(Add Feature or Content Pack),并选择 ThirdPerson 模板,即可将其添加到项目。

请注意:同样的设置也可适用于角色蓝图。

  1. 在内容浏览器中找到 SK_Mannequin 骨骼网格体并将其拖入场景。可在 Mannequin > Character > Mesh 文件夹下找到该骨骼网格体。

  2. 在场景中选中骨骼网格体,然后再细节面板中点击添加组件,添加一个 Groom 组件。

    3_2_AddGroomComponent.png

  3. 选中 Groom 组件。然后在 Groom 分段中,使用 Groom资产(Groom Asset) 将导入的毛发Groom指定给骨骼网格体。

    3_3_AssignGroomToSkelMesh.png

  4. 在相同的分段中,启用 将Groom绑定到骨骼网格体(Bind Groom to Skeletal Mesh)。启用后,Groom会调整位置并跟随它所绑定的骨骼网格体一起移动。

    3_4_EnableBindingToSkelMesh.png

    若要启用该属性,则 必须 在项目设置中启用 支持计算皮肤缓存(Support Compute Skincache)。否则该属性将不可用。

可选绑定资产

通过创建和指定绑定资产,你可以为骨骼网格体的Groom缓存项目数据。如果不使用绑定资产,则Groom的投影会在运行时完成,进而导致初始化时产生额外的GPU开销。

请按照以下步骤创建绑定资产:

  1. 在内容浏览器中,找到你的 Groom 资产。右键点击Groom并在快捷菜单中选择 创建绑定

    3A_1_MenuCreateBinding.png

  2. 接着会弹出一个 Groom绑定选项 窗口。要创建资产,你必须指定一个 目标骨骼网格体(Target Skeletal Mesh);你还可以根据情况,指定一个和目标骨骼网格体享有相同拓扑结构的 源骨骼网格体(Source Skeletal Mesh)。设置完这些选项后,点击 创建(Create)

    3A_2_GroomBindingOptions.png

  3. 在关卡中选中骨骼网格体。在 细节(Details) 面板的组件面板中选中 Groom 组件。在 Groom 分段中,确保启用 将Groom绑定给骨骼网格体(Bind Groom to Skeletal Mesh) 选项,然后将你创建的绑定资产指定给 绑定资产(Binding Asset) 插槽。

    3A_3_AssignBindingAsset.png

把绑定资产指定给Groom组件时,选项 将Groom绑定给骨骼网格体(Bind Groom to Skeletal Mesh) 会自动设置完毕,并且只要绑定资产处于使用状态,该选项就无法被禁用。

4 - 设置毛发材质

UE4默认包含带 HairDefaultMaterial 的简单毛发材质。

由于UE4包括默认毛发材质,因此以下步骤为本指南的可选内容。如之前并未设置过毛发材质,以下步骤将指导你完成所需的属性和设置。

  1. 在内容浏览器中点击 新增(Add New) 按钮,从下拉菜单中选择 材质(Material),并为资产命名。

    4_1_AddNewMaterial.png

  2. 在材质编辑器中,用 细节(Details) 面板执行以下设置:

    4_2_MatShadingModel1.png

    • 着色模型(Shading Model): 毛发(Hair)

    还需要启用 使用发束(Use with Hair Strands)。材质应用到梳理组件后,此复选框会自动启用,并重新编译材质。如未启用,可在材质编辑器中从"细节(Details)"面板的 使用(Usage) 类目中启用它。

  3. 在材质图表中,为基础 毛发 材质使用以下节点设置:

    4_3_MatGraphSetup.png

    为底色使用 Constant4Vector,并使用 常量 来控制粗糙度。

    若要设置更复杂的毛发材质,则在材质图表中使用 HairAttribute 表达式访问毛发属性,例如UV、尺寸(Dimensions)、RootUV、种子(Seed)。

  4. 保存并关闭 材质编辑器。

  5. 应用毛发材质有两种方式:通过关卡或蓝图中的相关细节(Details)面板直接在Groom资产组件上应用,或从内容浏览器中打开Groom资产。将毛发材质指定到 材质 元素槽。

    4_5b_MatGroomActor.png

    4_5a_MatGroomActor.png

    Groom资产Actor(细节面板)

    Groom资产(内容浏览器)

5 - 设置毛发物理特性

下一步,是为Groom资产启用物理模拟。

  1. 在内容浏览器中找到Groom资产并打开其属性编辑器。

  2. 在毛发物理分类中,勾选 启用模拟(Enable Simulation)

    HairPhysicsGroomSettings.png

启用后,就可以使用毛发物理分类下的属性控制毛发的物理属性了。

关于Groom资产属性的详情,请参见毛发渲染与模拟设置 参考页面。

启用后,就可以在编辑器中工作以及使用"在编辑器中运行"(PIE)或"在编辑器中模拟"模式时,看到毛发应用了物理效果。

Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见