UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkinnedMeshComponent.h File Reference

Go to the source code of this file.

Classes

struct  FSkelMeshSkinWeightInfo
 
struct  FSkelMeshComponentLODInfo
 
struct  FVertexOffsetUsage
 
struct  FMeshDeformerSet
 
struct  FMeshDeformerInstanceSet
 
class  USkinnedMeshComponent
 
struct  USkinnedMeshComponent::FMissingLeaderBoneCacheEntry
 
class  USkinnedMeshComponent::FRenderStateLockScope
 
class  FRenderStateRecreator
 

Namespaces

namespace  Nanite
 
namespace  UE
 
namespace  UE::Anim
 
namespace  EMeshComponentUpdateFlag
 
namespace  EBoneSpaces
 

Typedefs

typedef int32 EMeshComponentUpdateFlag::Type
 
using FMorphTargetWeightMap = TMap< const UMorphTarget *, int32 >
 
using FExternalMorphSets = TMap< int32, TSharedPtr< FExternalMorphSet > >
 

Enumerations

enum  EBoneVisibilityStatus : int { BVS_HiddenByParent , BVS_Visible , BVS_ExplicitlyHidden , BVS_MAX }
 
enum  EPhysBodyOp : int { PBO_None , PBO_Term , PBO_MAX }
 
enum class  EVisibilityBasedAnimTickOption : uint8 {
  AlwaysTickPoseAndRefreshBones , AlwaysTickPose , OnlyTickMontagesAndRefreshBonesWhenPlayingMontages , OnlyTickMontagesWhenNotRendered ,
  OnlyTickPoseWhenRendered
}
 
enum  EBoneSpaces::Type : int { EBoneSpaces::UMETA =(DisplayName = "World Space") , EBoneSpaces::UMETA =(DisplayName = "World Space") }
 
enum class  ESkinWeightProfileLayer : uint8 { Primary , Secondary }
 

Functions

 DECLARE_DELEGATE_OneParam (FOnAnimUpdateRateParamsCreated, FAnimUpdateRateParameters *) DECLARE_MULTICAST_DELEGATE_ThreeParams(FOnTickPose
 
USkinnedMeshComponent bool DECLARE_MULTICAST_DELEGATE (FOnBoneTransformsFinalizedMultiCast)
 
void GetTypedSkinnedTangentBasis (const USkinnedMeshComponent *SkinnedComp, const FSkelMeshRenderSection &Section, const FStaticMeshVertexBuffers &StaticVertexBuffers, const FSkinWeightVertexBuffer &SkinWeightVertexBuffer, const int32 VertIndex, const TArray< FMatrix44f > &RefToLocals, FVector3f &OutTangentX, FVector3f &OutTangentY, FVector3f &OutTangentZ)
 
template<bool bCachedMatrices>
FVector3f GetTypedSkinnedVertexPosition (const USkinnedMeshComponent *SkinnedComp, const FSkelMeshRenderSection &Section, const FPositionVertexBuffer &PositionVertexBuffer, const FSkinWeightVertexBuffer &SkinWeightVertexBuffer, const int32 VertIndex, const TArray< FMatrix44f > &RefToLocals=TArray< FMatrix44f >())
 

Variables

USkinnedMeshComponent float
 

Typedef Documentation

◆ FExternalMorphSets

The map of external morph sets registered on the skinned mesh component.

◆ FMorphTargetWeightMap

WeightIndex is an into the MorphTargetWeights array

Enumeration Type Documentation

◆ EBoneVisibilityStatus

The valid BoneVisibilityStates values; A bone is only visible if it is exactly 1

Enumerator
BVS_HiddenByParent 

Bone is hidden because it's parent is hidden.

BVS_Visible 

Bone is visible.

BVS_ExplicitlyHidden 

Bone is hidden directly.

BVS_MAX 

◆ EPhysBodyOp

PhysicsBody options when bone is hidden

Enumerator
PBO_None 

Don't do anything.

PBO_Term 

Terminate - if you terminate, you won't be able to re-init when unhidden.

PBO_MAX 

◆ ESkinWeightProfileLayer

Values for specifying which layer a skin weight profile is applied at.

Enumerator
Primary 
Secondary 

Primary skin weight profile layer

◆ EVisibilityBasedAnimTickOption

Skinned Mesh Animation Tick option based on rendered or not. This dictates "TickPose and RefreshBoneTransforms"

Enumerator
AlwaysTickPoseAndRefreshBones 

Always Tick and Refresh BoneTransforms whether rendered or not.

AlwaysTickPose 

Always Tick, but Refresh BoneTransforms only when rendered.

OnlyTickMontagesAndRefreshBonesWhenPlayingMontages 

When rendered Tick Pose and Refresh Bone Transforms, otherwise, just update montages alongside BoneTransforms. (AnimBP graph will not be updated).

OnlyTickMontagesWhenNotRendered 

When rendered Tick Pose and Refresh Bone Transforms, otherwise, just update montages and skip everything else. (AnimBP graph will not be updated).

OnlyTickPoseWhenRendered 

Tick only when rendered, and it will only RefreshBoneTransforms when rendered.

Function Documentation

◆ DECLARE_DELEGATE_OneParam()

DECLARE_DELEGATE_OneParam ( FOnAnimUpdateRateParamsCreated  ,
FAnimUpdateRateParameters  
)

◆ DECLARE_MULTICAST_DELEGATE()

◆ GetTypedSkinnedTangentBasis()

void GetTypedSkinnedTangentBasis ( const USkinnedMeshComponent SkinnedComp,
const FSkelMeshRenderSection Section,
const FStaticMeshVertexBuffers StaticVertexBuffers,
const FSkinWeightVertexBuffer SkinWeightVertexBuffer,
const int32  VertIndex,
const TArray< FMatrix44f > &  RefToLocals,
FVector3f OutTangentX,
FVector3f OutTangentY,
FVector3f OutTangentZ 
)

Simple, CPU evaluation of a vertex's skinned tangent basis

Simple, CPU evaluation of a vertex's skinned position helper function

◆ GetTypedSkinnedVertexPosition()

template<bool bCachedMatrices>
FVector3f GetTypedSkinnedVertexPosition ( const USkinnedMeshComponent SkinnedComp,
const FSkelMeshRenderSection Section,
const FPositionVertexBuffer PositionVertexBuffer,
const FSkinWeightVertexBuffer SkinWeightVertexBuffer,
const int32  VertIndex,
const TArray< FMatrix44f > &  RefToLocals 
)

Simple, CPU evaluation of a vertex's skinned position helper function

Variable Documentation

◆ float