Controlling MetaHuman Level of Detail

Overview of controlling level of detail for MetaHumans using the LODSync component and Groom Asset Editor.

Windows
MacOS
Linux

MetaHumans are made up of a handful of different components within a Blueprint. Some of the components share the same number of Levels of Detail (LODs) while some have fewer levels of detail or use different types of geometry to represent them.

On this page, you'll learn how MetaHumans are set up and manage their LODs in different ways depending on the type of component, such as how Skeletal Meshes are set up compared to hair Groom Assets.

MetaHuman Blueprint LODSync Component

A MetaHuman's Blueprint brings together all of the different components that make up its visual representation. Not all of these components share the same type of geometry or number of levels of detail. So, there needs to be a way to manage and synchronize them so that they switch at the same time and not individually based on their own screen size, like normal LODs do.

The LODSync Component manages the individual components that make up the MetaHuman for the body, head, hair, and clothes. It maintains a visual quality and uniformity of them to one another even when they don't share the same number of LODs.

For example, MetaHumans do not all have the same number of LODs for each component that they have. Components above the neck can use up to eight individual LODs. For components below the neck, there are only four LODs. Since there is a disparity of more LODs with some components than others, the LODSync Component enables some of them to tell others when it's good to change. This means that for every two LOD quality changes that happen for components above the neck, only one LOD quality change happens below the neck.

The LODSync component is located at the bottom of the Components panel stack in a MetaHuman Blueprint.

lodsynccomponent.png

When the component is selected, the Blueprint Details panel displays the configurable settings under the LOD category. By default, it's set up to work well for MetaHumans, but you can change settings as needed to fit your needs.

lodsyncblueprintdetailspanel.png

The LODSync component contains the following:

Property

Description

Num LODs

Sets the maximum number of available LODs that any component in the list can use. By default, MetaHuman Blueprints already have their value set to 8 for the maximum number of LODs used. If -1 is used, all subcomponents' LODs are calculated to determine the maximum number of LODs to use.

Forced LOD

Select a LOD to use across all subcomponents. If you want to have the highest quality LOD used across all components, enter 0. If you want the lowest quality display, use 8. If -1 is used, LODs will automatically switch based on settings configured by the LODSync component.

Components to Sync

This is an array of components whose LOD may drive or be driven by another component. Components are given a Name a Sync Option. Sync Options provide three ways for how this component syncs with other components:

  • Drive: Causes this LOD to contribute to the change of level of detail.

  • Passive: Causes this LOD to follow what is currently driven by other components. It doesn't contribute to the changing of level of detail.

  • Disabled: It is disabled and does nothing.

Components that are flagged as Drive are treated as being in priority order with the last component having highest priority. The highest priority visible component sets the LOD for all other components. If no components are visible, then the highest priority non-visible component sets the LOD.

Custom LOD Mapping

This is an array of components by name and body part. It provides more control over how LODs switch. For MetaHumans, each mapping contains 8 LODs and maps them accordingly.

MetaHumans Groom Asset Level of Detail

MetaHumans, like their real-life counterparts, have varying amounts of hair that covers their head and face. This can include hair on top of the head to the eyelashes and eyebrows, mustaches and beards, and the vellus (also called "peach fuzz") hair.

All of these types of hair are stored as Groom Assets in Unreal Engine. Each of them is managed by their configuration in the Groom Asset Editor. And, because Grooms can be made up of different types of geometry from individual strands to cards to a low-poly mesh, it's important that they be configured and set up to display when they're needed.

The LOD panel, in the Groom Asset Editor, manages all the individual levels of detail there are for this Groom. Each can be configured for the amount of decimation they have, the screen size they should switch to the next LOD, and the type of geometry they should support. The LOD panel pulls all these geometry types into a single panel for ease of editing and viewing what each level of detail looks like.

groomasseteditor.png

The geometry types for Strands, Cards, and Meshes each have their own panel where you can configure their individual properties. The examples below demonstrate the highest LOD for each:

mhlods_strandscardsmeshes.png

(Left to Right) Strand, Cards, and Mesh geometry types

When targeting specific platforms or wanting to stay within a set performance budget, you can specify in the Groom Asset Editor under the LOD panel a Minimum LOD to use. For example on your MetaHuman, if you don't need to use strand-based hair, you could set the minimum LOD to 3, which is the highest quality LOD for the card-based hair geometry.

MinLODProperty.png

In this same panel, if you want to have different platforms support a different minimum LOD, press the plus (+) icon and select which platform you want to configure.

GroomAssetMinLODPerPlatform.png

Force Hair Card Geometry Representation

In times where you don't need strand-based rendering, you can force the use of Cards geometry through a console command. It leaves Cards and Meshes as the only supported geometry representation. Use the following console command:

r.HairStrands.UseCardsInsteadOfStrands 1
Select Skin
Light
Dark
Help shape the future of MetaHuman Creator documentation! Tell us how we're doing so we can serve you better.