Groom可以具有多个细节级别(LOD),并且每个级别都可以使用发束、发片或网格体来表示。Groom的LOD数量在Groom资产编辑器的 LOD 面板中设置。发片和网格体几何体在各自的 发片(Cards) 和 网格体(Meshes) 面板中管理。在每个面板中,你可以添加新条目并配置网格体几何体及其材质。
在虚幻引擎中生成发片网格体
要在Groom资产编辑器中使用毛发发片生成器插件生成你自己的毛发发片,请遵循以下步骤:
-
在 插件(Plugins) 浏览器中,启用 毛发发片生成器(Hair Card Generator) 插件。
-
在 Groom资产编辑器(Groom Asset Editor) 中,打开 Groom 资产。
-
选择 发片(Cards) 面板。
-
点击 添加发片资产(Add Card Asset) 添加新条目。
- 在发片条目中进行以下设置:
- 设置 LOD索引(LOD Index) 。这是生成发片网格体的细节级别,例如LOD 0。
- 展开 纹理(Textures) 并设置 布局(Layout) 。这是已生成纹理所需的布局。
- 设置 组索引(Group Index) 。这是将为其生成并映射发片的几何体(请参阅组的 LOD 面板)。
-
点击网格体指定插槽下的 生成毛发发片(Generate Hair Cards) 。这将激活 发片生成设置(Card Generation Settings) 对话框。
- 在 发片生成设置(Card Generation Settings) 对话框中,进行以下设置:
- 可选:修改 基本文件名(Base Filename) 和 目标路径(Destination Path),改变资产输出位置。
- 设置 发片数(# Cards),粗略估计所需的独特发片数量,用以表示Groom中的发束数据。
-
设置 纹理数(# Textures),设置要在输出图集中创建的独特发束纹理数量。
纹理目标数量不得超过发片数量。当纹理数量低于发片数量时,具有相似发束的发片将被映射到同一个纹理。
-
设置 三角形数(# Triangles),粗略估计所有发片上的目标三角形数量。
此设置与发片数量决定了发片几何体的精度。一般来说,发片越多,Groom覆盖会越好,但三角形的数量也必须增加,以便单个发片有足够的三角形来准确地呈现Groom发束。
- 设置 最大飘动发片数量(Max Flyaway Cards),选择专用于单股飘动发束的发片数量。
- 可选:修改其他设置,以便对已生成发片和纹理进行更高级的控制。
- 在发片生成设置(Card Generation Settings)对话框的底部,点击 生成(Generate),开始发片生成过程。
发片生成过程可能需要几分钟才能完成,完成后,已生成发片和纹理会被自动应用到Groom资产编辑器中的 网格体(Mesh) 和 纹理(Textures) 指定插槽。
发片面板
你可以在 发片(Cards) 面板中设置发片网格体、纹理以及到特定毛发组和LOD的映射。每个发片网格体的统计信息会显示在每个条目的顶部,列明其所包含的发片和顶点数量。
导入用作发片几何体的网格体时,必须为每个发片网格体选择 导线类型(Guide Type) :
- 生成型(Generated) 导线根据网格体本身生成变形导线。这些导线从每个毛发发片几何体的中间穿过。
- 通过为每个发片顶点选择最近的导线, 基于导线型(Guide-Based) 将使用Groom的导线来为每个发片几何体蒙皮。
纹理(Textures) 分段会配置用于发片几何体的输入纹理。有两种不同的发片布局可供选择:默认(Default) 和 紧凑(Compact) 。这些布局定义了如何打包这些纹理的属性。通过对发束进行体素化并将平均值传输到每个发片顶点,可以自动生成 GroupID 和 每点颜色(Per-Point Color) 等属性。
![]() |
![]() |
|---|---|
| Groom纹理默认布局 | Groom纹理紧凑布局 |
当使用 毛发属性(Hair Attributes) 表达式时,列表中的纹理会自动绑定并在材质中采样。如需详细了解材质表达式及其用法,请参阅Groom材质。
发片(Cards) 面板中有以下属性:
| 属性 | 说明 |
|---|---|
| 材质(Material) | 用于发片呈现LOD的指定材质。此材质是从Groom资产编辑器的材质面板中显示的列表中选取的。 |
| 导线类型(Guide Type) | 选择用于发片的导线类型:
|
| 网格体(Mesh) | 发片几何体所引用的网格体。 |
| 纹理(Textures) | |
| 布局(Layout) | 此设置决定Groom的属性如何打包到纹理中。你可以在发片或网格体的 默认 和 紧凑 选项之间进行选择。默认选项回将属性单独打包到有意义的纹理中。紧凑选项会将更多的属性分组到更少的纹理中。 |
| 深度(Depth) | 用于发片资产的深度纹理。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 覆盖(Coverage) | 此纹理用于发片资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 切线(Tangent) | 此纹理用于发片资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 属性(Attributes):RootUV / CoordU / 种子(RootUV / CoordU / Seed) | 此纹理用于发片资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 材质(Material):颜色/粗糙度(Color / Roughness) | 此纹理用于网格体资产。此纹理使用Groom资产上的毛发纹理选项生成。 |
| 辅助(Auxiliary) | 此纹理使得用户数据可以为发片资产进行传输。这是可选纹理。设置此值后,其将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 组设置(Group Settings) | |
| 组索引(Group Index) | 此发片几何体所映射到的组索引。 |
| LOD索引(LOD Index) | 应使用此发片资产的LOD索引。 |
毛发发片生成器插件
此功能为试验性功能。输出结果可能因Groom的复杂程度而异。
毛发发片生成器(Hair Card Generator*) 插件可以根据Groom中的发束生成发片。你可以配置参数来确定如何从你的Groom生成发片,你也可以使用这些参数为 LOD 面板中不同的毛发组生成不同的LOD。
你可以在 几何体(Geometry) 类别下的 插件 浏览器中启用 毛发发片生成器(Hair Card Generator) 插件。你可以在主菜单中的 编辑(Edit) 处打开插件浏览器。
如需了解如何启用插件,请参阅使用插件。
启用后,你可以在Groom资产编辑器的 发片(Cards) 面板中访问发片生成器,并在该面板下使用 添加发片资产(Add Card asset) 的 添加(+) 图标添加条目。
你可以点击 网格体(Mesh) 指定插槽下的 生成毛发发片(Generate Hair Cards) ,为此Groom启动发片生成。
这会打开 发片生成设置(Card Generation Settings) 对话框。你可以在此处配置各种属性,为毛发Groom组生成发片网格体。
下面是发片生成设置对话框的关键区域:
- 已命名Groom和正在生成的LOD。
- 将所有设置重置为默认值的按钮。
- 生成发片网格体的可配置设置。
- 已生成发片网格体的信息,以及发片、纹理和三角形数量的目标值。
- 访问高级设置、强制重新生成发片网格体以及生成发片网格体的按钮。
发片生成设置(Card Generation Settings) 中有以下属性:
| 属性 | 说明 |
|---|---|
| 资产(Asset) | |
| 基本文件名(Base Filename) | 用于识别已生成发片集的名称。 |
| 为所有组生成几何体(Generate Geometry for All Groups) | 启用后,使用所有物理组生成发片。禁用后,仅使用当前Groom组生成发片几何体。如果Groom组具有不同的物理模拟设置,则应禁用此设置。 |
| LODIndex | 设置LOD索引,仅可在 发片(Cards) 面板中编辑。 |
| 为Groom组生成(Generate for Groom Group) | 设置Groom组的索引。此项可在 发片(Cards) 面板中编辑。仅有在禁用 为所有组生成几何体(Generate Geometry for All Groups) 时,此设置才有作用。 |
| 导入(Import) | |
| 目标路径(Destination Path) | 已生成网格体和纹理的路径。默认选项是放置在内容浏览器中Groom所在文件夹中的子文件夹。 |
| 细节级别(Level of Detail) | |
| 在前一个LOD的基础上减少发片(Reduce Cards from Previous LOD) | 启用后,将生成共享前一个LOD纹理的发片(如果存在)。只能基于前一个LOD修改 三角形(Triangles) 和 最大飘动发片数量(Max Flyaway Cards)。 |
| 随机性(Randomness) | |
| 随机种子(Random Seed) | 该数字用于初始化发片生成器,即以各种方式聚类发片和纹理。改变种子数可使结果略有不同。 |
| 纹理渲染(Texture Rendering) | |
| 使用前一个LOD的保留空间(Use Reserved Space from Previous LOD) | 如果存在前一个LOD并且在纹理图集中有一些保留空间,则使用同一个纹理,将当前LOD的已生成纹理放置在保留空间中。 |
| 图集大小(Atlas Size) | 已生成纹理资产的像素大小。 |
| 已保留纹理空间LOD(Reserved Texture Space LOD) | 为后续生成新LOD而保留的纹理百分比。 |
| 使用Groom资产发束宽度(Use Groom Asset Strand Width) | 启用后,将使用 发束(Strands) 面板中的 毛发宽度(Hair Width) 、 毛发根部比例(Hair Root Scale) 和 毛发末梢比例(Hair Tip Scale) 创建纹理。 |
| 过滤选项(Filter Options) | |
| ID | 发束过滤组ID号。 |
| 发片组(Card Groups) | 如果存在发片组(groom_group_cards_id_attributes),将显示在发片组标签中。可以在 高级(Advanced) 设置中修改与发束过滤组(Strand Filter Group)关联的发片组(Card Group)标签,以将不同的几何体生成设置应用于发片组集。 |
| 发片数(Number of Cards) | 已生成发片数量。最终数字可能与所选的理想数字略有不同,具体取决于正在生成的几何体。 |
| 纹理数(Number of Textures) | 图集中的纹理数量。如果该值小于发片数量,一些发片将共享纹理。最终数字可能与所选的理想值略有不同。 |
| 三角形数量(Number of Triangles) | 已生成网格体的三角形数量。最终数字可能与所选的理想值略有不同。 |
| 最大飘动发片数量(Max Flyaway Cards) | 飘动发片的最大数量。这包含单股发束,代表飘动的毛发。 |
| 发束数量(Strand Count) | 发束过滤组中的发束数量。 |
| 生成(Generate) | 显示发片是否将完全或部分重新生成。这取决于与前一次发片生成相比已改变的参数。 |
发片组设置
点击窗口底部的 高级(Advanced) 按钮,可以通过发片生成设置(Card Generation Settings)对话框访问 发片组设置(Card Group Settings) 。
发片组设置(Card Group Settings) 中有以下属性。
| 属性 | 说明 |
|---|---|
| 设置组(Settings Group) | |
| 发束数量(Strand Count) | |
| 资产(Asset) | |
| 生成文件名(Generate Filename) | 根据生成发片的Groom的名称为已生成发片生成名称。 |
| LODIndex | 明确说明将指定给这些已生成发片的细节级别索引。 |
| 发片(Cards) | |
| 应用到发片组(Apply to Cards Group) | 这些设置将适用的发片组(groom_group_cards_id)集。 |
| 发片目标数量(Target Number of Cards) | 要生成的发片目标数量。这与主设置对话框中的 发片数量(Number of Cards) 相同。 |
| 最大飘动发片数量(Max Number of Flyaways) | 将生成的飘动发片的最大数量,其中包含代表飘动毛发的单股发束。这与主设置对话框中的 最大飘动发片数(Max Flyaway Cards) 相同。 |
| 几何体(Geometry) | |
| 三角形目标数量(Target Triangle Count) | 此发束过滤组中所有发片的三角形目标数量。这与主设置对话框中的 三角形数量(Number of Triangles) 相同。如果禁用 使用自适应细分(Use Adaptive Subdivision) ,则此设置也将被禁用并忽略。 |
| 几何体(Geometry):高级(Advanced) | |
| 使用自适应细分(Use Adaptive Subdivision) | 细分发片几何体以更好地匹配发束的局部曲率,直线区域使用更少的几何体。自适应细分使用 三角形目标数量(Target Triangle Count) 设置来确定可接受的误差率,以便大致达到三角形目标数量。 |
| 每发片最大垂直段数量(Max Vertical Segments Per Card) | 如果禁用 使用自适应细分(Use Adaptive Subdivision) ,则为每个发片的垂直段(四边形)数量。 |
| 纹理(Textures) | |
| 图集中的纹理数量(Number of Textures in Atlas) | 存储在纹理图集中的纹理数量。这与主设置对话框中的 纹理数量(Number of Textures) 相同。 |
| 纹理渲染(Texture Rendering) | |
| 发束宽度缩放因子(Strand Width Scaling Factor) | 当生成发束纹理时,此选项会根据使用的缩放因子缩放发束宽度。除非发束宽度单位不是虚幻单位,否则通常应将其保留为1.0。 |
| 使用优化压缩(Use Optimized Compression) | 生成发束纹理时,沿发束方向使用非常直的发束压缩纹理以节省纹理空间。 |
网格体面板
你可以在 网格体(Meshes) 面板中设置网格体、纹理以及到特定毛发组和LOD的映射。该面板列出了所有几何体,但并非所有几何体都要使用。
网格体面板中有以下属性:
| 属性 | 说明 |
|---|---|
| 材质(Material) | 用于网格体呈现LOD的指定材质。此材质是从Groom资产编辑器的材质面板中显示的列表中选取的。 |
| 网格体(Mesh) | 该网格体所引用的几何体。 |
| 纹理(Textures) | |
| 深度(Depth) | 用于网格体资产的深度纹理。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 覆盖(Coverage) | 此纹理用于网格体资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 切线(Tangent) | 此纹理用于网格体资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 属性(Attributes):RootUV / CoordU / 种子(RootUV / CoordU / Seed) | 此纹理用于网格体资产。此纹理可选,但设置后,该值将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 材质(Material):颜色/粗糙度(Color / Roughness) | 此纹理用于网格体资产。此纹理通过Groom资产上的毛发纹理选项生成。 |
| 辅助(Auxiliary) | 此纹理使得用户数据可以为发片资产进行传输。这是可选纹理。设置此值后,其将被转发到材质编辑器中的 Hair Attributes 节点。 |
| 组设置(Group Settings) | |
| 组索引(Group Index) | 此网格体几何体所映射到的组索引。 |
| LOD索引(LOD Index) | 应使用此网格体资产的LOD索引。 |
| LOD | |
| LOD最小值(Minimum LOD) | 指定为所有平台烘焙的最低细节级别,或者通过使用 添加(+) 图标将其添加到数组来为各个平台指定最小值。 |

