毛发渲染和模拟快速入门

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

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

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback