UDebugSkelMeshComponent

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

UnrealEd

Header

/Engine/Source/Editor/UnrealEd/Classes/Animation/DebugSkelMeshComponent.h

Include

#include "Animation/DebugSkelMeshComponent.h"

Syntax

class UDebugSkelMeshComponent : public USkeletalMeshComponent

Variables

Name Description

Public variable

TArray< FTransf...

 

AdditiveBasePoses

Storage of Additive Base Pose for when bDisplayAdditiveBasePose == true, as they have to be calculated

Public variable

TArray< FAnimNo...

 

AnimNotifyErrors

Public variable

TArray< FTransf...

 

BakedAnimationPoses

Storage of Baked Animation Pose for when bDisplayBakedAnimation == true, as they have to be calculated

Public variable

bool

 

bClothCullBackface

Public variable

bool

 

bClothFlipNormal

Public variable

uint32: 1

 

bDisplayAdditiveBasePose

Display additive base bone transform

Public variable

uint32: 1

 

bDisplayBakedAnimation

Display baked animation pose

Public variable

bool

 

bDisplayBound

Display Bound

Public variable

uint32: 1

 

bDisplayNonRetargetedPose

Display non retargeted animation pose

Public variable

uint32: 1

 

bDisplayRawAnimation

Display raw animation bone transform

Public variable

uint32: 1

 

bDisplaySourceAnimation

Display source animation pose

Public variable

bool

 

bDisplayVertexColors

Public variable

uint32: 1

 

bDrawAttributes

Attribute visualization

Public variable

uint32: 1

 

bDrawBinormals

Vertex binormal viewing

Public variable

uint32: 1

 

bDrawBoneInfluences

Bone influences viewing

Public variable

uint32: 1

 

bDrawMesh

Holds onto the bone color that will be used to render the bones of its skeletal mesh If true then the skeletal mesh associated with the component is drawn.

Public variable

uint32: 1

 

bDrawMorphTargetVerts

Morphtarget viewing

Public variable

uint32: 1

 

bDrawNormals

Vertex normal viewing

Public variable

uint32: 1

 

bDrawSockets

Socket hit points viewing

Public variable

uint32: 1

 

bDrawTangents

Vertex tangent viewing

Public variable

bool

 

bIsUsingInGameBounds

Does this component use in game bounds or does it use bounds calculated from bones

Public variable

bool

 

bIsUsingPreSkinnedBounds

Does this component use pre-skinned bounds? This overrides other bounds settings

Public variable

uint32: 1

 

bMeshSocketsVisible

Mesh sockets visible?

Public variable

float

 

BoneRadiusMultiplier

Multiplier for the bone radius rendering

Public variable

TArray< int32 >

 

BonesOfInterest

Array of bones to render bone weights for

Public variable

bool

 

bPauseClothingSimulationWithAnim

Public variable

bool

 

bPerformSingleClothingTick

Base skel mesh has support for suspending clothing, but single ticks are more of a debug feature when stepping through an animation So we control that using this flag

Public variable

uint32: 1

 

bRenderRawSkeleton

If true, render a wireframe skeleton of the mesh animated with the raw (uncompressed) animation data.

Public variable

uint32: 1

 

bRequiredBonesUpToDateDuringTick

Public variable

uint32: 1

 

bShowBoneNames

If true then the bone names associated with the skeletal mesh are displayed

Public variable

uint32: 1

 

bShowClothData

Public variable

uint32: 1

 

bSkeletonSocketsVisible

Skeleton sockets visible?

Public variable

bool

 

bTrackAttachedInstanceLOD

Should the LOD of the debug mesh component track the LOD of the instance being debugged

Public variable

FBoxSphereBound...

 

CachedClothBounds

Bounds computed from cloth.

Public variable

float

 

ClothMeshOpacity

Public variable

float

 

ConsumeRootMotionPreviousPlaybackTime

Playback time last time ConsumeRootmotion was called

Public variable

float

 

MaxClothPropertyView

Public variable

float

 

MinClothPropertyView

Public variable

TArray< TObject...

 

MorphTargetOfInterests

Array of morphtargets to render verts for

Public variable

TArray< FTransf...

 

NonRetargetedSpaceBases

Storage for non retargeted pose.

Public variable

TObjectPtr< cla...

 

PreviewInstance

Public variable

EProcessRootMot...

 

ProcessRootMotionMode

Process root motion mode

Public variable

TObjectPtr< cla...

 

SavedAnimScriptInstance

Public variable

FGuid

 

SelectedClothingGuidForPainting

The currently selected asset guid if we're painting, used to build dynamic mesh to paint sim parameters

Public variable

int32

 

SelectedClothingLodForPainting

The currently selected LOD for painting

Public variable

int32

 

SelectedClothingLodMaskForPainting

The currently selected mask inside the above LOD to be painted

Public variable

TArray< TObject...

 

SkelMaterials

Array of materials to restore when not rendering blend weights

Public variable

TArray< FVector...

 

SkinnedSelectedClothingNormals

Public variable

TArray< FVector...

 

SkinnedSelectedClothingPositions

Public variable

TArray< FTransf...

 

SourceAnimationPoses

Storage of Source Animation Pose for when bDisplaySourceAnimation == true, as they have to be calculated

Public variable

EPersonaTurnTab...

 

TurnTableMode

Current turn table mode

Public variable

float

 

TurnTableSpeedScaling

Current turn table speed scaling

Public variable

TArray< FTransf...

 

UncompressedSpaceBases

Non Compressed SpaceBases for when bDisplayRawAnimation == true

Public variable

FLinearColor

 

WireframeMeshOverlayColor

Constructors

Name Description

Public function

UDebugSkelMeshComponent

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Virtual Const

bool

 

CanOverrideCollisionProfile()

Public function Const

bool

 

CanUseProcessRootMotionMode

(
    EProcessRootMotionMode Mode
)

Whether the supplied root motion mode can be used for the current asset

Public function

bool

 

CheckIfBoundsAreCorrrect()

Test if in-game bounds are as big as preview bounds

Public function

void

 

ConsumeRootMotion

(
    const FVector& FloorMin,
    const FVector& FloorMax
)

Update components position based on animation root motion

Public function

void

 

DisableAllBodiesSimulatePhysics()

Force all body instance to not simulate physics regardless of their physic type To get back in a default state call : ResetAllBodiesSimulatePhysics

Public function Const

bool

 

DoesCurrentAssetHaveRootMotion()

Whether the current asset is using root motion

Public function Virtual

void

 

EnablePreview

(
    bool bEnable,
    UAnimationAsset* PreviewAsset
)

Public function Virtual Const

const TArray...

 

GetDrawBoneIndices()

Return bone indices to draw

Public function Virtual Const

FTransform

 

GetDrawTransform

(
    int32 BoneIndex
)

Returns the transform of the joint

Public function Const

const TArray...

 

GetExtendedViewportTextDelegates()

Public function

IClothingSim...

 

GetMutableClothingSimulation()

To normal game/runtime code we don't want to expose a non-const pointer to the simulation, so we can only get one from this editor-only component.

Public function Virtual Const

int32

 

GetNumDrawTransform()

Public function Const

FString

 

GetPreviewText()

Public function Const

EProcessRoot...

 

GetProcessRootMotionMode()

Gets process root motion mode

Public function Virtual Const

const FRefer...

 

GetReferenceSkeleton()

Return RefSkeleton for drawing;

Public function Const

FLinearColor

 

GetWireframeMeshOverlayColor()

Get the wireframe mesh overlay color, which basically controls the color of the wireframe.

Public function Virtual Const

bool

 

IsPreviewOn()

Return true if currently preview animation asset is on

Public function Const

bool

 

IsProcessingRootMotion()

Whether we are processing root motion or not

Public function Virtual Const

bool

 

IsReferencePoseShown()

Public function Const

bool

 

IsTrackingAttachedLOD()

Whether the current LOD of the debug mesh is being synced with the attached (preview) mesh instance.

Public function Const

bool

 

IsUsingInGameBounds()

Does it use in-game bounds or bounds calculated from bones

Public function Const

bool

 

IsUsingPreSkinnedBounds()

Does it use pre-skinned bounds

Public function

void

 

RebuildClothingSectionsFixedVerts

(
    bool bInvalidateDerivedDataCache
)

Rebuilds the fixed parameter on the mesh to mesh data, to be used if the editor has changed a vert to be fixed or unfixed otherwise the simulation will not work bInvalidateDerivedDataCache can only be false during previewing as otherwise the changes won't be correctly saved

Public function

void

 

RefreshSelectedClothingSkinnedPositions()

Public function

FDelegateHan...

 

RegisterExtendedViewportTextDelegate

(
    const FGetExtendedViewportText& In...
)

Extended viewport text delegate handling.

Public function

FDelegateHan...

 

RegisterOnDebugForceLODChangedDelegate

(
    const FOnDebugForceLODChanged& InD...
)

Public function

void

 

ResetMeshSectionVisibility()

Fixes up the disabled flags so clothing is enabled and originals are disabled as ToggleMeshSectionForCloth will make these get out of sync

Public function

void

 

RestoreClothSectionsVisibility()

Restore all section visibilities to original states for all LODs

Public function Virtual

void

 

SetCustomDefaultPose()

Define Custom Default pose for this component for preview

Public function

void

 

SetDebugForcedLOD

(
    int32 InNewForcedLOD
)

Helper method that sets the forced lod.

Public function

void

 

SetMeshSectionVisibilityForCloth

(
    FGuid InClothGuid,
    bool bVisibility
)

Find a section using a clothing asset with the given GUID and set its visiblity

Public function

void

 

SetProcessRootMotionMode

(
    EProcessRootMotionMode Mode
)

Sets process root motion mode.

disabling root motion preview resets transform.

Public function

void

 

SetShowBoneWeight

(
    bool bNewShowBoneWeight
)

Update material information depending on color render mode Refresh/replace materials

Public function

void

 

SetShowClothProperty

(
    bool bState
)

Sets the flag used to determine whether or not the current active cloth sim mesh should be rendered

Public function

void

 

SetShowMorphTargetVerts

(
    bool bNewShowMorphTargetVerts
)

Update material information depending on color render mode Refresh/replace materials

Public function

void

 

SetWireframeMeshOverlayColor

(
    FLinearColor Color
)

Set the wireframe mesh overlay color, which basically controls the color of the wireframe.

Public function Virtual

void

 

ShowReferencePose

(
    bool bRefPose
)

Reference pose for this component we don't want to use default refpose because you still want to move joint when this mode is on

Public function

void

 

ToggleClothSectionsVisibility

(
    bool bShowOnlyClothSections
)

Toggle visibility between cloth sections and non-cloth sections for all LODs if bShowOnlyClothSections is true, shows only cloth sections.

Public function

void

 

UnregisterExtendedViewportTextDelegate

(
    const FDelegateHandle& InDelegateH...
)

Public function

void

 

UnregisterOnDebugForceLODChangedDelegate()

Public function

void

 

UseInGameBounds

(
    bool bUseInGameBounds
)

Set to use in-game bounds or bounds calculated from bones

Public function

void

 

UsePreSkinnedBounds

(
    bool bUsePreSkinnedBounds
)

Set to use pre-skinned bounds

Overridden from USkeletalMeshComponent

Name Description

Public function Virtual

void

 

CheckClothTeleport()

To avoid clothing reset while modifying properties in Persona

Public function Virtual

void

 

ClearAnimNotifyErrors

(
    UObject* InSourceNotify
)

Clears currently stored errors. Call before triggering anim notifies for a particular mesh.

Public function Virtual

void

 

InitAnim

(
    bool bForceReinit
)

Animation

Public function Virtual Const

bool

 

IsWindEnabled()

Public function Virtual

void

 

ReportAnimNotifyError

(
    const FText& Error,
    UObject* InSourceNotify
)

Subclasses such as DebugSkelMeshComponent keep track of errors in the anim notifies so they can be displayed to the user.

Public function Virtual

void

 

SetAnimClass

(
    UClass* NewClass
)

Set the anim instance class.

Protected function Virtual Const

bool

 

ShouldRunClothTick()

Overridden to support single clothing ticks.

Overridden from USkinnedMeshComponent

Name Description

Public function Virtual Const

int32

 

GetLODBias()

Get the LOD Bias of this component

Public function Virtual

void

 

PostInitMeshObject

(
    FSkeletalMeshObject*
)

Function to operate on mesh object after its created, but before it's attached.

Public function Virtual

void

 

RefreshBoneTransforms

(
    FActorComponentTickFunction* T...
)

Update functions Refresh Bone Transforms Each class will need to implement this function Ideally this function should be atomic (not relying on Tick or any other update.)

Public function Virtual

bool

 

ShouldCPUSkin()

Function returns whether or not CPU skinning should be applied Allows the editor to override the skinning state for editor tools

Overridden from UPrimitiveComponent

Name Description

Public function Virtual

FPrimitiveSc...

 

CreateSceneProxy()

Creates a proxy to represent the primitive to the scene manager in the rendering thread.

Public function Virtual Const

void

 

GetUsedMaterials

(
    TArray< UMaterialInterface* > ...,
    bool bGetDebugMaterials
)

Retrieves the materials used in this component

Public function Virtual Const

bool

 

ShouldRenderSelected()

Engine only draw bounds IF selected

Overridden from USceneComponent

Name Description

Public function Virtual Const

FBoxSphereBo...

 

CalcBounds

(
    const FTransform& LocalToWorld
)

Calculate the bounds of the component. Default behavior is a bounding box/sphere of zero size.

Overridden from UActorComponent

Name Description

Protected function Virtual

void

 

SendRenderDynamicData_Concurrent()

Called to send dynamic data for this component to the rendering thread

Public function Virtual

void

 

TickComponent

(
    float DeltaTime,
    enum ELevelTick TickType,
    FActorComponentTickFunction* T...
)

Function called every frame on this ActorComponent.

Classes

Name

Description

Public struct

FAnimNotifyErrors

TODO - This is a really poor way to post errors to the user. Work out a better way.

Deprecated Variables

Name Description

Public variable

uint32: 1

 

bPreviewRootMotion_DEPRECATED

This variable is no longer used. Use ProcessRootMotionMode instead.

Deprecated Functions

Name Description

Public function Const

bool

 

GetPreviewRootMotion()

Please use IsProcessingRootMotion or GetProcessRootMotionMode

Public function

void

 

SetPreviewRootMotion

(
    bool bInPreviewRootMotion
)

Please use SetProcessRootMotionMode