传统的实时毛发是使用基于卡的渲染或其他类似技术创建的。 在基于卡的工作流中,少量的大型平整板片用于提供大量单独毛发的大致形状和运动。 使用新的 毛发渲染与模拟 功能,可渲染各个单独发束。单独渲染每根毛发可大幅提高实时模拟毛发的视觉逼真度。
虽然毛发Groom当前不存在标准文件格式,但此更新提供了基于命名惯例的方案,以使用Alembic文件摄取从DCC工具导入的Groom数据。 本更新还提供对单个Alembic文件中的多个毛发组(例如头发、绒毛、胡须、睫毛和眉毛)、一流的毛发着色器和渲染系统,以及使用Niagara的动态集成的支持。
本更新旨在最低限度地实现发束导入、渲染和模拟。本更新不提供毛发梳理解决方案。毛发的定型或梳理需在外部DCC工具中执行,例如Maya中的XGen、Ornatrix、Yeti、刮脸和理发或Houdini。
在项目中启用毛发
要在项目中使用毛发,必须启用以下设置和插件。
需重启编辑器,以使这些设置生效。
项目设置
转至 编辑(Edit) > 项目设置(Project Setting),打开项目设置。在 渲染(Rendering)> 优化(Optimizations) 中,启用 支持计算皮肤缓存(Support Compute Skin Cache)。
插件浏览器
转至 编辑(Edit) > 插件(Plugins),打开插件浏览器窗口。在 几何体(Geometry) 类别下,启用这些插件:
- Alembic Groom 导入器
- Groom
基本工作流
以下流程图描述将自己的毛发Groom导入UE4,并连接到可动画化的骨骼网格体角色的高级流程。
- 在喜好的DCC应用程序中创建毛发Groom。
- 将毛发Groom导出为Alembic (*.abc)文件。
- 将该Alembic Groom文件导入UE4。
- (可选)在内容浏览器中为你的骨架网格体创建一个绑定资产(Binding Asset)。
- 将Groom资产置于世界场景中(作为蓝图中的Actor)。
- 使用转移蒙皮将Groom组件(Actor)连接到骨骼网格体插槽。
- 设置并指定毛发材质
完成这些步骤后,就获得了交互式groom,可用于正在动画化的已连接骨骼网格体。
遵循毛发渲染与模拟快速入门指南以更详细地执行这些步骤。
有关设置毛发Groom以从/向UE4导出/导入的更多详情,参见Alembic for Grooms规格参考页面,其中包含有关启用UE4以直接导入groom的方案。
Groom资产
Groom 资产表示的就是你导入的Alembic (.abc) 文件中的毛发Groom,它们会保存在你的内容浏览器中。双击Groom资产打开 Groom资产编辑器。
Groom资产编辑器允许你管理并编辑Groom的部分效果。你可以:
- 指定材质
- 创建LOD网格体,用来表示发束、发片或毛发模型
- 启用和配置物理设置
- 用不同视图模式调试Groom
在内容浏览器中右击Groom资产,可以显示额外的 Groom操作选项:
- 重新构建 基于Groom导入选项,重新生成选定的Groom。
- 创建绑定 生成一个绑定资产,用于将Groom绑定到骨骼网格体上。
- 创建纹理 基于选定的Groom,为毛囊和发束创建纹理。
详情请参阅Groom资产编辑器。
生成发束纹理
Groom 资产允许你基于导入的Groom中的发束数据,创建纹理。你可以为你的骨骼网格生成一个毛囊遮罩,以便更好地将头发与网格体表面融合。你还可以创建多个发束纹理,以便创建毛发网格体或发片。
你的Groom可以用来生成纹理并应用到网格体上。
![]() |
![]() |
![]() |
|---|---|---|
| 深度纹理 | 切线纹理 | 添加了纹理的毛发网格体 |
详情请参阅生成Groom纹理。
设置毛发材质
为了让毛发模型正确渲染,需要为它指定一个材质,并且该材质的 着色模型 需要设置为 毛发。
你还需要在 “用途” 分类中启用 使用发束(Use with Hair Strands)。首次将材质指定给Groom时,该选项应该会自动启用。如果没有,请手动启用它。
下图是一个使用了 毛发属性(Hair Attributes) 表达式的毛发材质示例:
绑定资产
绑定资产用于将Groom组件添加并蒙皮到骨骼网格体上。通过这种方法,Groom可以指定给需要用到它的骨骼网格体,还能指定给享有相同拓扑的骨骼网格体。
在内容浏览器中右键点击 Groom资产(Groom Asset) 并在快捷菜单中选择 创建绑定(Create Binding)。在创建绑定时,请使用 Groom绑定选项(Groom Binding Options) 窗口指定 目标骨骼网格体(Target Skeletal Mesh) 和 源骨骼网格体(Source Skeletal Mesh)。
创建绑定资产时,必须指定 目标骨骼网格体(Target Skeletal Mesh),否则在此期间不会创建任何绑定。
启用物理模拟
为Groom启用物理模拟的方法如下:打开 Groom资产编辑器,在 物理(Physics) 面板中,在 解算器设置(Solver Settings) 下勾选 启用模拟(Enable Simulation)。
启用后,你就能设置Groom组件的各种物理选项。请参阅毛发属性参考了解详情。
调试毛发
使用以下控制台变量调试项目中的毛发:
| 控制台变量 | 说明 |
|---|---|
r.HairStrands.DebugMode |
启用以下命令模式之一,将有关毛发渲染的各种统计信息和调试信息绘制到屏幕:
|
r.HairStrands.StrandMode |
启用此命令以渲染场景中发束的选定调试模式:
|
已知限制
- 帧率取决于groom大小、分辨率,以及采用的底层硬件。例如,对于1080p的人类groom,底层硬件应为2080Ti,帧率30Hz或更高。
- 视图模式尚不支持毛发。
- 多视图(毛发在多个开放窗口上可见)尚不受支持,或会导致出现瑕疵。
HairWorks注意事项
使用NVIDIA毛发解决方案 HairWorks 的用户请注意,虚幻引擎从4.16版本开始已经停止了对HairWorks的支持。HairWorks 包含针对毛发的DCC工具集成、实时渲染以及毛发模拟。未来,我们打算在Groom系统中提供一个方案,让使用HairWorks集成的用户迁移到Groom。
在GitHub上,最后一个包含NVIDIA官方HairWorks工具的UE4版本是4.16。不过之后网上出现了各种升级补丁,但请注意,这些内容并不被官方支持。


