Choose your operating system:
Windows
macOS
Linux
传统的实时毛发是使用基于卡的渲染或其他类似技术创建的。 在基于卡的工作流中,少量的大型平整板片用于提供大量单独毛发的大致形状和运动。 使用新的 毛发渲染与模拟 功能,可渲染各个单独发束。单独渲染每根毛发可大幅提高实时模拟毛发的视觉逼真度。
虽然毛发Groom当前不存在标准文件格式,但此更新提供了基于命名惯例的方案,以使用Alembic文件摄取从DCC工具导入的Groom数据。 本更新还提供对单个Alembic文件中的多个毛发组(例如头发、绒毛、胡须、睫毛和眉毛)、一流的毛发着色器和渲染系统,以及使用Niagara的动态集成的支持。
本更新旨在最低限度地实现发束导入、渲染和模拟。本更新不提供毛发梳理解决方案。毛发的定型或梳理需在外部DCC工具中执行,例如Maya中的XGen、Ornatrix、Yeti、刮脸和理发或Houdini。
HairWorks用户
NVIDIA提供了名为HairWorks的毛发解决方案。HairWorks包含DCC工具集成和毛发实时渲染与模拟。自4.16版起,UE4中的HairWorks就被弃用了,新的毛发渲染与模拟功能的长期计划是,帮助为目前正在使用HairWorks集成的用户提供迁移途径。
UE4的上一个可用的官方NVIDIA版HairWorks是4.16版,但网上已出现各种补丁和升级(尽管这些都不受官方支持)。
此实现并非HairWorks的直接替代品,仅是外部DCC工具中梳理毛发的渲染与模拟功能的临时解决方案。
在项目中启用毛发
要在项目中使用毛发,必须启用以下设置和插件。
项目设置
转至 编辑(Edit) > 项目设置(Project Setting),打开项目设置。在 渲染(Rendering)> 优化(Optimizations) 中,启用 支持计算皮肤缓存(Support Compute Skin Cache)。
需重启编辑器,以使这些设置生效。
插件浏览器
转至 编辑(Edit) > 插件(Plugins),打开插件浏览器窗口。在 几何体(Geometry) 类别下,启用这些插件:
Alembic Groom Importer
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的方案。
毛发属性材质表达式示例
为了正确渲染毛发几何体,需要将指定材质的 着色模型(Shading Model) 设为 毛发(Hair)。
您还需要在用途类别下启用 使用发束(Use with Hair Strands)。这应在应用于Groom时自动启用,若未自动启用,可手动启用。
以下是使用 Hair Attributes 表达式的毛发材质示例:
绑定资产
绑定资产用于将Groom组件添加并蒙皮到骨骼网格体上。通过这种方法,Groom可以指定给需要用到它的骨骼网格体,还能指定给享有相同拓扑的骨骼网格体。
是否创建绑定资产来将Groom绑定到骨骼网格体上完全由你自己决定。不过,假如你不提供绑定资产,投射就会实时完成,进而会在启动时产生较大的GPU开销。
在内容浏览器中右键点击 Groom资产(Groom Asset) 并在快捷菜单中选择 创建绑定(Create Binding)。在创建绑定时,请使用 Groom绑定选项(Groom Binding Options) 窗口指定 目标骨骼网格体(Target Skeletal Mesh) 和 源骨骼网格体(Source Skeletal Mesh)。
创建绑定资产时,必须指定 目标骨骼网格体(Target Skeletal Mesh),否则在此期间不会创建任何绑定。
毛发物理和Niagara
要对角色毛发应用物理效果,可打开Groom资产,并在 毛发物理效果(Hair Physics) 分类下的解算器设置(Solver Settings)中勾选 启用模拟(Enable Simulation)。
调试毛发
使用以下控制台变量调试项目中的毛发:
控制台变量 |
说明 |
---|---|
|
启用以下命令模式之一,将有关毛发渲染的各种统计信息和调试信息绘制到屏幕:
|
|
启用此命令以渲染场景中发束的选定调试模式:
|
已知限制
帧率取决于groom大小、分辨率,以及采用的底层硬件。例如,对于1080p的人类groom,底层硬件应为2080Ti,帧率30Hz或更高。
视图模式尚不支持毛发。
多视图(毛发在多个开放窗口上可见)尚不受支持,或会导致出现瑕疵。