本页包含在虚幻引擎项目中理解并使用MetaHuman所需的全部信息。 其中包括所有项目设置、插件和控制台变量等,均为有效加载和使用MetaHuman所需要的内容。 本文还包含其他的实用设置和命令。
项目设置和控制台变量
首次从Quixel Bridge导入MetaHuman时,以下项目设置和控制台变量将被添加到项目Config文件夹中的DefaultEngine.ini配置文件中。
这些命令将被添加到[ConsoleVariables]和[/Script/Engine.RendererSettings]小节下:
| 控制台变量 | 说明 | 必填值 |
|---|---|---|
| 支持超过256个骨骼索引,以供在骨骼网格体的个体分段上进行渲染。 | True |
| 针对GPU蒙皮,是否使用无限制的骨骼影响,而不是用默认的4/8。 此设置无法在运行时更改。 | True |
| 是否编译GPU计算蒙皮缓存着色器。 它将编译着色器,以便在计算任务上蒙皮,而不在顶点着色器上蒙皮。 | True |
| 若启用支持计算蒙皮缓存(Support Compute Skin Cache)( | 0 |
| 若设置了 | 1 |
| 在毛发的所有其他组之后的最后一个函数更新(Tick)组中,强制对Niagara排序/依赖性进行求值。 若禁用,则在物理资产更新之前对Niagara进行求值,这在某些情况下将会导致碰撞落后一帧。 | 1 |
这些更改需要重新启动编辑器。
插件
如果你在先前未启用MetaHuman Creator插件的项目中使用了组装角色,那么你可能需要启用以下一个或多个插件:
| 插件 | 说明 |
|---|---|
Groom | 支持在虚幻引擎中渲染和模拟毛发Groom。 |
绑定逻辑插件(Rig Logic Plugin) | 支持3Lateral的面部动画绑定。 |
Live Link | 支持使用Maya或Motionbuilder等DCC工具将动画数据通过通用接口从外部来源流送至虚幻引擎。 Live Link提供了一种在外部编辑动画的同时在虚幻引擎内部实时查看工作预览的方法。 动作捕捉系统也可使用该插件将数据流送到引擎中,并实时预览该数据。 如需更多信息,请参阅Live Link插件文档。 |
Live Link控制绑定(Live Link Control Rig) | 通过控制绑定支持Live Link数据。 |
控制绑定(Control Rig) | 启用基于节点的绑定系统,旨在为操控者提供多种工具,从而使用美术师友好型界面创建灵活、动态和程序化的角色。 如需更多信息,请参阅控制绑定文档。 |
Megascans | 让使用Quixel Bridge的当前项目可以导入或迁移在MetaHuman Creator网络应用程序创建的现有MetaHuman角色。 |
这些更改需要重新启动编辑器。
MetaHuman的其他控制台命令
下文小节重点介绍了你可以使用并添加到特定配置(*.ini)文件中的其他控制台命令。
移动端MetaHuman
在移动平台上,蒙皮角色最多可以拥有75根骨骼。 这是单次绘图调用中可以在移动GPU上蒙皮的骨骼数量上限。 为确保你的MetaHuman能够在你所部署的移动设备上加载和运行,请将以下命令添加到项目的DefaultEngine.ini配置文件中。 请将其放置在[ConsoleVariables]小节下:
Compat.MAX_GPUSKIN_BONES=75
DefaultDeviceProfiles.ini
设备描述为你提供了针对设备和平台进行配置的选项。 你可以使用这些命令在设备描述中设置多种仅影响该设备或平台的属性,例如可伸缩性、渲染、纹理和其他功能。
你可以在设备描述(Device Profiles)窗口中管理和设置设备描述选项。转到工具(Tools) > 平台(Platforms)即可访问该窗口。 你也可以将你的DefaultDeviceProfiles.ini配置文件手动添加到项目的Config文件夹中。
纹理LOD组
MetaHuman使用大型的8K纹理,而这样的纹理并不适用于所有设备和平台。 你可以使用TextureLODGroups为特定的TextureGroups管理最低和最高LOD(Mip),这些值具体由纹理编辑器中的Mip常规设置(Mip Gen Settings)决定。
在移动设备上,最大纹理应更改与配置文件中的MaxLODSize关联的数值。
你也可以使用编辑器内置的设备描述(Device Profiles)窗口来选择你要编辑的设备或平台。 请点击纹理LOD组(Texture LODGroups)列下的铅笔图标。
选择你要编辑的纹理组(World、WorldNormalMap等)。 展开对应类别并更改最大LOD尺寸(Max LOD Size)。
如需详细了解支持的平台及其建议的最佳纹理大小,请参阅平台和LOD规范页面。
早期Z通道剔除
早期Z通道(Early Z Pass)用于为基础通道初始化仅针对深度的剔除。 对于移动设备和其他类型的平台,此功能可以加快毛发渲染。
在移动设备(Android和iOS)上,只需在控制台命令条目之前添加+CVars=,即可将控制台变量添加到所需平台的配置文件中。 例如:
+CVars=r.EarlyZPass=3
你也可以使用编辑器内置的设备描述(Device Profiles)窗口来选择你要编辑的设备或平台。 点击CVars列下的铅笔图标。
转到控制台变量(Console Variables)类别,点击加号(+)图标即可展开与待添加控制台变量对应的子类别。 你还可以搜索类别的相关控制台变量,以仅显示特定于该子类别的变量,从而将其放入合适的位置。
针对Android和iOS,建议使用:
r.EarlyZPass=3
r.Mobile.EarlyZPassOnlyMaterialMasking=1
通用平台命令
此小节中的控制台变量被存储在各自的平台专用配置文件中。
例如,你的项目中会存在一个[MyProject]/Config/<PlatformName>文件夹,例如iOS或Android。 此文件夹中会存在一份名为<Platform>Engine.ini的配置文件。
发束质量设置
以下毛发命令有助于提高MetaHuman的毛发质量,并指出可以关闭哪些不必要的设置来提升一些性能。
以下命令可以为毛发投射到角色身上的阴影绘制更精细的细节。 此外,还可以在光线穿过毛发Groom时提供更精细的细节。 与默认值相比,这些命令能够提供更好的质量,但会花费更多的GPU时间,占用更多的GPU内存。
将以下内容添加到<Platform>Engine.ini文件中:
r.HairStrands.Voxelization.Raymarching.SteppingScale=1
r.HairStrands.Voxelization.Raymarching.SteppingScale.Shadow=1
r.HairStrands.Voxelization.Raymarching.SteppingScale.RayTracing=1
r.HairStrands.Voxelization.Virtual.VoxelWorldSize=0.1
r.HairStrands.Voxelization.Virtual.VoxelPageCountPerDim=4
Voxel Page Count Per Dim能改善性能,但会降低质量。
以下设置可以提高MetaHuman的质量和外观,并优化GPU性能:
| 控制台变量 | 说明 | 更改后的值 |
|---|---|---|
| 当环境光照不需要Groom将阴影投射到角色面部时,可以禁用来自于天空光源的环境光遮蔽。 禁用此变量可以节约一些GPU时间。 | 0 |
| 此变量控制每像素的毛发采样数量。 增加采样数量将提高质量,但每帧耗费的资源会变多。 | 2 |
| 此变量将导致烘焙流程完全删除某些毛发LOD,使其在目标设备上不占用内存。 基于发束的Groom(由MetaHuman LOD 0和LOD 1提供)会占用大量内存,不适合移动端等平台。 | 3 |
从虚幻引擎5.0开始,发束会使用路径追踪进行光线追踪。 因此,它们的性能开销更大。
平台可伸缩性重载项
虚幻引擎提供了多种预设的可伸缩性选项。 你可以在关卡编辑器的工具栏上访问这些预设,路径为设置(Settings) > 引擎可伸缩性设置(Engine Scalability Settings)。 这些可扩展性设置可以分别在低画质到电影级画质之间切换,每种画质都可以通过[UE Engine Path]/Engine/Config 文件夹的BaseScalability.ini配置文件中的控制台命令进行切换。
你可以将这些默认的可伸缩性预设用于自己的项目,甚至可以根据平台重载。 要为项目重载针对各平台的预设,你需要创建包含<Platform>Scalability.ini文件的<Platform>文件夹(例如,文件夹名称为Android,配置文件名称为AndroidScalability.ini)。
在配置文件中,你可以使用与可伸缩性分段相同的命名惯例来重载可伸缩性,并添加你自己的控制台变量和数值集来替换。
例如,在BaseScalability.ini中,如果你需要替换[EffectsQuality@3]中的设置,那么请将其添加到<Platform>Scalability.ini中:
[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
如需查看针对移动平台的部分示例设置,请下载MetaHuman示例项目并转到Config文件夹。 你会发现为iOS和Android设置的示例。
实用平台可伸缩性设置
以下设置能帮你控制质量和性能:
| 控制台变量 | 说明 | 更改后的值 |
|---|---|---|
| 此变量可以切换Burley次表面散射,使其回退为使用单独的透射光来运行散射,从而优化性能。 | 0 |
| 此变量可以让部分次表面散射算法以一半的分辨率运行。 这样虽然会让分辨率降低,但可以更快地渲染。 | 1 |
| 此变量会强制项目中的所有Groom元素使用发卡和网格体几何体来取代发束。 如果没有发卡几何体可用,则不显示任何内容。 | 1 |
Nanite和Lumen
MetaHuman可以使用Lumen全局光照。 然而,Nanite虚拟几何体不支持骨骼网格体,因此不能使用MetaHuman。
下一步
平台和LOD规范
MetaHuman在不同平台上的技术规范。