Navigation
API > API/Runtime > API/Runtime/Engine
Reference Skeleton
| Name | FReferenceSkeleton |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Public/ReferenceSkeleton.h |
| Include Path | #include "ReferenceSkeleton.h" |
Syntax
struct FReferenceSkeleton
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FReferenceSkeleton
(
bool bInOnlyOneRootAllowed |
ReferenceSkeleton.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| BRANCH_CACHE_INVALID_INDEX | int32 | ReferenceSkeleton.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FReferenceSkeletonModifier | friend | ReferenceSkeleton.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bOnlyOneRootAllowed | bool | Whether this skeleton is limited to one root or not Multi root is not supported in general Skeleton/SkeletalMesh But there are other components that can use this and support multi root - i.e. ControlRig This sturct is used in draw code, the long term plan may be detach this from draw code and use interface struct | ReferenceSkeleton.h | |
| CachedEndOfBranchIndicesRaw | TArray< int32 > | One index per-bone. | ReferenceSkeleton.h | |
| FinalNameToIndexMap | TMap< FName, int32 > | ReferenceSkeleton.h | ||
| FinalRefBoneInfo | TArray< FMeshBoneInfo > | FINAL BONES: Bones for this skeleton including user added virtual bones. | ReferenceSkeleton.h | |
| FinalRefBonePose | TArray< FTransform > | Reference bone transform | ReferenceSkeleton.h | |
| RawNameToIndexMap | TMap< FName, int32 > | TMap to look up bone index from bone name. | ReferenceSkeleton.h | |
| RawRefBoneInfo | TArray< FMeshBoneInfo > | RAW BONES: Bones that exist in the original asset. | ReferenceSkeleton.h | |
| RawRefBonePose | TArray< FTransform > | Reference bone transform | ReferenceSkeleton.h | |
| RequiredVirtualBones | TArray< FBoneIndexType > | Cached data to allow virtual bones to be built into poses | ReferenceSkeleton.h | |
| UsedVirtualBoneData | TArray< FVirtualBoneRefData > | ReferenceSkeleton.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool BoneIsChildOf
(
const int32 ChildBoneIndex, |
ReferenceSkeleton.h | ||
void Empty
(
int32 Size |
ReferenceSkeleton.h | ||
void EnsureParentsExist
(
TArray< FBoneIndexType >& InOutBoneSortedArray |
Ensure parent exists in the given input sorted array. | ReferenceSkeleton.h | |
void EnsureParentsExistAndSort
(
TArray< FBoneIndexType >& InOutBoneUnsortedArray |
Ensure parent exists in the given input array. | ReferenceSkeleton.h | |
int32 FindBoneIndex
(
const FName& BoneName |
Find Bone Index from BoneName. Precache as much as possible in speed critical sections! | ReferenceSkeleton.h | |
int32 FindRawBoneIndex
(
const FName& BoneName |
Find Bone Index from BoneName. Precache as much as possible in speed critical sections! | ReferenceSkeleton.h | |
FTransform GetBoneAbsoluteTransform
(
const int32 InBoneIndex |
Return a single bone's pose as absolute transform (i.e. relative to the origin, rather than the parent bone). | ReferenceSkeleton.h | |
void GetBoneAbsoluteTransforms
(
TArray< FTransform >& OutAbsoluteTransforms |
Return all the bone poses as absolute transforms (i.e. relative to the origin, rather than the parent bone). | ReferenceSkeleton.h | |
FName GetBoneName
(
const int32 BoneIndex |
ReferenceSkeleton.h | ||
SIZE_T GetDataSize() |
ReferenceSkeleton.h | ||
int32 GetDepthBetweenBones
(
const int32 BoneIndex, |
Returns # of Depth from BoneIndex to ParentBoneIndex This will return 0 if BoneIndex == ParentBoneIndex; This will return -1 if BoneIndex isn't child of ParentBoneIndex | ReferenceSkeleton.h | |
int32 GetDirectChildBones
(
int32 ParentBoneIndex, |
Very slow search function for all children | ReferenceSkeleton.h | |
int32 GetNum() |
Returns number of bones in Skeleton. | ReferenceSkeleton.h | |
int32 GetParentIndex
(
const int32 BoneIndex |
ReferenceSkeleton.h | ||
FTransform GetRawBoneAbsoluteTransform
(
const int32 InRawBoneIndex |
Return a single non-virtual bone's pose as absolute transform (i.e. relative to the origin, rather than the parent bone). | ReferenceSkeleton.h | |
void GetRawBoneAbsoluteTransforms
(
TArray< FTransform >& OutAbsoluteTransforms |
Return all the non-virtual bone poses as absolute transforms (i.e. relative to the origin, rather than the parent bone). | ReferenceSkeleton.h | |
int32 GetRawBoneNum() |
Returns number of raw bones in Skeleton. These are the original bones of the asset | ReferenceSkeleton.h | |
void GetRawChildrenIndicesCached
(
const int32 BoneIndex, |
Lazy-cached for fast access to children and recursive children | ReferenceSkeleton.h | |
void GetRawChildrenIndicesRecursiveCached
(
const int32 BoneIndex, |
ReferenceSkeleton.h | ||
int32 GetRawDirectChildBones
(
int32 ParentBoneIndex, |
ReferenceSkeleton.h | ||
| ReferenceSkeleton.h | |||
int32 GetRawParentIndex
(
const int32 BoneIndex |
ReferenceSkeleton.h | ||
const TArray< FMeshBoneInfo > & GetRawRefBoneInfo() |
Accessor to private data. Raw relates to original asset. Const so it can't be changed recklessly. | ReferenceSkeleton.h | |
| Returns an array of raw bone names. | ReferenceSkeleton.h | ||
const TArray< FTransform > & GetRawRefBonePose() |
Accessor to private data. Raw relates to original asset. Const so it can't be changed recklessly. | ReferenceSkeleton.h | |
const TArray< FMeshBoneInfo > & GetRefBoneInfo () |
Accessor to private data. | ReferenceSkeleton.h | |
const TArray< FTransform > & GetRefBonePose () |
Accessor to private data. | ReferenceSkeleton.h | |
const TArray< FBoneIndexType > & GetRequiredVirtualBones() |
ReferenceSkeleton.h | ||
const TArray< FVirtualBoneRefData > & GetVirtualBoneRefData() |
ReferenceSkeleton.h | ||
bool IsValidIndex
(
int32 Index |
ReferenceSkeleton.h | ||
bool IsValidRawIndex
(
int32 Index |
ReferenceSkeleton.h | ||
void RebuildNameToIndexMap() |
ReferenceSkeleton.h | ||
void RebuildRefSkeleton
(
const USkeleton* Skeleton, |
ReferenceSkeleton.h | ||
| Removes the supplied bones from the skeleton, unless they have children that aren't also going to be removed | ReferenceSkeleton.h | ||
| ReferenceSkeleton.h |