UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FDynamicSkelMeshObjectDataGPUSkin Class Referencefinal

#include <SkeletalRenderGPUSkin.h>

+ Inheritance diagram for FDynamicSkelMeshObjectDataGPUSkin:

Public Member Functions

void InitDynamicSkelMeshObjectDataGPUSkin (const FSkinnedMeshSceneProxyDynamicData &InDynamicData, const FPrimitiveSceneProxy *SceneProxy, const USkinnedAsset *InSkinnedAsset, FSkeletalMeshRenderData *InSkeletalMeshRenderData, FSkeletalMeshObjectGPUSkin *InMeshObject, int32 InLODIndex, const FMorphTargetWeightMap &InActiveMorphTargets, const TArray< float > &InMorphTargetWeights, EPreviousBoneTransformUpdateMode PreviousBoneTransformUpdateMode, const FExternalMorphWeightData &InExternalMorphWeightData)
 
TConstArrayView< FMatrix44fGetPreviousReferenceToLocal (EGPUSkinCacheEntryMode Mode) const
 
TConstArrayView< FMatrix44fGetReferenceToLocal (EGPUSkinCacheEntryMode Mode) const
 
int32 GetLODIndex (EGPUSkinCacheEntryMode Mode) const
 
void BuildBoneTransforms (FDynamicSkelMeshObjectDataGPUSkin *PreviousDynamicData)
 
bool ActiveMorphTargetsEqual (const FMorphTargetWeightMap &InCompareActiveMorphTargets, const TArray< float > &CompareMorphTargetWeights) const
 
bool IsRequiredUpdate () const
 
void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
- Public Member Functions inherited from FSkeletalMeshDynamicData
virtual ~FSkeletalMeshDynamicData ()=default
 

Static Public Member Functions

static bool IsMorphUpdateNeeded (const FDynamicSkelMeshObjectDataGPUSkin *Previous, const FDynamicSkelMeshObjectDataGPUSkin *Current)
 
- Static Public Member Functions inherited from TSkeletalMeshDynamicData< FDynamicSkelMeshObjectDataGPUSkin >
static void TrimPool ()
 
static FDynamicSkelMeshObjectDataGPUSkinAcquire (int32 LODIndex)
 
static void Release (FDynamicSkelMeshObjectDataGPUSkin *DynamicData)
 

Public Attributes

TArray< FMatrix44fReferenceToLocal
 
TArray< FMatrix44fReferenceToLocalForRayTracing
 
TArray< FMatrix44fPreviousReferenceToLocal
 
TArray< FMatrix44fPreviousReferenceToLocalForRayTracing
 
TArray< FTransformMeshComponentSpaceTransforms
 
uint32 BoneTransformFrameNumber
 
uint32 RevisionNumber
 
uint32 PreviousRevisionNumber
 
EPreviousBoneTransformUpdateMode PreviousBoneTransformUpdateMode
 
int32 LODIndex
 
FMorphTargetWeightMap ActiveMorphTargets
 
TArray< floatMorphTargetWeights
 
TArray< int32SectionIdsUseByActiveMorphTargets
 
TArray< int32SectionIdsUseByActiveMorphTargetsForRayTracing
 
int32 NumWeightedActiveMorphTargets
 
FExternalMorphWeightData ExternalMorphWeightData
 
FExternalMorphSets ExternalMorphSets
 
TMap< int32, FClothSimulDataClothingSimData
 
FMatrix ClothObjectLocalToWorld
 
FMatrix LocalToWorld
 
float ClothBlendWeight
 
ESkeletalMeshGPUSkinTechnique GPUSkinTechnique
 
uint8 bRecreating: 1
 

Friends

class TSkeletalMeshDynamicDataPool< FDynamicSkelMeshObjectDataGPUSkin >
 

Additional Inherited Members

- Protected Member Functions inherited from TSkeletalMeshDynamicData< FDynamicSkelMeshObjectDataGPUSkin >
 TSkeletalMeshDynamicData ()=default
 
void Reset ()
 

Detailed Description

Stores the updated matrices needed to skin the verts. Created by the game thread and sent to the rendering thread as an update

Member Function Documentation

◆ ActiveMorphTargetsEqual()

bool FDynamicSkelMeshObjectDataGPUSkin::ActiveMorphTargetsEqual ( const FMorphTargetWeightMap InCompareActiveMorphTargets,
const TArray< float > &  CompareMorphTargetWeights 
) const

Compare the given set of active morph targets with the current list to check if different

Parameters
CompareActiveMorphTargets- array of morphs to compare
MorphTargetWeights- array of morphs weights to compare
Returns
true if both sets of active morphs are equal

◆ BuildBoneTransforms()

void FDynamicSkelMeshObjectDataGPUSkin::BuildBoneTransforms ( FDynamicSkelMeshObjectDataGPUSkin PreviousDynamicData)

◆ GetLODIndex()

int32 FDynamicSkelMeshObjectDataGPUSkin::GetLODIndex ( EGPUSkinCacheEntryMode  Mode) const

◆ GetPreviousReferenceToLocal()

TConstArrayView< FMatrix44f > FDynamicSkelMeshObjectDataGPUSkin::GetPreviousReferenceToLocal ( EGPUSkinCacheEntryMode  Mode) const

◆ GetReferenceToLocal()

TConstArrayView< FMatrix44f > FDynamicSkelMeshObjectDataGPUSkin::GetReferenceToLocal ( EGPUSkinCacheEntryMode  Mode) const

◆ GetResourceSizeEx()

void FDynamicSkelMeshObjectDataGPUSkin::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
inline

Returns the size of memory allocated by render data

◆ InitDynamicSkelMeshObjectDataGPUSkin()

void FDynamicSkelMeshObjectDataGPUSkin::InitDynamicSkelMeshObjectDataGPUSkin ( const FSkinnedMeshSceneProxyDynamicData InDynamicData,
const FPrimitiveSceneProxy SceneProxy,
const USkinnedAsset InSkinnedAsset,
FSkeletalMeshRenderData InSkeletalMeshRenderData,
FSkeletalMeshObjectGPUSkin InMeshObject,
int32  InLODIndex,
const FMorphTargetWeightMap InActiveMorphTargets,
const TArray< float > &  InMorphTargetWeights,
EPreviousBoneTransformUpdateMode  PreviousBoneTransformUpdateMode,
const FExternalMorphWeightData InExternalMorphWeightData 
)

Constructor Updates the ReferenceToLocal matrices using the new dynamic data.

Parameters
InSkelMeshComponent- parent skel mesh component
InLODIndex- each lod has its own bone map
InActiveMorphTargets- morph targets active for the mesh
InMorphTargetWeights- All morph target weights for the mesh

◆ IsMorphUpdateNeeded()

bool FDynamicSkelMeshObjectDataGPUSkin::IsMorphUpdateNeeded ( const FDynamicSkelMeshObjectDataGPUSkin Previous,
const FDynamicSkelMeshObjectDataGPUSkin Current 
)
static

◆ IsRequiredUpdate()

bool FDynamicSkelMeshObjectDataGPUSkin::IsRequiredUpdate ( ) const
inline

Friends And Related Symbol Documentation

◆ TSkeletalMeshDynamicDataPool< FDynamicSkelMeshObjectDataGPUSkin >

Member Data Documentation

◆ ActiveMorphTargets

FMorphTargetWeightMap FDynamicSkelMeshObjectDataGPUSkin::ActiveMorphTargets

current morph targets active on this mesh

◆ BoneTransformFrameNumber

uint32 FDynamicSkelMeshObjectDataGPUSkin::BoneTransformFrameNumber

◆ bRecreating

uint8 FDynamicSkelMeshObjectDataGPUSkin::bRecreating

◆ ClothBlendWeight

float FDynamicSkelMeshObjectDataGPUSkin::ClothBlendWeight

a weight factor to blend between simulated positions and skinned positions

◆ ClothingSimData

TMap<int32, FClothSimulData> FDynamicSkelMeshObjectDataGPUSkin::ClothingSimData

data for updating cloth section

◆ ClothObjectLocalToWorld

FMatrix FDynamicSkelMeshObjectDataGPUSkin::ClothObjectLocalToWorld

store transform of the cloth object

◆ ExternalMorphSets

FExternalMorphSets FDynamicSkelMeshObjectDataGPUSkin::ExternalMorphSets

The external morph target sets for this specific LOD.

◆ ExternalMorphWeightData

FExternalMorphWeightData FDynamicSkelMeshObjectDataGPUSkin::ExternalMorphWeightData

The dynamic data for each external morph target set. This dynamic data contains things such as the weights for each set of external morph targets.

◆ GPUSkinTechnique

ESkeletalMeshGPUSkinTechnique FDynamicSkelMeshObjectDataGPUSkin::GPUSkinTechnique

The skinning technique to use for this mesh LOD.

◆ LocalToWorld

FMatrix FDynamicSkelMeshObjectDataGPUSkin::LocalToWorld

store transform of the object

◆ LODIndex

int32 FDynamicSkelMeshObjectDataGPUSkin::LODIndex

currently LOD for bones being updated

◆ MeshComponentSpaceTransforms

TArray<FTransform> FDynamicSkelMeshObjectDataGPUSkin::MeshComponentSpaceTransforms

component space bone transforms

◆ MorphTargetWeights

TArray<float> FDynamicSkelMeshObjectDataGPUSkin::MorphTargetWeights

All morph target weights on this mesh

◆ NumWeightedActiveMorphTargets

int32 FDynamicSkelMeshObjectDataGPUSkin::NumWeightedActiveMorphTargets

number of active morph targets with weights > 0

◆ PreviousBoneTransformUpdateMode

EPreviousBoneTransformUpdateMode FDynamicSkelMeshObjectDataGPUSkin::PreviousBoneTransformUpdateMode

◆ PreviousReferenceToLocal

TArray<FMatrix44f> FDynamicSkelMeshObjectDataGPUSkin::PreviousReferenceToLocal

Previous ref pose to local space transform

◆ PreviousReferenceToLocalForRayTracing

TArray<FMatrix44f> FDynamicSkelMeshObjectDataGPUSkin::PreviousReferenceToLocalForRayTracing

◆ PreviousRevisionNumber

uint32 FDynamicSkelMeshObjectDataGPUSkin::PreviousRevisionNumber

◆ ReferenceToLocal

TArray<FMatrix44f> FDynamicSkelMeshObjectDataGPUSkin::ReferenceToLocal

ref pose to local space transforms

◆ ReferenceToLocalForRayTracing

TArray<FMatrix44f> FDynamicSkelMeshObjectDataGPUSkin::ReferenceToLocalForRayTracing

◆ RevisionNumber

uint32 FDynamicSkelMeshObjectDataGPUSkin::RevisionNumber

◆ SectionIdsUseByActiveMorphTargets

TArray<int32> FDynamicSkelMeshObjectDataGPUSkin::SectionIdsUseByActiveMorphTargets

All section ID impacted by active morph target on this mesh

◆ SectionIdsUseByActiveMorphTargetsForRayTracing

TArray<int32> FDynamicSkelMeshObjectDataGPUSkin::SectionIdsUseByActiveMorphTargetsForRayTracing

The documentation for this class was generated from the following files: