毛发资产编辑器用户指南

关于如何管理属性以及编辑毛发资产的用户参考指南。

Windows
MacOS
Linux

毛发造型(Groom) 系统主要用于处理导入的Alembic(.abc)文件中的毛发发束。但是,出于扩展考虑,它还支持发片、网格体等其他几何体形式来表现毛发。为方便设置,所有这些几何体表现类型都可以在单个资产和组件中管理。

毛发资产编辑器(Groom Asset Editor) 负责管理毛发的大部分内容,你可以用它来修改毛发的不同部分,确定其渲染方式以及物理模拟方式,或者创建并管理毛发的LOD。

打开毛发资产编辑器

要打开毛发资产编辑器,你可在内容浏览器中 双击毛发资产 ,或者使用 毛发资产的上下文菜单 打开。

1_GroomAsset.png

毛发资产编辑器界面

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

2_GroomAssetEditorInterface.png

  1. 视口显示选项(Viewport Display Options):包括视口选项、视图视角、视图模式、调试视图和LOD可视化选项。

  2. 视口(Viewport):显示毛发资产及其指定材质、细节层级和物理呈现。

  3. 细节面板(Details Panels):包括

视口显示选项

视口显示选项(Viewport Display Options) 工具栏提供基本的渲染和可视化选项。

3_ViewportDisplayOptions.png

视口选项

视口选项(Viewport Options) 下拉菜单提供视口中的基本渲染选项。你可以切换实时模式、更改视野和设置超采样的界面百分比。

这些选项和其他选项可以使用视口显示选项工具栏中的下拉 箭头 进行访问。

4_ViewportOptions.png

视角

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

5_VPO_Perspectives.png

视图模式

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

6_VPO_ViewModes.png

如需了解这些可视化视图模式的更多信息,请参阅视口基础知识

显示

显示(Show) 下拉菜单提供了与毛发资产编辑器相关的可视化选项,帮助你查看场景中要处理的数据类型,以及于此毛发相关的诊断错误或意外结果。

7_VPO_Show.png

属性

说明

导线(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) 下拉菜单中有一些可视化示例。

7_guides.png

7_Seed.png

7_RadiusVariation.png

7_BaseColor.png

导线

种子

半径变体

底色

LOD

LOD下拉菜单允许你自动调节视口中的细节层次,或者以某一个指定的细节层次来显示毛发。

8_VPO_LODs.png

使用"LOD自动(LOD Auto)"选项时,LOD会根据细节层次(Level of Detail)面板中指定的选项自动切换。此选项根据LOD在视口中的屏幕尺寸来自动切换LOD。或者忽视毛发的屏幕尺寸,使用下拉菜单从已经生成的可用LOD中选择,查看它们的效果。

视口

视口(Viewport) 中,你可以查看导入的毛发资产,并在其不同的细节面板中进行更改;你还可以使用不同的可视化和调试模式来检验毛发。

如需了解视口导航和可视化技巧的更多信息,请参阅编辑器视口

细节面板

毛发资产编辑器中包含多个 细节(Details) 面板,用于控制与毛发有关的多种特性。

探索下面的面板,了解可用的特性、属性和选项:

  1. 细节层次(Level of Detail)

  2. 插值(Interpolation)

  3. 发束(Strands)

  4. 发片(Cards)

  5. 网格体(Meshes)

  6. 材质(Materials)

  7. 物理(Physics)

细节层次

细节层次(Level of Detail,LOD) 面板控制毛发在各个细节层级上的删减程度。这包括控制LOD在何种屏幕尺寸时进行更改,以及使用哪种类型的几何结构来表示(发束、网格体或发片)。

9_LODsDetails.png

属性

说明

LOD [N]

曲线删减(Curve Decimation)

通过减少发束数量来删减毛发。移除的发束是从导入的毛发发束中随机选择的。

顶点删减(Vertex Decimation)

通过移除发束上的顶点来删减毛发。

角阈值(Angular Threshold)

定义了删除顶点时,两个连续发束片段之间的最大角度值。数值越大,删减就越多。

屏幕尺寸(Screen Size)

LOD在低于该屏幕尺寸后将会被启用。

厚度缩放(Thickness Scale)

你可以增加发束的厚度,以弥补被删除的发束曲线。厚度缩放值负责控制计算补偿时所用的自动缩放值。

可视性(Visible)

切换此LOD的可视性。

几何体类型(Geometry Type)

设置将使用哪种类型的几何体来呈现此细节层次。在以下选项中进行选择:

  • 发束(Strands)

  • 发片(Cards)

  • 网格体(Meshes)

发簇世界尺寸(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:

9_HigherDetailLOD.png

9_LowerDetailLOD.png

更高的LOD

导入的网格体LOD更低

插值

插值(Interpolation) 面板用用于修改毛发初始导入期间的某些属性设置。

10_InterpolationDetails.png

属性

说明

毛发组

曲线删减(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)

选择将毛发绑定到骨架网格体时,要使用的插值类型:

  • 刚体变换(Rigid Transform):插值过程中,仅会平移最接近根部的皮肤三角形。

  • 偏移变换(Offset Transform):插值过程中,仅会平移最接近根部的皮肤三角形。

  • 平滑变换(Smooth Transform):插值过程中,会平移最接近根部的皮肤三角形,同时会基于导线计算出平滑旋转。

发束

发束(Strands) 面板负责控制与毛发发束几何体有关的各种渲染属性。你可以为毛发设置材质,更改毛发发束的关键属性(例如宽度,根部和末端比例),以及启用光线追踪。

11_StrandsDetails.png

属性

说明

材质(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) 面板中设置发片使用的几何体和纹理,并指定应该由引擎程序化生成发片,还是使用导入的发片。

12_CardsDetails.png

属性

说明

材质(Material)

用于发片呈现LOD的指定材质。

源类型(Source Type)

选择要使用的发片类型:

  • 基于程序化生成(试验性)(Procedural (Experimental))

  • 基于导入(Imported)

程序性网格体(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) 属性,用于确定如何为毛发生成发片。

12_CardsDetails_Procedural.png

属性

说明

几何体设置

生成类型(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)

要生成的聚丛变体数量。

生成程序性发片

使用以下步骤生成程序性发片资产:

  1. 使用下拉菜单将 源类型(Source Type) 设置为 程序性(Procedural)

  2. 设置要为其生成发片的 组索引(Group Index)LOD索引(LOD Index)。例如,如果LOD 2要使用发片而不是发束,则需要使用2作为索引。

  3. 源类型(Source Type) 下拉菜单下,按 刷新(Refresh) 按钮生成"卡资产"。

  4. 源类型(Source Type) 下拉菜单下,按 保存(Save) 按钮保存和重载"卡资产"。

网格体

网格体面板负责管理毛发资产中各个LOD使用的网格体几何体。此面板会列出所有网格体几何体,但并非所有列出的几何体都是必须使用的。

13_MeshesDetails.png

属性

说明

材质(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)"中输入材质的名称,否则将使用指定的默认材质名称。

14_Materials_SlotName.png

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

14_Materials_StrandSlotNameSelection.png

物理

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

15_PhysicsDetails.png

属性

说明

解算器设置

启用模拟(Enable Simulation)

为毛发资产启用物理模拟。

Niagara解算器(Niagara Solver)

选择要用于模拟的Niagara解算器。从 Groom RodsGroom 弹簧(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映射到梢部。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消