Page MenuHomeAnticto

Mutable for Unreal Engine 4 | Level of detail
Updated 104 Days AgoPublic

Why use multiple levels of detail

The reasons to use levels-of-detail (LODs) in Mutable are the same reasons you would use them for other game assets: memory usage, processor performance and loading time. In Mutable you can take advantage of its procedural construction of characters to optimise even more by creating specific diagrams for each LOD. This way, you can have objects like the base character body that follow the usual LOD optimisation, by simply lowering the polycount and texture sizes on each LOD, but you can also go beyond this and define different construction process for each LOD using cheaper operations as the object is further away.

As an example lets imagine a character bracelet. In the top LOD used during close-ups, the bracelet has its own mesh and complex materials with physics animation. For the second LOD it may be simplified by replacing it with a rigid mesh with a single material directly skinned to the arm bone. The third LOD may be just a texture patch on the arm (if the bracelet is big enough). In the fourth LOD it may have disappeared completely. You can define all this cases in different diagrams using the same parameters, so if the bracelet colour was customizable, you could see it change on every LOD.

Defining the levels of detail of an object

The LODs can be defined in the different object nodes in a diagram. The most important location is the Base Object node. The number of LODs specified in this node, will limit the maximum LODs that can be defined in the Child Object nodes: if a base object defines 2 LODs, there is no point on defining 3 on the child object, and the LODs beyond 2 will be ignored.

The engine-side LOD properties that control how the LOD is selected, are just the standard Unreal Engine properties. They are copied from the Reference SkeletalMesh object, so you can easily set them up there. Please note that this means that the Reference SkeletalMesh object must have LODs.

If the LOD pin of a node has nothing connected to it, the object will disappear for that LOD, unless automatic LODs are used (see below).

Automatic level of detail

Since customizable objects may become very big, there is a way to simplify the generation of LODs without having to multiply all the nodes. This method can be enabled by choosing the right option for the AutoLOD Strategy field in Base Object and Child Object nodes:

  • Manual: Use the LODs as defined in this node.
  • Automatic: Generate as many LODs as the parent object requires, using the same diagram connected to LOD 0. However for StaticMesh and SkeletalMesh nodes connected to this diagram, if they have LODs, the matching LOD will be used for each LOD of the node.
  • Inherit from parent object : it will use the same strategy used by the parent object of a child object. It is not a valid option for the root Base Object, so choosing it there will be considered as having it set to Manual.
Last Author
ricard
Last Edited
Jun 17 2020, 3:28 PM

Event Timeline

jordi created this object.Apr 13 2020, 1:10 PM
jordi edited the content of this document. (Show Details)Apr 15 2020, 5:32 PM
jordi edited the content of this document. (Show Details)Apr 15 2020, 5:51 PM
jordi edited the content of this document. (Show Details)
jordi published a new version of this document.
alexei edited the content of this document. (Show Details)Apr 24 2020, 12:19 PM
alexei edited the content of this document. (Show Details)
alexei edited the content of this document. (Show Details)
alexei edited the content of this document. (Show Details)Apr 24 2020, 12:43 PM
jordi published a new version of this document.Apr 30 2020, 10:22 AM
jordi changed the visibility from "All Users" to "Public (No Login Required)".May 26 2020, 12:04 PM
ricard edited the content of this document. (Show Details)Jun 17 2020, 3:28 PM