UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSkeletalMeshObject Class Referenceabstract

#include <SkeletalRenderPublic.h>

+ Inheritance diagram for FSkeletalMeshObject:

Classes

struct  FSkelMeshObjectLODInfo
 

Public Member Functions

ENGINE_API FSkeletalMeshObject (const USkinnedMeshComponent *InMeshComponent, FSkeletalMeshRenderData *InSkelMeshRenderData, ERHIFeatureLevel::Type FeatureLevel)
 
ENGINE_API FSkeletalMeshObject (const FSkinnedMeshSceneProxyDesc &InMeshDesc, FSkeletalMeshRenderData *InSkelMeshRenderData, ERHIFeatureLevel::Type FeatureLevel)
 
virtual ENGINE_API ~FSkeletalMeshObject ()
 
virtual void InitResources (const FSkinnedMeshSceneProxyDesc &InMeshDesc)=0
 
virtual void ReleaseResources ()=0
 
ENGINE_API void Update (int32 LODIndex, const USkinnedMeshComponent *InMeshComponent, const FMorphTargetWeightMap &InActiveMorphTargets, const TArray< float > &MorphTargetWeights, EPreviousBoneTransformUpdateMode PreviousBoneTransformUpdateMode, const FExternalMorphWeightData &InExternalMorphWeightData)
 
virtual void Update (int32 LODIndex, const FSkinnedMeshSceneProxyDynamicData &InDynamicData, const FPrimitiveSceneProxy *InSceneProxy, const USkinnedAsset *InSkinnedAsset, const FMorphTargetWeightMap &InActiveMorphTargets, const TArray< float > &InMorphTargetWeights, EPreviousBoneTransformUpdateMode PreviousBoneTransformUpdateMode, const FExternalMorphWeightData &InExternalMorphWeightData)=0
 
virtual void PreGDMECallback (FRHICommandList &RHICmdList, class FGPUSkinCache *GPUSkinCache, uint32 FrameNumber)
 
virtual const FVertexFactoryGetSkinVertexFactory (const FSceneView *View, int32 LODIndex, int32 ChunkIdx, ESkinVertexFactoryMode VFMode=ESkinVertexFactoryMode::Default) const =0
 
virtual const FVertexFactoryGetStaticSkinVertexFactory (int32 LODIndex, int32 ChunkIdx, ESkinVertexFactoryMode VFMode) const =0
 
virtual const FSkinBatchVertexFactoryUserDataGetVertexFactoryUserData (const int32 LODIndex, int32 ChunkIdx, ESkinVertexFactoryMode VFMode) const
 
virtual bool IsCPUSkinned () const
 
virtual bool IsGPUSkinMesh () const
 
virtual bool IsNaniteMesh () const
 
virtual const Nanite::FMaterialAuditGetNaniteMaterials () const
 
virtual TArray< FTransform > * GetComponentSpaceTransforms () const =0
 
virtual TConstArrayView< FMatrix44fGetReferenceToLocalMatrices () const =0
 
virtual TConstArrayView< FMatrix44fGetPrevReferenceToLocalMatrices () const
 
virtual const TArray< FMatrix3x4 > * GetCurrentBoneTransforms () const
 
virtual const TArray< FMatrix3x4 > * GetPreviousBoneTransforms () const
 
virtual FSkinningSceneExtensionProxyCreateSceneExtensionProxy (const USkinnedAsset *InSkinnedAsset, bool bAllowScaling)
 
virtual bool GetCachedGeometry (FRDGBuilder &GraphBuilder, FCachedGeometry &OutCachedGeometry) const
 
bool GetCachedGeometry (FCachedGeometry &OutCachedGeometry) const
 
void UpdateSkinWeightBuffer (const USkinnedMeshComponent *InMeshComponent)
 
virtual void UpdateSkinWeightBuffer (const TArrayView< const FSkelMeshComponentLODInfo > InLODInfo)=0
 
virtual int32 GetLOD () const =0
 
virtual void EnableOverlayRendering (bool bEnabled, const TArray< int32 > *InBonesOfInterest, const TArray< UMorphTarget * > *MorphTargetOfInterest)
 
virtual void DrawVertexElements (FPrimitiveDrawInterface *PDI, const FMatrix &ToWorldSpace, bool bDrawNormals, bool bDrawTangents, bool bDrawBinormals) const
 
void UpdateMinDesiredLODLevel (const FSceneView *View, const FBoxSphereBounds &Bounds)
 
virtual bool HaveValidDynamicData () const =0
 
bool ShouldUsePerBoneMotionBlur () const
 
virtual void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)=0
 
ENGINE_API const TArray< FSkelMeshRenderSection > & GetRenderSections (int32 InLODIndex) const
 
void SetHiddenMaterials (int32 InLODIndex, const TArray< bool > &HiddenMaterials)
 
bool IsMaterialHidden (int32 InLODIndex, int32 MaterialIdx) const
 
void InitLODInfos (const TArrayView< const FSkelMeshComponentLODInfo > InComponentLODInfo, const USkinnedAsset *InSkinnedAsset)
 
uint32 GetComponentId () const
 
TStatId GetStatId () const
 
FSkeletalMeshRenderDataGetSkeletalMeshRenderData () const
 
FColor GetSkinCacheVisualizationDebugColor (const FName &GPUSkinCacheVisualizationMode, uint32 SectionIndex) const
 
FName GetAssetPathName (int32 LODIndex=-1) const
 
virtual void SetTransform (const FMatrix &InNewLocalToWorld, uint32 FrameNumber)
 
virtual void RefreshClothingTransforms (const FMatrix &InNewLocalToWorld, uint32 FrameNumber)
 
FName GetDebugName () const
 
ERHIFeatureLevel::Type GetFeatureLevel () const
 
bool SupportsStaticRelevance () const
 
float GetScreenSize (int32 LODIndex) const
 
virtual const FSkinWeightVertexBufferGetSkinWeightVertexBuffer (int32 LODIndex) const
 
virtual int32 GetDynamicBoundsStartOffset (int32 LODIndex) const
 
- Public Member Functions inherited from FDeferredCleanupInterface
virtual ~FDeferredCleanupInterface ()
 

Static Public Member Functions

static FSkinWeightVertexBufferGetSkinWeightVertexBuffer (FSkeletalMeshLODRenderData &LODData, const FSkelMeshComponentLODInfo *CompLODInfo)
 
static FColorVertexBufferGetColorVertexBuffer (FSkeletalMeshLODRenderData &LODData, const FSkelMeshComponentLODInfo *CompLODInfo)
 

Public Attributes

TArray< FSkelMeshObjectLODInfoLODInfo
 
TArray< FCapsuleShape3fShadowCapsuleShapes
 
int32 MinDesiredLODLevel
 
float MaxDistanceFactor
 
int32 WorkingMinDesiredLODLevel
 
float WorkingMaxDistanceFactor
 
bool bHasBeenUpdatedAtLeastOnce
 
FName DebugName
 

Protected Attributes

FSkeletalMeshRenderDataSkeletalMeshRenderData
 
FGPUSkinCacheEntrySkinCacheEntry
 
FGPUSkinCacheEntrySkinCacheEntryForRayTracing
 
uint32 LastFrameNumber
 
UE::FMutex DesiredLODLevelMutex
 
bool bUsePerBoneMotionBlur
 
bool bSupportsStaticRelevance = false
 
TStatId StatId
 
ERHIFeatureLevel::Type FeatureLevel
 
uint32 ComponentId
 
FVector WorldScale = FVector::OneVector
 

Friends

class FDynamicSkelMeshObjectDataCPUSkin
 
class FDynamicSkelMeshObjectDataGPUSkin
 
class FSkeletalMeshSceneProxy
 
class FSkeletalMeshSectionIter
 

Constructor & Destructor Documentation

◆ FSkeletalMeshObject() [1/2]

FSkeletalMeshObject::FSkeletalMeshObject ( const USkinnedMeshComponent InMeshComponent,
FSkeletalMeshRenderData InSkelMeshRenderData,
ERHIFeatureLevel::Type  FeatureLevel 
)

◆ FSkeletalMeshObject() [2/2]

FSkeletalMeshObject::FSkeletalMeshObject ( const FSkinnedMeshSceneProxyDesc InMeshDesc,
FSkeletalMeshRenderData InSkelMeshRenderData,
ERHIFeatureLevel::Type  FeatureLevel 
)

◆ ~FSkeletalMeshObject()

FSkeletalMeshObject::~FSkeletalMeshObject ( )
virtual

Member Function Documentation

◆ CreateSceneExtensionProxy()

FSkinningSceneExtensionProxy * FSkeletalMeshObject::CreateSceneExtensionProxy ( const USkinnedAsset InSkinnedAsset,
bool  bAllowScaling 
)
virtual

◆ DrawVertexElements()

virtual void FSkeletalMeshObject::DrawVertexElements ( FPrimitiveDrawInterface PDI,
const FMatrix ToWorldSpace,
bool  bDrawNormals,
bool  bDrawTangents,
bool  bDrawBinormals 
) const
inlinevirtual

Draw Normals/Tangents based on skinned vertex data

Parameters
PDI- Draw Interface
ToWorldSpace- Transform from component space to world space
bDrawNormals- Should draw vertex normals
bDrawTangents- Should draw vertex tangents
bDrawBinormals- Should draw vertex binormals

Reimplemented in FSkeletalMeshObjectCPUSkin, and FSkeletalMeshObjectStatic.

◆ EnableOverlayRendering()

virtual void FSkeletalMeshObject::EnableOverlayRendering ( bool  bEnabled,
const TArray< int32 > *  InBonesOfInterest,
const TArray< UMorphTarget * > *  MorphTargetOfInterest 
)
inlinevirtual

Enable blend weight rendering in the editor

Parameters
bEnabled- turn on or off the rendering mode optional parameters will decide which one to draw
(optional)BonesOfInterest - array of bone indices to capture weights for
(optional)MorphTargetsOfInterest - array of morphtargets to render for

Reimplemented in FSkeletalMeshObjectCPUSkin, and FSkeletalMeshObjectStatic.

◆ GetAssetPathName()

FName FSkeletalMeshObject::GetAssetPathName ( int32  LODIndex = -1) const

Helper function to return the asset path name, optionally joined with the LOD index if LODIndex > -1.

◆ GetCachedGeometry() [1/2]

bool FSkeletalMeshObject::GetCachedGeometry ( FCachedGeometry OutCachedGeometry) const
inline

◆ GetCachedGeometry() [2/2]

virtual bool FSkeletalMeshObject::GetCachedGeometry ( FRDGBuilder GraphBuilder,
FCachedGeometry OutCachedGeometry 
) const
inlinevirtual

If we are caching geometry deformation through skin-cache/mesh-deformers or other, then this returns the currently cached geoemtry.

Reimplemented in FSkeletalMeshObjectGPUSkin.

◆ GetColorVertexBuffer()

FColorVertexBuffer * FSkeletalMeshObject::GetColorVertexBuffer ( FSkeletalMeshLODRenderData LODData,
const FSkelMeshComponentLODInfo CompLODInfo 
)
static

Get the color buffer either from the component LOD info or the skeletal mesh LOD render data

◆ GetComponentId()

uint32 FSkeletalMeshObject::GetComponentId ( ) const
inline

Return the ID of the component to which the skeletal mesh object belongs to.

◆ GetComponentSpaceTransforms()

virtual TArray< FTransform > * FSkeletalMeshObject::GetComponentSpaceTransforms ( ) const
pure virtual

Get the array of component-space bone transforms. May include transforms that are inherited by follower components. Not safe to hold this point between frames, because it exists in dynamic data passed from main thread.

Implemented in FSkeletalMeshObjectCPUSkin, FSkeletalMeshObjectGPUSkin, FInstancedSkeletalMeshObjectGPUSkin, FSkeletalMeshObjectNanite, FInstancedSkeletalMeshObjectNanite, and FSkeletalMeshObjectStatic.

◆ GetCurrentBoneTransforms()

virtual const TArray< FMatrix3x4 > * FSkeletalMeshObject::GetCurrentBoneTransforms ( ) const
inlinevirtual

◆ GetDebugName()

FName FSkeletalMeshObject::GetDebugName ( ) const
inline

◆ GetDynamicBoundsStartOffset()

virtual int32 FSkeletalMeshObject::GetDynamicBoundsStartOffset ( int32  LODIndex) const
inlinevirtual

Get the offset in the dynamic mesh bounds buffer for the current LOD. Only needed for GPU skin cache.

Reimplemented in FSkeletalMeshObjectGPUSkin.

◆ GetFeatureLevel()

ERHIFeatureLevel::Type FSkeletalMeshObject::GetFeatureLevel ( ) const
inline

returns the feature level this FSkeletalMeshObject was created with

◆ GetLOD()

◆ GetNaniteMaterials()

virtual const Nanite::FMaterialAudit * FSkeletalMeshObject::GetNaniteMaterials ( ) const
inlinevirtual

Returns a valid object if IsNaniteMesh() == true

Reimplemented in FSkeletalMeshObjectNanite, and FInstancedSkeletalMeshObjectNanite.

◆ GetPreviousBoneTransforms()

virtual const TArray< FMatrix3x4 > * FSkeletalMeshObject::GetPreviousBoneTransforms ( ) const
inlinevirtual

◆ GetPrevReferenceToLocalMatrices()

virtual TConstArrayView< FMatrix44f > FSkeletalMeshObject::GetPrevReferenceToLocalMatrices ( ) const
inlinevirtual

Get the array of previous refpose->local matrices Not safe to hold this reference between frames, because it exists in dynamic data passed from main thread.

Reimplemented in FSkeletalMeshObjectGPUSkin, FInstancedSkeletalMeshObjectGPUSkin, FSkeletalMeshObjectNanite, and FInstancedSkeletalMeshObjectNanite.

◆ GetReferenceToLocalMatrices()

virtual TConstArrayView< FMatrix44f > FSkeletalMeshObject::GetReferenceToLocalMatrices ( ) const
pure virtual

Get the array of refpose->local matrices Not safe to hold this reference between frames, because it exists in dynamic data passed from main thread.

Implemented in FSkeletalMeshObjectCPUSkin, FSkeletalMeshObjectGPUSkin, FInstancedSkeletalMeshObjectGPUSkin, FSkeletalMeshObjectNanite, FInstancedSkeletalMeshObjectNanite, and FSkeletalMeshObjectStatic.

◆ GetRenderSections()

const TArray< FSkelMeshRenderSection > & FSkeletalMeshObject::GetRenderSections ( int32  InLODIndex) const

List of sections to be rendered based on instance weight usage. Full swap of weights will render with its own sections.

Returns
Sections to iterate over for rendering

List of chunks to be rendered based on instance weight usage. Full swap of weights will render with its own chunks.

Returns
Chunks to iterate over for rendering

◆ GetResourceSizeEx()

virtual void FSkeletalMeshObject::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
pure virtual

◆ GetScreenSize()

float FSkeletalMeshObject::GetScreenSize ( int32  LODIndex) const

Returns the display factor for the given LOD level

@Param LODIndex - The LOD to get the display factor for

◆ GetSkeletalMeshRenderData()

FSkeletalMeshRenderData & FSkeletalMeshObject::GetSkeletalMeshRenderData ( ) const
inline

Get the skeletal mesh resource for which this mesh object was created.

◆ GetSkinCacheVisualizationDebugColor()

FColor FSkeletalMeshObject::GetSkinCacheVisualizationDebugColor ( const FName GPUSkinCacheVisualizationMode,
uint32  SectionIndex 
) const

◆ GetSkinVertexFactory()

virtual const FVertexFactory * FSkeletalMeshObject::GetSkinVertexFactory ( const FSceneView View,
int32  LODIndex,
int32  ChunkIdx,
ESkinVertexFactoryMode  VFMode = ESkinVertexFactoryMode::Default 
) const
pure virtual
Parameters
View- View, must not be 0, allows to cull depending on showflags (normally not needed/used in SHIPPING)
LODIndex- each LOD has its own vertex data
ChunkIdx- not used
Returns
vertex factory for rendering the LOD, 0 to suppress rendering

Implemented in FInstancedSkeletalMeshObjectGPUSkin, FInstancedSkeletalMeshObjectNanite, FSkeletalMeshObjectCPUSkin, FSkeletalMeshObjectGPUSkin, FSkeletalMeshObjectNanite, and FSkeletalMeshObjectStatic.

◆ GetSkinWeightVertexBuffer() [1/2]

FSkinWeightVertexBuffer * FSkeletalMeshObject::GetSkinWeightVertexBuffer ( FSkeletalMeshLODRenderData LODData,
const FSkelMeshComponentLODInfo CompLODInfo 
)
static

Get the weight buffer either from the component LOD info or the skeletal mesh LOD render data

◆ GetSkinWeightVertexBuffer() [2/2]

virtual const FSkinWeightVertexBuffer * FSkeletalMeshObject::GetSkinWeightVertexBuffer ( int32  LODIndex) const
inlinevirtual

Get the weight buffer for specific LOD index. Only needed for GPU skin cache

Reimplemented in FSkeletalMeshObjectGPUSkin, and FSkeletalMeshObjectNanite.

◆ GetStaticSkinVertexFactory()

virtual const FVertexFactory * FSkeletalMeshObject::GetStaticSkinVertexFactory ( int32  LODIndex,
int32  ChunkIdx,
ESkinVertexFactoryMode  VFMode 
) const
pure virtual

◆ GetStatId()

TStatId FSkeletalMeshObject::GetStatId ( ) const
inline

◆ GetVertexFactoryUserData()

virtual const FSkinBatchVertexFactoryUserData * FSkeletalMeshObject::GetVertexFactoryUserData ( const int32  LODIndex,
int32  ChunkIdx,
ESkinVertexFactoryMode  VFMode 
) const
inlinevirtual

◆ HaveValidDynamicData()

virtual bool FSkeletalMeshObject::HaveValidDynamicData ( ) const
pure virtual

◆ InitLODInfos()

void FSkeletalMeshObject::InitLODInfos ( const TArrayView< const FSkelMeshComponentLODInfo InComponentLODInfo,
const USkinnedAsset InSkinnedAsset 
)

Initialize the array of LODInfo based on the settings of the current skel mesh component

◆ InitResources()

virtual void FSkeletalMeshObject::InitResources ( const FSkinnedMeshSceneProxyDesc InMeshDesc)
pure virtual

◆ IsCPUSkinned()

virtual bool FSkeletalMeshObject::IsCPUSkinned ( ) const
inlinevirtual

Returns true if this mesh performs skinning on the CPU.

Reimplemented in FSkeletalMeshObjectCPUSkin, and FSkeletalMeshObjectStatic.

◆ IsGPUSkinMesh()

virtual bool FSkeletalMeshObject::IsGPUSkinMesh ( ) const
inlinevirtual

Returns true if this mesh is an FSkeletalMeshObjectGPUSkin

Reimplemented in FSkeletalMeshObjectGPUSkin, and FInstancedSkeletalMeshObjectGPUSkin.

◆ IsMaterialHidden()

bool FSkeletalMeshObject::IsMaterialHidden ( int32  InLODIndex,
int32  MaterialIdx 
) const

Determine if the material section entry for an LOD is hidden or not

Parameters
InLODIndex- LOD entry to get hidden material flags for
MaterialIdx- index of the material section to check

◆ IsNaniteMesh()

virtual bool FSkeletalMeshObject::IsNaniteMesh ( ) const
inlinevirtual

Returns true if this mesh is an FSkeletalMeshObjectNanite

Reimplemented in FSkeletalMeshObjectNanite, and FInstancedSkeletalMeshObjectNanite.

◆ PreGDMECallback()

virtual void FSkeletalMeshObject::PreGDMECallback ( FRHICommandList RHICmdList,
class FGPUSkinCache GPUSkinCache,
uint32  FrameNumber 
)
inlinevirtual

Called by FSkeletalMeshObject prior to GDME. This allows the GPU skin version to update bones etc now that we know we are going to render

Parameters
FrameNumberfrom GFrameNumber

◆ RefreshClothingTransforms()

virtual void FSkeletalMeshObject::RefreshClothingTransforms ( const FMatrix InNewLocalToWorld,
uint32  FrameNumber 
)
inlinevirtual

Called to notify clothing data that component transform has changed

Reimplemented in FSkeletalMeshObjectGPUSkin.

◆ ReleaseResources()

virtual void FSkeletalMeshObject::ReleaseResources ( )
pure virtual

◆ SetHiddenMaterials()

void FSkeletalMeshObject::SetHiddenMaterials ( int32  InLODIndex,
const TArray< bool > &  HiddenMaterials 
)

Update the hidden material section flags for an LOD entry

Parameters
InLODIndex- LOD entry to update hidden material flags for
HiddenMaterials- array of hidden material sections

◆ SetTransform()

virtual void FSkeletalMeshObject::SetTransform ( const FMatrix InNewLocalToWorld,
uint32  FrameNumber 
)
inlinevirtual

Called when that component transform has changed

Reimplemented in FSkeletalMeshObjectGPUSkin.

◆ ShouldUsePerBoneMotionBlur()

bool FSkeletalMeshObject::ShouldUsePerBoneMotionBlur ( ) const
inline
Returns
if per-bone motion blur is enabled for this object. This includes is the system overwrites the skeletal mesh setting.

◆ SupportsStaticRelevance()

bool FSkeletalMeshObject::SupportsStaticRelevance ( ) const
inline

◆ Update() [1/2]

virtual void FSkeletalMeshObject::Update ( int32  LODIndex,
const FSkinnedMeshSceneProxyDynamicData InDynamicData,
const FPrimitiveSceneProxy InSceneProxy,
const USkinnedAsset InSkinnedAsset,
const FMorphTargetWeightMap InActiveMorphTargets,
const TArray< float > &  InMorphTargetWeights,
EPreviousBoneTransformUpdateMode  PreviousBoneTransformUpdateMode,
const FExternalMorphWeightData InExternalMorphWeightData 
)
pure virtual

◆ Update() [2/2]

void FSkeletalMeshObject::Update ( int32  LODIndex,
const USkinnedMeshComponent InMeshComponent,
const FMorphTargetWeightMap InActiveMorphTargets,
const TArray< float > &  MorphTargetWeights,
EPreviousBoneTransformUpdateMode  PreviousBoneTransformUpdateMode,
const FExternalMorphWeightData InExternalMorphWeightData 
)

Called by the game thread for any dynamic data updates for this skel mesh object

Parameters
LODIndex- lod level to update
InSkeletalMeshComponen- parent prim component doing the updating
ActiveMorphs- morph targets to blend with during skinning

◆ UpdateMinDesiredLODLevel()

void FSkeletalMeshObject::UpdateMinDesiredLODLevel ( const FSceneView View,
const FBoxSphereBounds Bounds 
)

Given a set of views, update the MinDesiredLODLevel member to indicate the minimum (ie best) LOD we would like to use to render this mesh. This is called from the rendering thread (PreRender) so be very careful what you read/write to.

Parameters
FrameNumberfrom ViewFamily.FrameNumber

◆ UpdateSkinWeightBuffer() [1/2]

◆ UpdateSkinWeightBuffer() [2/2]

void FSkeletalMeshObject::UpdateSkinWeightBuffer ( const USkinnedMeshComponent InMeshComponent)

Will force re-evaluating which Skin Weight buffer should be used for skinning, determined by checking for any override weights or a skin weight profile being set. This prevents re-creating the vertex factories, but rather updates the bindings in place.

Friends And Related Symbol Documentation

◆ FDynamicSkelMeshObjectDataCPUSkin

◆ FDynamicSkelMeshObjectDataGPUSkin

◆ FSkeletalMeshSceneProxy

◆ FSkeletalMeshSectionIter

Member Data Documentation

◆ bHasBeenUpdatedAtLeastOnce

bool FSkeletalMeshObject::bHasBeenUpdatedAtLeastOnce

This is set to true when we have sent our Mesh data to the rendering thread at least once as it needs to have have a datastructure created there for each MeshObject

◆ bSupportsStaticRelevance

bool FSkeletalMeshObject::bSupportsStaticRelevance = false
protected

If true, the skeletal mesh will take the static relevance path using cached mesh draw commands.

◆ bUsePerBoneMotionBlur

bool FSkeletalMeshObject::bUsePerBoneMotionBlur
protected

If true, per-bone motion blur is enabled for this object. This includes is the system overwrites the skeletal mesh setting.

◆ ComponentId

uint32 FSkeletalMeshObject::ComponentId
protected

Component ID to which belong this mesh object

◆ DebugName

FName FSkeletalMeshObject::DebugName

◆ DesiredLODLevelMutex

UE::FMutex FSkeletalMeshObject::DesiredLODLevelMutex
protected

Guards the call to UpdateMinDesiredLODLevel

◆ FeatureLevel

ERHIFeatureLevel::Type FSkeletalMeshObject::FeatureLevel
protected

Feature level to render for.

◆ LastFrameNumber

uint32 FSkeletalMeshObject::LastFrameNumber
protected

Used to keep track of the first call to UpdateMinDesiredLODLevel each frame. from ViewFamily.FrameNumber

◆ LODInfo

TArray<FSkelMeshObjectLODInfo> FSkeletalMeshObject::LODInfo

◆ MaxDistanceFactor

float FSkeletalMeshObject::MaxDistanceFactor

High (best) DistanceFactor that was desired for rendering this SkeletalMesh last frame. Represents how big this mesh was in screen space
This should only ever be WRITTEN by the RENDER thread (in FSkeletalMeshProxy::PreRenderView) and READ by the GAME thread (in USkeletalMeshComponent::UpdateSkelPose).

◆ MinDesiredLODLevel

int32 FSkeletalMeshObject::MinDesiredLODLevel

Lowest (best) LOD that was desired for rendering this SkeletalMesh last frame.

Note that if LOD streaming is enabled, the desired LOD is not guaranteed to be currently loaded.

This should only ever be WRITTEN by the RENDER thread (in FSkeletalMeshProxy::PreRenderView) and READ by the GAME thread (in USkeletalMeshComponent::UpdateSkelPose).

◆ ShadowCapsuleShapes

TArray<FCapsuleShape3f> FSkeletalMeshObject::ShadowCapsuleShapes

◆ SkeletalMeshRenderData

FSkeletalMeshRenderData* FSkeletalMeshObject::SkeletalMeshRenderData
protected

The skeletal mesh resource with which to render.

◆ SkinCacheEntry

FGPUSkinCacheEntry* FSkeletalMeshObject::SkinCacheEntry
protected

◆ SkinCacheEntryForRayTracing

FGPUSkinCacheEntry* FSkeletalMeshObject::SkinCacheEntryForRayTracing
protected

◆ StatId

TStatId FSkeletalMeshObject::StatId
protected

Used for dynamic stats

◆ WorkingMaxDistanceFactor

float FSkeletalMeshObject::WorkingMaxDistanceFactor

This frames max distance factor. This is copied (flipped) to MaxDistanceFactor at the beginning of the next frame.

◆ WorkingMinDesiredLODLevel

int32 FSkeletalMeshObject::WorkingMinDesiredLODLevel

This frames min desired LOD level. This is copied (flipped) to MinDesiredLODLevel at the beginning of the next frame.

◆ WorldScale

FVector FSkeletalMeshObject::WorldScale = FVector::OneVector
protected

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