FSkeletalMeshSceneProxy

A skeletal mesh component scene proxy.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/SkeletalMeshTypes.h

Include

#include "SkeletalMeshTypes.h"

Syntax

class FSkeletalMeshSceneProxy : public FPrimitiveSceneProxy

Remarks

A skeletal mesh component scene proxy.

Variables

Name Description

Protected variable

uint8: 1

 

bCanHighlightSelectedSections

Protected variable

uint8: 1

 

bDrawDebugSkeleton

Protected variable

uint8: 1

 

bForceWireframe

Data copied for rendering

Protected variable

uint8: 1

 

bIsCPUSkinned

Protected variable

bool

 

bMaterialsNeedMorphUsage_GameThread

Protected variable

uint8: 1

 

bRenderStatic

Protected variable

TOptional< FLin...

 

DebugDrawColor

The color we draw this component in if drawing debug bones

Protected variable

TEnumAsByte< ER...

 

FeatureLevel

Protected variable

TArray< FLODSec...

 

LODSections

Array of section elements for each LOD

Protected variable

FMaterialReleva...

 

MaterialRelevance

Protected variable

TSet< UMaterial...

 

MaterialsInUse_GameThread

Set of materials used by this scene proxy, safe to access from the game thread.

Protected variable

FSkeletalMeshOb...

 

MeshObject

Protected variable

AActor *

 

Owner

Protected variable

UPhysicsAsset &...

 

PhysicsAssetForDebug

Protected variable

FBoxSphereBound...

 

PreSkinnedLocalBounds

The primitive's pre-skinned local space bounds.

Protected variable

TArray< uint16 ...

 

ShadowCapsuleBoneIndices

Protected variable

TArray< TPair< ...

 

ShadowCapsuleData

BoneIndex->capsule pairs used for rendering sphere/capsule shadows Note that these are in refpose component space, NOT bone space.

Protected variable

const USkeletal...

 

SkeletalMeshForDebug

The points to the skeletal mesh and physics assets are purely for debug purposes.

Protected variable

FSkeletalMeshRe...

 

SkeletalMeshRenderData

Protected variable

float

 

StreamingDistanceMultiplier

The component streaming distance multiplier

Constructors

Name Description

Public function

FSkeletalMeshSceneProxy

(
    const USkinnedMeshComponent* C...,
    FSkeletalMeshRenderData* InSke...
)

Constructor.

Functions

Name Description

Public function Virtual Const

void

 

DebugDrawPhysicsAsset

(
    int32 ViewIndex,
    FMeshElementCollector& Collector,
    const FEngineShowFlags& EngineShow...
)

Render physics asset for debug display

Public function Const

void

 

DebugDrawSkeleton

(
    int32 ViewIndex,
    FMeshElementCollector& Collector,
    const FEngineShowFlags& EngineShow...
)

Render the bones of the skeleton for debug display

Public function Const

uint32

 

GetAllocatedSize()

Protected function Const

uint8

 

GetCurrentFirstLODIdx_Internal()

Only call on render thread timeline

Public function

int32

 

GetCurrentLODIndex()

Util for getting LOD index currently used by this SceneProxy.

Protected function Const

void

 

GetDynamicElementsSection

(
    const TArray< const FSceneView*...,
    const FSceneViewFamily& ViewFamily,
    uint32 VisibilityMap,
    const FSkeletalMeshLODRenderData& ...,
    const int32 LODIndex,
    const int32 SectionIndex,
    bool bSectionSelected,
    const FSectionElementInfo& Section...,
    bool bInSelectable,
    FMeshElementCollector& Collector
)

Public function Virtual Const

bool

 

GetMaterialTextureScales

(
    int32 LODIndex,
    int32 SectionIndex,
    const FMaterialRenderProxy* Ma...,
    FVector4* OneOverScales,
    FIntVector4* UVChannelIndices
)

Protected function Const

void

 

GetMeshElementsConditionallySelectable

(
    const TArray< const FSceneView*...,
    const FSceneViewFamily& ViewFamily,
    bool bInSelectable,
    uint32 VisibilityMap,
    FMeshElementCollector& Collector
)

Public function Const

const TArray...

 

GetMeshObjectReferenceToLocalMatrices()

Public function Const

const TIndir...

 

GetSkeletalMeshRenderDataLOD()

Public function Const

const TArray...

 

GetSortedShadowBoneIndices()

Returns a pre-sorted list of shadow capsules's bone indicies

Public function Const

bool

 

GetWorldMatrices

(
    FMatrix& OutLocalToWorld,
    FMatrix& OutWorldToLocal
)

Returns the world transform to use for drawing. Returns the world transform to use for drawing.

Public function

void

 

UpdateMorphMaterialUsage_GameThread

(
    TArray< UMaterialInterface* > ...
)

Updates morph material usage for materials referenced by each LOD entry

Overridden from FPrimitiveSceneProxy

Name Description

Public function Virtual Const

bool

 

CanBeOccluded()

Public function Virtual

HHitProxy &#...

 

CreateHitProxies

(
    UPrimitiveComponent* Component,
    TArray< TRefCountPtr< HHitProxy > >...
)

Creates the hit proxies are used when DrawDynamicElements is called. Called in the game thread.

Public function Virtual

void

 

DrawStaticElements

Draws the primitive's static elements.

Public function Virtual Const

uint8

 

GetCurrentFirstLODIdx_RenderThread()

Public function Virtual Const

void

 

GetDynamicMeshElements

(
    const TArray< const FSceneView*...,
    const FSceneViewFamily& ViewFamily,
    uint32 VisibilityMap,
    FMeshElementCollector& Collector
)

Gathers the primitive's dynamic mesh elements.

Public function Virtual Const

uint32

 

GetMemoryFootprint()

Every derived class should override these functions

Public function Virtual Const

bool

 

GetMeshUVDensities

(
    int32 LODIndex,
    int32 SectionIndex,
    FVector4& WorldUVDensities
)

Get mesh UV density for a LOD-section.

Public function Virtual Const

void

 

GetPreSkinnedLocalBounds

(
    FBoxSphereBounds& OutBounds
)

Return the bounds for the pre-skinned primitive in local space

Public function Virtual Const

bool

 

GetPrimitiveDistance

(
    int32 LODIndex,
    int32 SectionIndex,
    const FVector& ViewOrigin,
    float& PrimitiveDistance
)

Get primitive distance to view origin for a given LOD-section.

Public function Virtual Const

void

 

GetShadowShapes

(
    TArray< FCapsuleShape >& CapsuleSh...
)

Gathers shadow shapes from this proxy.

Public function Virtual Const

SIZE_T

 

GetTypeHash()

Return a type (or subtype) specific hash for sorting purposes

Public function Virtual Const

FPrimitiveVi...

 

GetViewRelevance

(
    const FSceneView* View
)

Relevance is always dynamic for skel meshes unless they are disabled

Public function Virtual Const

bool

 

HasDynamicIndirectShadowCasterRepresentation()

Public function Virtual Const

bool

 

IsUsingDistanceCullFade()

Public function Virtual

void

 

OnTransformChanged()

Called to notify the proxy when its transform has been updated.

Classes

Name

Description

Protected struct

FLODSectionElements

Section elements for a particular LOD

Protected struct

FSectionElementInfo

Info for section element in an LOD

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss