UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSkeletalMeshOptimizationSettings Struct Reference

#include <SkeletalMeshReductionSettings.h>

Public Member Functions

 FSkeletalMeshOptimizationSettings ()
 

Public Attributes

TEnumAsByte< enum SkeletalMeshTerminationCriterionTerminationCriterion
 
float NumOfTrianglesPercentage
 
float NumOfVertPercentage
 
uint32 MaxNumOfTriangles
 
uint32 MaxNumOfVerts
 
float MaxDeviationPercentage
 
TEnumAsByte< enum SkeletalMeshOptimizationTypeReductionMethod
 
TEnumAsByte< enum SkeletalMeshOptimizationImportanceSilhouetteImportance
 
TEnumAsByte< enum SkeletalMeshOptimizationImportanceTextureImportance
 
TEnumAsByte< enum SkeletalMeshOptimizationImportanceShadingImportance
 
TEnumAsByte< enum SkeletalMeshOptimizationImportanceSkinningImportance
 
uint8 bRemapMorphTargets:1
 
uint8 bRecalcNormals:1
 
float WeldingThreshold
 
float NormalsThreshold
 
int32 MaxBonesPerVertex
 
uint8 bEnforceBoneBoundaries: 1
 
uint8 bMergeCoincidentVertBones: 1
 
float VolumeImportance
 
uint8 bLockEdges: 1
 
uint8 bLockColorBounaries: 1
 
uint8 bImproveTrianglesForCloth: 1
 
int32 BaseLOD
 

Detailed Description

FSkeletalMeshOptimizationSettings - The settings used to optimize a skeletal mesh LOD.

Constructor & Destructor Documentation

◆ FSkeletalMeshOptimizationSettings()

FSkeletalMeshOptimizationSettings::FSkeletalMeshOptimizationSettings ( )
inline

Member Data Documentation

◆ BaseLOD

int32 FSkeletalMeshOptimizationSettings::BaseLOD

Base LOD index to generate this LOD. By default, we generate from LOD 0

◆ bEnforceBoneBoundaries

uint8 FSkeletalMeshOptimizationSettings::bEnforceBoneBoundaries

Penalize edge collapse between vertices that have different major bones. This will help articulated segments like tongues but can lead to undesirable results under extreme simplification

◆ bImproveTrianglesForCloth

uint8 FSkeletalMeshOptimizationSettings::bImproveTrianglesForCloth

Better distribution of triangles on 2d meshes, such as flat cloth, but at the cost of potentially worse UVs in those areas. This generally has little or no effect for mesh regions that aren't laid out on a plane intersecting the origin such as the xy-plane. When this is disabled, the planar regions may simplify to fewer large triangles.

◆ bLockColorBounaries

uint8 FSkeletalMeshOptimizationSettings::bLockColorBounaries

Disallow edge collapse when the vertices do not have a common color

◆ bLockEdges

uint8 FSkeletalMeshOptimizationSettings::bLockEdges

Preserve cuts in the mesh surface by locking vertices in place. Increases the quality of the simplified mesh at edges at the cost of more triangles

◆ bMergeCoincidentVertBones

uint8 FSkeletalMeshOptimizationSettings::bMergeCoincidentVertBones

If enabled this option make sure vertices that share the same location (e.g. UV boundaries) have the same bone weights. This can fix cracks when the characters animate.

◆ bRecalcNormals

uint8 FSkeletalMeshOptimizationSettings::bRecalcNormals

Whether Normal smoothing groups should be preserved. If true then Hard Edge Angle (NormalsThreshold) is used

◆ bRemapMorphTargets

uint8 FSkeletalMeshOptimizationSettings::bRemapMorphTargets

◆ MaxBonesPerVertex

int32 FSkeletalMeshOptimizationSettings::MaxBonesPerVertex

Maximum number of bones that can be assigned to each vertex.

◆ MaxDeviationPercentage

float FSkeletalMeshOptimizationSettings::MaxDeviationPercentage

If ReductionMethod equals MaxDeviation this value is the maximum deviation from the base mesh as a percentage of the bounding sphere. In code, it ranges from [0, 1]. In the editor UI, it ranges from [0, 100]

◆ MaxNumOfTriangles

uint32 FSkeletalMeshOptimizationSettings::MaxNumOfTriangles

The maximum number of triangles to retain

◆ MaxNumOfVerts

uint32 FSkeletalMeshOptimizationSettings::MaxNumOfVerts

The maximum number of vertices to retain

◆ NormalsThreshold

float FSkeletalMeshOptimizationSettings::NormalsThreshold

If the angle between two triangles are above this value, the normals will not be smooth over the edge between those two triangles. Set in degrees. This is only used when bRecalcNormals is set to true

◆ NumOfTrianglesPercentage

float FSkeletalMeshOptimizationSettings::NumOfTrianglesPercentage

The percentage of triangles to retain as a ratio, e.g. 0.1 indicates 10 percent

◆ NumOfVertPercentage

float FSkeletalMeshOptimizationSettings::NumOfVertPercentage

The percentage of vertices to retain as a ratio, e.g. 0.1 indicates 10 percent

◆ ReductionMethod

TEnumAsByte<enum SkeletalMeshOptimizationType> FSkeletalMeshOptimizationSettings::ReductionMethod

The method to use when optimizing the skeletal mesh LOD

◆ ShadingImportance

TEnumAsByte<enum SkeletalMeshOptimizationImportance> FSkeletalMeshOptimizationSettings::ShadingImportance

How important shading quality is.

◆ SilhouetteImportance

TEnumAsByte<enum SkeletalMeshOptimizationImportance> FSkeletalMeshOptimizationSettings::SilhouetteImportance

How important the shape of the geometry is.

◆ SkinningImportance

TEnumAsByte<enum SkeletalMeshOptimizationImportance> FSkeletalMeshOptimizationSettings::SkinningImportance

How important skinning quality is.

◆ TerminationCriterion

TEnumAsByte<enum SkeletalMeshTerminationCriterion> FSkeletalMeshOptimizationSettings::TerminationCriterion

The method to use when optimizing the skeletal mesh LOD

◆ TextureImportance

TEnumAsByte<enum SkeletalMeshOptimizationImportance> FSkeletalMeshOptimizationSettings::TextureImportance

How important texture density is.

◆ VolumeImportance

float FSkeletalMeshOptimizationSettings::VolumeImportance

Default value of 1 attempts to preserve volume. Smaller values will loose volume by flattening curved surfaces, and larger values will accentuate curved surfaces.

◆ WeldingThreshold

float FSkeletalMeshOptimizationSettings::WeldingThreshold

The welding threshold distance. Vertices under this distance will be welded.


The documentation for this struct was generated from the following file: