毛发造型(Groom) 系统主要用于处理导入的Alembic(.abc)文件中的毛发发束。但是,出于扩展考虑,它还支持发片、网格体等其他几何体形式来表现毛发。为方便设置,所有这些几何体表现类型都可以在单个资产和组件中管理。
毛发资产编辑器(Groom Asset Editor) 负责管理毛发的大部分内容,你可以用它来修改毛发的不同部分,确定其渲染方式以及物理模拟方式,或者创建并管理毛发的LOD。
打开毛发资产编辑器
要打开毛发资产编辑器,你可在内容浏览器中 双击毛发资产 ,或者使用 毛发资产的上下文菜单 打开。

毛发资产编辑器界面
毛发资产编辑器由这些区域组成:

- 视口显示选项(Viewport Display Options):包括视口选项、视图视角、视图模式、调试视图和LOD可视化选项。
- 视口(Viewport):显示毛发资产及其指定材质、细节层级和物理呈现。
- 细节面板(Details Panels):包括
视口显示选项
视口显示选项(Viewport Display Options) 工具栏提供基本的渲染和可视化选项。

视口选项
视口选项(Viewport Options) 下拉菜单提供视口中的基本渲染选项。你可以切换实时模式、更改视野和设置超采样的界面百分比。
这些选项和其他选项可以使用视口显示选项工具栏中的下拉 箭头 进行访问。

视角
视角(Perspectives) 下拉菜单提供透视和正交两种视图模式;透视视图相当于以普通3D视角显示关卡,而正交视角则是以2D视口的方式俯瞰关卡。

视图模式
视图模式(View Modes) 下拉菜单提供所有编辑器视口中通用的多种可视化选项,例如视口的光照、优化、材质和曝光数值控制。

如需了解这些可视化视图模式的更多信息,请参阅视口基础知识。
显示
显示(Show) 下拉菜单提供了与毛发资产编辑器相关的可视化选项,帮助你查看场景中要处理的数据类型,以及于此毛发相关的诊断错误或意外结果。

属性 | 说明 |
---|---|
导线(Guide) | 显示用于模拟的导线。 |
导线影响(Guide Influence) | 以彩色显示模拟中的毛发聚丛(所有受某根导线影响的发束)。 |
UV | 显示每个发束的UV。 |
根UV(Root UV) | 显示每个发束根部的UV。 |
根UDIM(Root UDIM) | 在每个发束的根部显示UDIM。 |
尺寸(Dimension) | 显示每个发束的宽度/长度变体。 |
种子(Seed) | (用彩色)显示每个发束使用的随机种子。 |
半径差异(Radius Variation) | (用彩色)显示发束的大小。蓝色表示较细的发束。黄色表示较粗的发束。 |
底色(Base Color) | 显示每个顶点存储的底色。如果建模应用导出的毛发不包含底色,发束将显示为黑色。 |
粗糙度(Roughness) | 显示每个顶点存储的粗糙度。如果建模应用导出的毛发不包含粗糙度,发束将显示为黑色。 |
Vis群集(Vis Cluster) | 显示用于剔除和细节层次用途的毛发群集。 |
发片导线(Cards Guide) |
显示(Show) 下拉菜单中有一些可视化示例。
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
导线 | 种子 | 半径变体 | 底色 |
LOD
LOD下拉菜单允许你自动调节视口中的细节层次,或者以某一个指定的细节层次来显示毛发。

使用“LOD自动(LOD Auto)”选项时,LOD会根据细节层次(Level of Detail)面板中指定的选项自动切换。此选项根据LOD在视口中的屏幕尺寸来自动切换LOD。或者忽视毛发的屏幕尺寸,使用下拉菜单从已经生成的可用LOD中选择,查看它们的效果。
视口
在 视口(Viewport) 中,你可以查看导入的毛发资产,并在其不同的细节面板中进行更改;你还可以使用不同的可视化和调试模式来检验毛发。
如需了解视口导航和可视化技巧的更多信息,请参阅编辑器视口。
细节面板
毛发资产编辑器中包含多个 细节(Details) 面板,用于控制与毛发有关的多种特性。
探索下面的面板,了解可用的特性、属性和选项:
细节层次
细节层次(Level of Detail,LOD) 面板控制毛发在各个细节层级上的删减程度。这包括控制LOD在何种屏幕尺寸时进行更改,以及使用哪种类型的几何结构来表示(发束、网格体或发片)。

属性 | 说明 |
---|---|
LOD [N] | |
曲线删减(Curve Decimation) | 通过减少发束数量来删减毛发。移除的发束是从导入的毛发发束中随机选择的。 |
顶点删减(Vertex Decimation) | 通过移除发束上的顶点来删减毛发。 |
角阈值(Angular Threshold) | 定义了删除顶点时,两个连续发束片段之间的最大角度值。数值越大,删减就越多。 |
屏幕尺寸(Screen Size) | LOD在低于该屏幕尺寸后将会被启用。 |
厚度缩放(Thickness Scale) | 你可以增加发束的厚度,以弥补被删除的发束曲线。厚度缩放值负责控制计算补偿时所用的自动缩放值。 |
可视性(Visible) | 切换此LOD的可视性。 |
几何体类型(Geometry Type) | 设置将使用哪种类型的几何体来呈现此细节层次。在以下选项中进行选择:
|
发簇世界尺寸(Cluster World Size) | 定义发簇的平均大小(在世界空间中)。毛发会被划分成多个发簇,以便LOD的选择和剔除更加精细。 |
发簇屏幕尺寸缩放(Cluster Screen Size Scale) | 缩放发簇的投影屏幕(projected screen),以便微调其细节层次选择。 |
LOD | |
LOD选择类型(LOD Selection Type) | 设置LOD的选择发生在 CPU 还是 GPU 上。选择CPU后,发束的LOD会更加粗糙,但支持所有类型的几何表现方式(发束、发片和网格体)。选择GPU后,LOD更加精细,但仅支持发束类型的几何体。 |
最低LOD(Minimum LOD) | 指定烘培的最低LOD(全平台);或通过 增加(Plus) 按钮,调整各平台的最低LOD。 |
禁用低于最低LOD时删除(Disable Below Min LOD Stripping) | 设置一个标记,覆盖在LOD低于 最低 LOD(Minimum LOD) 时删除LOD的操作,影响范围是全平台。或用 增加(Plus) 按钮来指定平台设置。 |
要在编辑器视口中预览各个LOD,请在视口中单击 LOD自动(LOD Auto) 按钮,然后选择所需的LOD:
![]() |
![]() |
---|---|
更高的LOD | 导入的网格体LOD更低 |
插值
插值(Interpolation) 面板用用于修改毛发初始导入期间的某些属性设置。

属性 | 说明 |
---|---|
毛发组 | |
曲线删减(Curve Decimation) | 通过减少发束数量来删减毛发。所移除的发束是从毛发的导入发束中随机选择的。 |
顶点删减(Vertex Decimation) | 通过移除发束上的顶点来删减毛发。 |
覆盖导线(Override Guides) | 启用后会覆盖导入的导线,并选择发束的一个子集作为导线。 |
毛发导线密度(Hair to Guide Density) | 定义用作导线的发束的比率。 |
插值质量(Interpolation Quality) | 定义将导线动作插值到发束上时,插值的质量。 |
插值距离(Interpolation Distance) | 定义用于将导线和发束配对在一起时的距离。 |
随机化导线(Randomize Guide) | 启用后,用于插值的导线将会轻度随机化,以避免可能发生的毛发聚丛。 |
用户唯一导线(User Unique Guide) | 启用后,可以使用单一导线来执行动作插值。 |
插值 | |
RBF插值(RBF Interpolation) | 启用后,使用径向基函数(Radial Basis Function,RBF)进行插值,而不是使用本地蒙皮刚体变换( local skin rigid transform)。 |
毛发插值类型(Hair Interpolation Type) | 选择将毛发绑定到骨架网格体时,要使用的插值类型:
|
发束
发束(Strands) 面板负责控制与毛发发束几何体有关的各种渲染属性。你可以为毛发设置材质,更改毛发发束的关键属性(例如宽度,根部和末端比例),以及启用光线追踪。

属性 | 说明 |
---|---|
材质(Material) | 用于展现发片使用不同LOD时的材质。 |
毛发宽度(Hair Width) | 更改发束大小。此数值对应发束的最大宽度。默认数值来自于导入的毛发。 |
毛发根部刻度(Hair Root Scale) | 延展发束的宽度,从发束的根部开始到末端,逐步变小。 |
毛发根部比例(Hair Root Scale) | 缩放发束的宽度,从发束的顶部到根部逐步变小。 |
毛发剪断比例(Hair Clip Scale,已废弃) | 在距发束根部一定距离处剪断毛发。 |
毛发阴影密度(Hair Shadow Density) | 缩放毛发密度,使毛发上的阴影和透射效果均匀地变弱或变强。 |
毛发光线追踪半径比例(Hair Raytracing Radius Scale) | 在使用光线追踪阴影时缩放发束的宽度。 |
体素化(Voxelize) | 启用后,对毛发束进行体素化处理,从而提供更加准确的光照计算。 |
使用稳定光栅化(Use Stable Rasterization) | 启用后,发束的噪点更少,但可能显得有点厚。 |
散射场景光照(Scatter Scene Lighting) | 启用后,发束会使用下方的场景光照作为光源。此属性适用于非常短的毛发,例如人体毫毛。 |
发片
你可以在 发片(Cards) 面板中设置发片使用的几何体和纹理,并指定应该由引擎程序化生成发片,还是使用导入的发片。

属性 | 说明 |
---|---|
材质(Material) | 用于发片呈现LOD的指定材质。 |
源类型(Source Type) | 选择要使用的发片类型:
|
程序性网格体(Procedural Mesh) | 发片几何体的网格体参考。 |
导入网格体(Imported Mesh) | 发片几何体的网格体参考。 |
程序性设置(见下文) | |
纹理 | |
深度纹理(Depth Texture) | 用于发片资产的深度纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
覆盖纹理(Coverage Texture) | 用于发片资产的覆盖纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
切线纹理(Tangent Texture) | 用于发片资产的切线纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Attributes node节点。 |
属性纹理(Attribute Texture) | 用于发片资产的特性纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
辅助数据纹理(Auxiliary Data Texture) | 此辅助纹理允许为发片资产传输用户数据。这是可选的纹理,一旦设置,其值会转发到材质编辑器中的 Hair Attributes 节点。 |
组索引(Group Index) | 将此发片的几何体映射到的组索引 |
LOD索引(LOD Index) | 应使用此发片资产的LOD索引。 |
程序化生成
此功能是试验性的。根据毛发的复杂程度,输出结果可能会有很大的不同。
程序性(Procedural) 选项根据毛发中的发束生成发片。你可以指定 几何体(Geometry) 和 纹理(Texture) 属性,用于确定如何为毛发生成发片。

属性 | 说明 |
---|---|
几何体设置 | |
生成类型(Generation Type) | 选择是使用导线还是发束来生成发片。选择发束时,将使用随机选择方式来生成发片。 |
发片计数(Cards Count) | 确定在“生成类型(Generation Type)”设置为 发片计数(Cards Count) 时生成多少发片。 |
发簇类型(Cluster Type) | 定义如何组合块来生成发片。选择“高”或“低”。“高”将创建更加完善的块,但处理速度较慢。 |
最小片段长度(Min Segment Length) | 定义两个连续发片片段之间的最小长度。 |
角阈值(Angular Threshold) | 定义两个连续发片片段之间的最大角度值。较高的数值可以减少发片删减的几何复杂程度。 |
最小发片长度(Min Cards Length) | 将移除长度小于此阈值的发片。 |
最大发片长度(Max Cards Length) | 将移除长度大于此阈值的发片。 |
纹理设置 | |
图集最大分辨率(Atlas Max Resolution) | 生成的发片图集的最大分辨率。此数值仅是发片生成器的建议值,非强制要求。 |
每厘米像素(Pixel Per Centimeters) | 设置用于生成发片图谱的像素密度(或精度)。 |
长度纹理计数(Length Texture Count) | 要生成的聚丛变体数量。 |
生成程序性发片
使用以下步骤生成程序性发片资产:
- 使用下拉菜单将 源类型(Source Type) 设置为 程序性(Procedural)。
- 设置要为其生成发片的 组索引(Group Index) 和 LOD索引(LOD Index)。例如,如果LOD 2要使用发片而不是发束,则需要使用2作为索引。
- 在 源类型(Source Type) 下拉菜单下,按 刷新(Refresh) 按钮生成“卡资产”。
- 在 源类型(Source Type) 下拉菜单下,按 保存(Save) 按钮保存和重载“卡资产”。
网格体
网格体面板负责管理毛发资产中各个LOD使用的网格体几何体。此面板会列出所有网格体几何体,但并非所有列出的几何体都是必须使用的。

属性 | 说明 |
---|---|
材质(Material) | 用于发片呈现LOD的指定材质。 |
导入网格体(Imported Mesh) | 要引用的指定网格体几何体。 |
纹理 | |
深度纹理(Depth Texture) | 用于发片资产的深度纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
覆盖纹理(Coverage Texture) | 用于发片资产的覆盖纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
切线纹理(Tangent Texture) | 用于发片资产的切线纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
特性纹理(Attribute Texture) | 用于发片资产的特性纹理。此纹理是可选的,但一旦设置,其值会转发到材质编辑器中的Hair Attributes节点。 |
辅助数据纹理(Auxiliary Data Texture) | 此辅助纹理允许为发片资产传输用户数据。这是可选的纹理,一旦设置,其值会转发到材质编辑器中的 Hair Attributes 节点。 |
组索引(Group Index) | 将此发片的几何体映射到的组索引。 |
LOD索引(LOD Index) | 应使用此发片资产的LOD索引。 |
LOD | |
最低LOD(Minimum LOD) | 指定要为所有平台调配的最低细节LOD,或通过使用 增加(Plus) 按钮来增加LOD,为各个平台指定具体最小值。 |
材质
材质(Materials) 面板定义了毛发资产可以使用的材质。
使用 添加(Add) (+)按钮添加新材质引用。在“插槽名称(Slot Name)”中输入材质的名称,否则将使用指定的默认材质名称。

发束(Strands)、网格体(Meshes)和发片(Cards) 面板中的 材质(Material) 插槽允许你从引用的材质中进行选择。

物理
物理(Physics) 面板提供了多种设置,可用于启用物理模拟以及修改毛发的运动行为。

属性 | 说明 |
---|---|
解算器设置 | |
启用模拟(Enable Simulation) | 为毛发资产启用物理模拟。 |
Niagara解算器(Niagara Solver) | 选择要用于模拟的Niagara解算器。从 Groom Rods、Groom 弹簧(Groom Springs) 和 自定义解算器(Custom Solver) 中选择。 |
自定义系统(Custom System) | 若Niagara解算器设置为自定义解算器,则添加要使用的自定义Niagara系统。 |
子步骤(Sub Steps) | 每帧要完成的子步骤数。实际的解算器调用以每秒24帧的速度完成。 |
迭代计数(Iteration Count) | 用xpbd解算器解算约束的迭代数。 |
外力 | |
重力矢量(Gravity Vector) | 用于重力的加速度矢量,测量单位为cm/s2。 |
空气阻力(Air Drag) | 0到1之间的系数,用于空气阻力。 |
空气速度(Air Velocity) | 周围空气的速度,单位为cm/s。 |
材质约束:弯曲约束 | |
解算弯曲(Solve Bend) | 在xpbd循环期间启用弯曲约束的解算。 |
投影弯曲(Solve Bend) | 在xpbd循环后启用弯曲约束的投影。 |
弯曲阻尼(Bend Damping) | 对弯曲约束施加的介于0到1之间的阻尼。 |
弯曲刚度(Bend Stiffness) | 弯曲约束的刚度,单位为GPa。 |
刚度范围(Stiffness Scale) | 该曲线可确定每个束的弯曲刚度。X轴范围是0,1。0映射到根部,1映射到梢部。 |
材质约束:拉伸约束 | |
解算拉伸(Solve Stretch) | 在xpbd循环期间启用拉伸约束的解算。 |
投影拉伸(Project Stretch) | 在xpbd循环后启用拉伸约束的投影。 |
拉伸阻尼(Stretch Damping) | 约束介于0到1之间的阻尼。 |
拉伸刚度(Stretch Stiffness) | 拉伸约束的刚度,单位为GPa。 |
刚度范围(Stiffness Scale) | 该曲线可确定每个发束的拉伸刚度。X轴范围是0,1。0映射到根部,1映射到梢部。 |
材质约束:碰撞约束 | |
解算碰撞(Solve Collision) | 在xpbd循环期间启用碰撞约束的解算。 |
投影碰撞(Project Collision) | 在xpbd循环后启用碰撞约束的投影。 |
静态摩擦(Static Friction) | 用于物理资产碰撞的静态摩擦。 |
动态摩擦(Kinectic Friction) | 用于物理资产碰撞的动态摩擦。 |
束粘度(Strands Viscosity) | 用于自碰撞的介于0和1之间的粘度。 |
网格有效维度(Grid Dimensions) | 用于计算粘度力的网格有效维度。 |
碰撞半径(Collision Radius) | 用于物理资产碰撞检测的半径。 |
半径范围(Radius Scale) | 该曲线可确定每个发束的碰撞半径。X轴范围是0,1。0映射到根部,1映射到梢部。 |
发束参数 | |
发束大小(Strands Size) | 用于模拟的每根导线上的粒子数。 |
发束密度(Strands Density) | 束密度,测量单位为g/cm3。 |
发束平滑(Strands Smoothing) | 传入导线曲线介于0至1之间的平滑度,旨在提升稳定性。 |
发束厚度(Strands Thickness) | 束厚度(单位为厘米),用于计算质量和惯性。 |
厚度范围(Thickness Scale) | 该曲线可确定每个束的束厚度。X轴范围是0,1。0映射到根部,1映射到梢部。 |