UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SkeletalDebugRendering.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "BoneIndices.h"
8
11struct FCompactHeapPose;
13class HHitProxy;
14
28
30{
31 bool bDraw = false;
32 float Thickness = 0.f;
33 float Length = 0.f;
34};
35
50
52{
53 static const int32 NumSphereSides = 10;
54 static const int32 NumConeSides = 4;
55
67 const FVector& InStart,
68 const FVector& InEnd,
69 const FLinearColor& InColor,
71 const float SphereRadius = 1.f);
72
85 const float Thickness = 0.f,
86 const float AxisLength = 4.f);
87
104 const FLinearColor& InColor,
106 const float SphereRadius,
108
120 const FVector& Start,
121 const FVector& End,
122 const float SphereRadius,
123 const FLinearColor& Color);
124
125#if WITH_EDITOR
129 const bool bUseWorldTransform);
130#endif
131
132
135 const FVector& ComponentOrigin,
136 const TArray<FBoneIndexType>& RequiredBones,
143
144/* Alternative signature that allows overriding the drawn bones that're computed from EBoneDrawMode */
147 const FVector& ComponentOrigin,
148 const TArray<FBoneIndexType>& RequiredBones,
156
157
160 const FVector& ComponentOrigin,
161 const TArray<FBoneIndexType>& RequiredBones,
162 const TArray<int32>& ParentIndices,
169
170ENGINE_API FLinearColor GetSemiRandomColorForBone(const int32 BoneIndex, float Value=1.0f, float Saturation=0.75f);
172
174 const TArray<int32>& ParentIndices,
176 const EBoneDrawMode::Type BoneDrawMode,
178}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESceneDepthPriorityGroup
Definition EngineTypes.h:187
Definition PrimitiveDrawInterface.h:19
Definition HitProxies.h:135
Definition Array.h:670
Definition RefCounting.h:454
Definition SkeletalDebugRendering.h:16
Type
Definition SkeletalDebugRendering.h:18
@ None
Definition SkeletalDebugRendering.h:19
@ Selected
Definition SkeletalDebugRendering.h:20
@ All
Definition SkeletalDebugRendering.h:24
@ SelectedAndChildren
Definition SkeletalDebugRendering.h:22
@ SelectedAndParents
Definition SkeletalDebugRendering.h:21
@ SelectedAndParentsAndChildren
Definition SkeletalDebugRendering.h:23
@ NumDrawModes
Definition SkeletalDebugRendering.h:25
Definition SkeletalDebugRendering.cpp:17
void DrawBonesInternal(FPrimitiveDrawInterface *PDI, const FVector &ComponentOrigin, const TArray< FBoneIndexType > &RequiredBones, const TArray< int32 > &ParentIndices, const TArray< FTransform > &WorldTransforms, const TArray< int32 > &InSelectedBones, const TArray< FLinearColor > &BoneColors, const TArray< TRefCountPtr< HHitProxy > > &HitProxies, const FSkelDebugDrawConfig &DrawConfig, const TBitArray<> &BonesToDrawOverride)
Definition SkeletalDebugRendering.cpp:323
void DrawBones(FPrimitiveDrawInterface *PDI, const FVector &ComponentOrigin, const TArray< FBoneIndexType > &RequiredBones, const FReferenceSkeleton &RefSkeleton, const TArray< FTransform > &WorldTransforms, const TArray< int32 > &InSelectedBones, const TArray< FLinearColor > &BoneColors, const TArray< TRefCountPtr< HHitProxy > > &HitProxies, const FSkelDebugDrawConfig &DrawConfig)
Definition SkeletalDebugRendering.cpp:264
void DrawAxes(FPrimitiveDrawInterface *PDI, const FTransform &Transform, ESceneDepthPriorityGroup InDepthPriority, const float Thickness, const float AxisLength)
Definition SkeletalDebugRendering.cpp:122
void CalculateBonesToDraw(const TArray< int32 > &ParentIndices, const TArray< int32 > &InSelectedBones, const EBoneDrawMode::Type BoneDrawMode, TBitArray<> &OutBonesToDraw)
Definition SkeletalDebugRendering.cpp:495
FLinearColor GetSemiRandomColorForBone(const int32 BoneIndex, float Value, float Saturation)
Definition SkeletalDebugRendering.cpp:478
void DrawConeConnection(FPrimitiveDrawInterface *PDI, const FVector &Start, const FVector &End, const float SphereRadius, const FLinearColor &Color)
Definition SkeletalDebugRendering.cpp:150
void DrawWireBoneAdvanced(FPrimitiveDrawInterface *PDI, const FTransform &InBoneTransform, const TArray< FVector > &InChildLocations, const TArray< FLinearColor > &InChildColors, const FLinearColor &InColor, ESceneDepthPriorityGroup InDepthPriority, const float SphereRadius, const FBoneAxisDrawConfig &InAxisConfig)
Definition SkeletalDebugRendering.cpp:66
void DrawWireBone(FPrimitiveDrawInterface *PDI, const FVector &InStart, const FVector &InEnd, const FLinearColor &InColor, ESceneDepthPriorityGroup InDepthPriority, const float SphereRadius)
Definition SkeletalDebugRendering.cpp:21
void FillWithMultiColors(TArray< FLinearColor > &BoneColors, const int32 NumBones)
Definition SkeletalDebugRendering.cpp:485
Definition SkeletalDebugRendering.h:30
float Length
Definition SkeletalDebugRendering.h:33
bool bDraw
Definition SkeletalDebugRendering.h:31
float Thickness
Definition SkeletalDebugRendering.h:32
Definition BonePose.h:356
Definition Color.h:48
Definition ReferenceSkeleton.h:100
Definition SkeletalDebugRendering.h:37
bool bAddHitProxy
Definition SkeletalDebugRendering.h:42
FLinearColor DefaultBoneColor
Definition SkeletalDebugRendering.h:44
FBoneAxisDrawConfig AxisConfig
Definition SkeletalDebugRendering.h:48
bool bUseMultiColorAsDefaultColor
Definition SkeletalDebugRendering.h:43
bool bForceDraw
Definition SkeletalDebugRendering.h:41
FLinearColor ParentOfSelectedBoneColor
Definition SkeletalDebugRendering.h:47
FLinearColor SelectedBoneColor
Definition SkeletalDebugRendering.h:46
FLinearColor AffectedBoneColor
Definition SkeletalDebugRendering.h:45
EBoneDrawMode::Type BoneDrawMode
Definition SkeletalDebugRendering.h:39
float BoneDrawSize
Definition SkeletalDebugRendering.h:40