本页面为在虚幻引擎项目中加载和有效使用MetaHuman时的所有需求提供参考信息。这包括所有必需的项目设置、插件和控制台变量。本页面还包括其他对于处理MetaHuman有帮助的相关设置和命令。
虚幻引擎对MetaHuman的要求
首次将MetaHuman加载到虚幻引擎中时,系统将会弹出一些提示,要求你启用缺少的项目设置、插件和控制台命令。如果未设置,你的MetaHuman可能无法工作甚至无法正确加载。
表明需要启用的设置、插件和控制台命令的弹出消息。
当这些消息出现时,按 启用缺失内容(Enable Missing) 可以为你的项目启用和添加这些项目设置和插件,当指示你按 重新启动(Restart) 时,按下此按钮可重新加载项目并让设置和插件生效。
下面的部分详细介绍MetaHuman资产要求启用和具备的插件、项目设置和控制台变量的完整列表。
项目设置和控制台变量
下面的项目设置和控制台变量将要求在首次从Quixel Bridge导入MetaHuman时启用。这些设置和变量将添加到项目根目录 配置(Config) 文件夹的 DefaultEngine.ini 配置文件中。例如,[MyProject]/Config
。
在配置文件中,这些命令将添加到 [ConsoleVariables]
和 [/Script/Engine.RendererSettings]
部分下。
控制台变量 | 说明 | 所需数值 |
---|---|---|
r.GPUSkin.Support16BitBoneIndex |
支持骨骼数超过256个,以便在骨骼网格体的个体分段上进行渲染。 | True |
r.GPUSkin.UnlimitedBoneInfluences |
对于GPU蒙皮,是否使用无限制的骨骼影响,而不是用默认的4/8。此设置不会在运行时更改。 | True |
r.SkinCache.BlendUsingVertexColorForRecomputeTangents |
将重新计算骨骼网格体上的某些顶点的切线,以确保法线与另一个骨骼网格体匹配。选项2使用绿色定点颜色来执行此操作。例如,在MetaHuman上,为头部、脖子和身体使用单独的骨骼网格体。此命令确保脖子的顶点与身体的顶点正确匹配。 | 2 |
r.SkinCache.CompileShaders |
是否编译GPU计算蒙皮缓存着色器。它将编译着色器,以便在计算任务上蒙皮,而不在顶点着色器上蒙皮。 | True |
r.SkinCache.DefaultBehavior |
当启用 支持计算皮肤缓存(Support Compute Skin Cache) (r.SkinCache.CompileShaders )时,这意味着并非全部骨骼网格体都默认使用皮肤缓存。必须选择开启才能使用此功能。所有MetaHuman网格体都设置为选择开启。 |
0 |
SkeletalMesh.UseExperimentalChunking |
若设置了 MAX_GPUSKIN_BONES ,此属性会减少要创建的蒙皮“数据块”数量。这意味着在应该匹配顶点的情况下,例如在脖子和躯干周围,会出现接缝线等瑕疵。 |
1 |
fx.Niagara.ForceLastTickGroup |
在毛发的所有其他组之后的最后一个更新函数组中,强制对Niagara排序/依赖性进行求值。禁用之后,将在物理资产更新之前对Niagara进行求值,在某些情况下将会导致碰撞落后一帧。 | 1 |
这些更改需要重新启动编辑器。
插件
下面的插件将要求在首次从Quixel Bridge导入MetaHuman时启用。它们随附在虚幻引擎中,位于 Windows > 插件(Plugins) 浏览器中。
插件 | 说明 |
---|---|
Groom | 支持在虚幻引擎中渲染和模拟毛发Groom。 |
Rig逻辑插件v6.2.0(Rig Logic Plugin v6.2.0) | 支持3Lateral的面部动画Rig。 |
Live Link | 支持使用Maya或Motionbuilder等DCC工具将动画数据通过通用接口从外部来源流送到虚幻引擎。Live Link提供了一种在外部编辑动画并实时地在虚幻引擎内部查看工作预览的方法。动作捕捉系统也可使用该功能将数据流送到引擎中,并实时预览该数据。如需更多信息,请参见LiveLink插件。 |
Live Link Control Rig | 通过Control Rig支持LiveLink数据。 |
Control Rig | 启用基于节点的操控系统,设计用于为操控者提供多种工具,通过对美术师友好的界面来创建灵活、动态和程序性的角色。如需更多信息,请参见Control Rig。 |
Megascans | 支持将内容从Quixel Bridge无缝导出到虚幻引擎。 |
这些更改需要重新启动编辑器。
MetaHuman的其他控制台命令
下面的部分重点介绍你可以使用和添加到特定配置(*.ini)文件的一些其他控制台命令。
移动平台上的MetaHuman
在移动平台上,蒙皮的角色最多有75根骨骼。此限制是单次绘图调用中可以在移动GPU上蒙皮的骨骼数量上限。为了确保你的MetaHuman能够在你部署到的任何移动设备上加载和运行,请将以下命令添加到项目中的 DefaultEngine.ini 配置文件。放置在 [ConsoleVariables]
部分下:
Compat.MAX_GPUSKIN_BONES=75
DefaultDeviceProfiles.ini配置命令
设备描述允许设置设备和特定于平台的配置。你可以使用这些命令在设备描述中设置多种仅影响该设备或平台的属性,例如可扩展性、渲染、纹理和其他功能。
你可以在 设备描述(Device Profiles) 窗口中管理和设置设备描述选项,该窗口可以通过 窗口(Window) > 开发人员工具(Developer Tools) 进行访问。你也可以手动将你的 DefaultDeviceProfiles.ini 配置文件添加到项目的 配置(Config) 文件夹。
Click to see full size image.
纹理LOD组
MetaHuman使用大型的8K纹理,该纹理并不适用于所有设备和平台。TextureLODGroups允许为特定的TextureGroups管理最低和最高LOD (mip),此值在纹理编辑器中使用 Mip常规设置(Mip Gen Settings) 进行设置。
在移动设备上,最大纹理应更改与配置文件中的 MaxLODSize 关联的数值。
你也可以使用编辑器内置的 设备描述(Device Profiles) 窗口来选择你要编辑的设备/平台。点击 纹理LOD组(Texture LODGroups) 列下的 铅笔 图标。
点击查看大图。
选择你要编辑的纹理组(世界、WorldNormalMap等)。展开类别并更改 最大LOD(Max LOD Size)。
点击查看大图。
如需关于支持的平台及其建议的最佳纹理大小的信息,请参见平台支持和LOD标准。
Early Z通道剔除
Early Z通道(Early Z Pass) 用于为基本通道初始化仅针对深度的剔除。对于移动设备和其他类型的平台,此功能可以加快毛发渲染。
在移动设备上,可以将控制台变量添加到所需的平台下的配置文件中,方法是在任何控制台命令条目之前添加 +CVars=。例如:
+CVars=r.EarlyZPass=3
你也可以使用编辑器内置的 设备描述(Device Profiles) 窗口来选择你要编辑的设备或平台。点击 CVars 列下的 扳手 图标。
点击查看大图。
在 控制台变量(Console Variables) 类别下,点击 加号 (+) 图标展开与你要添加的控制台变量相关的子类别。你甚至可以在类别的相关控制台变量中进行搜索,将仅显示特定于该子类别的变量,以便于将其放入合适的位置。
点击查看大图。
对于安卓和iOS,建议使用:
r.EarlyZPass=3
r.Mobile.EarlyZPassOnlyMaterialMasking=1
常规平台命令
这些部分中的控制台变量存储在各自的特定于平台的配置文件中。
例如,在你的项目中,你将具有 [MyProject]/Config/
发束质量设置
以下毛发命令有助于提高MetaHuman上毛发的质量,并知道在什么情况下可以关闭不必要的设置来提升一些性能。
细微毛发阴影
这些命令支持为毛发投射到角色身上的阴影绘制更精细的细节。此外,还可以在光线穿过毛发groom时提供更精细的细节。与默认值相比,这些命令能够利用更多的GPU时间和更多的GPU内存来提供更好的质量。
将以下内容添加到
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性能。
控制台变量 | 说明 | 更改数值 |
---|---|---|
r.HairStrands.SkyAO |
当环境光照不需要groom将阴影投射到角色面部时,可以从天空光照禁用环境光遮蔽。禁用此变量可以节约一些GPU时间。 | 0 |
r.HairStrands.Visibility.MSAA.SamplePerPixel |
此变量控制每像素的毛发采样数量。增加采样数量将增加质量,但每帧耗费的资源也更多。 | 2 |
r.HairStrands.MinLOD |
此变量将引发烘焙流程,以完全删除某些毛发LOD,使其不在目标设备上占用内存。如果成束的Groom(随MetaHuman LOD 0和LOD 1提供)使用大量内存,则不适合移动设备平台。 | 3 |
从虚幻引擎5.0开始,头发束(发丝)将使用路径追踪进行光线跟踪。因此,它们的性能开销会更高。
平台可扩展性重载
虚幻引擎提供了多种预设的可扩展性选项。这些预设可以通过关卡编辑器的工具栏进行访问,路径为 设置(Settings) > 引擎可扩展性设置(Engine Scalability Settings) 下。这些可扩展性设置可以在低画质到电影级画质之间进行切换,每种画质都可以在 [UE Engine Path]/Engine/Config
文件夹的 BaseScalability.ini 配置文件中的控制台命令之间进行切换。
点击查看大图。
这些默认的可扩展性预设可以用于你自己的项目,甚至可以根据平台进行重载。要为项目重载针对每个平台的预设,你需要创建包含
在配置文件中,你可以使用可扩展性部分中提供的相同命名惯例来重载可扩展性,并添加你自己的控制台变量和数值集来替换。
例如,在BaseScalability.ini中,如果你希望替换[EffectsQuality@3]中的设置,那么需要将其添加到<平台>Scalability.ini,例如Windows。
[EffectsQuality@3]
r.TranslucencyLightingVolumeDim=64
r.RefractionQuality=2
r.SSR.Quality=3
如需查看移动平台的示例设置,请下载MetaHumans示例项目并转到 配置(Configs) 文件夹。你会发现为iOS和Android设置的示例。
实用的平台可扩展性设置
以下是一些实用的设置,可以添加一些可扩展性选项来控制质量和性能。
控制台变量 | 说明 | 更改的数值 |
---|---|---|
r.SSS.Burley.Quality |
此变量可以切换Burley表面散射,使其后退到使用单独的透射光来运行散射,从而获得更好的性能。 | 0 |
r.SSS.HalfRes |
此变量可以让部分表面散射算法以一半的分辨率运行。这样虽然分辨率降低,但可以更快地渲染。 | 1 |
r.HairStrands.UseCardsInsteadOfStrands |
这会强制项目中的所有groom元素使用发片和网格体几何体来取代发束。如果没有发片几何体可用,则不会显示任何内容。 | 1 |
Nanite和Lumen
MetaHumans可以兼容Lumen全局光照系统。不过,Nanite虚拟化几何体还无法支持骨骼网格体,所以无法用于MetaHumans。