Navigation
API > API/Runtime > API/Runtime/Engine
This is a native transient structure. Contains:
- BoneIndicesArray: Array of RequiredBoneIndices for Current Asset. In increasing order. Mapping to current Array of Transforms (Pose).
- BoneSwitchArray: Size of current Skeleton. true if Bone is contained in RequiredBones array, false otherwise.
| Name | FBoneContainer |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Public/BoneContainer.h |
| Include Path | #include "BoneContainer.h" |
Syntax
struct FBoneContainer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| BoneContainer.h | |||
FBoneContainer
(
const TArrayView< const FBoneIndexType >& InRequiredBoneIndexArray, |
BoneContainer.h | ||
FBoneContainer
(
const TArrayView< const FBoneIndexType >& InRequiredBoneIndexArray, |
BoneContainer.h |
Structs
| Name | Remarks |
|---|---|
| FRangedForReverseSupport | |
| FRangedForSupport |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Asset | TWeakObjectPtr< UObject > | Asset BoneIndicesArray was made for. Typically a SkeletalMesh. | BoneContainer.h | |
| AssetSkeletalMesh | TWeakObjectPtr< USkeletalMesh > | If Asset is a SkeletalMesh, this will be a pointer to it. | BoneContainer.h | |
| AssetSkeleton | TWeakObjectPtr< USkeleton > | If Asset is a Skeleton that will be it. If Asset is a SkeletalMesh, that will be its Skeleton. | BoneContainer.h | |
| bDisableRetargeting | bool | Disable Retargeting. Extract animation, but do not retarget it. | BoneContainer.h | |
| BoneIndicesArray | TArray< FBoneIndexType > | Array of RequiredBonesIndices. In increasing order. | BoneContainer.h | |
| BoneSwitchArray | TBitArray | Array sized by Current RefPose. true if Bone is contained in RequiredBones array, false otherwise. | BoneContainer.h | |
| bUseRAWData | bool | Disable animation compression, use RAW data instead. | BoneContainer.h | |
| bUseSourceData | bool | Use Source Data that is imported that are not compressed. | BoneContainer.h | |
| CalculatedForLOD | int32 | For debugging. The LOD that we calculated required bones when regenerated | BoneContainer.h | |
| CompactPoseParentBones | TArray< FCompactPoseBoneIndex > | Compact pose format of Parent Bones (to save us converting to mesh space and back) | BoneContainer.h | |
| CompactPoseToSkeletonIndex | TArray< int32 > | Look up from skeleton to compact pose format. | BoneContainer.h | |
| CurveFilter | UE::Anim::FCurveFilter | Curve used for filtering by LOD/bone | BoneContainer.h | |
| CurveFlags | UE::Anim::FBulkCurveFlags | Curve flags to apply (built from curve metadata) | BoneContainer.h | |
| PoseToSkeletonBoneIndexArray | TArray< int32 > | Mapping table between Pose Bone Indices and Skeleton Bone Indices. | BoneContainer.h | |
| RefPoseOverride | TSharedPtr< FSkelMeshRefPoseOverride > | BoneContainer.h | ||
| RefSkeleton | const FReferenceSkeleton * | Pointer to RefSkeleton of Asset. | BoneContainer.h | |
| RetargetSourceCachedDataLUT | TMap< FRetargetSourceCachedDataKey, FRetargetSourceCachedData > | Runtime cached data for retargeting from a specific RetargetSource to this current SkelMesh LOD. | BoneContainer.h | |
| SerialNumber | uint16 | The serial number of this bone container. | BoneContainer.h | |
| SkeletonToCompactPose | TArray< FCompactPoseBoneIndex > | Look up from compact pose format to skeleton. | BoneContainer.h | |
| SkeletonToPoseBoneIndexArray | TArray< int32 > | Mapping table between Skeleton Bone Indices and Pose Bone Indices. | BoneContainer.h | |
| VirtualBoneCompactPoseData | TArray< FVirtualBoneCompactPoseData > | Array of cached virtual bone data so that animations running from raw data can generate them. | BoneContainer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool BoneIsChildOf
(
const int32 BoneIndex, |
Returns true if bone is child of for current asset. | BoneContainer.h | |
bool BoneIsChildOf
(
const FCompactPoseBoneIndex& BoneIndex, |
Returns true if bone is child of for current asset. | BoneContainer.h | |
void CacheRequiredAnimCurves
(
const UE::Anim::FCurveFilterSettings& InCurveFilterSettings |
Cache required Anim Curves | BoneContainer.h | |
void CacheRequiredAnimCurveUids
(
const FCurveEvaluationOption& CurveEvalOption |
BoneContainer.h | ||
bool Contains
(
FBoneIndexType NewIndex |
Returns true of RequiredBonesArray contains this bone index. | BoneContainer.h | |
void FillWithCompactRefPose
(
ArrayType& OutTransforms |
Fill the supplied buffer with the compact pose reference pose. | BoneContainer.h | |
FRangedForSupport< FCompactPoseBoneIndexIterator > ForEachCompactPoseBoneIndex() |
BoneContainer.h | ||
FRangedForReverseSupport< FCompactPoseBoneIndexReverseIterator > ForEachCompactPoseBoneIndexReverse() |
BoneContainer.h | ||
| Get Asset this BoneContainer was made for. | BoneContainer.h | ||
const TArray< FBoneIndexType > & GetBoneIndicesArray() |
Returns array of the size of compact pose, mapping to mesh pose index returns Required Bone Indices Array | BoneContainer.h | |
const TBitArray & GetBoneSwitchArray() |
Returns Bone Switch Array. BitMask for RequiredBoneIndex array. | BoneContainer.h | |
int32 GetCalculatedForLOD() |
Get the LOD that we calculated required bones when regenerated | BoneContainer.h | |
FCompactPoseBoneIndex GetCompactPoseIndexFromSkeletonIndex
(
const int32 SkeletonIndex |
DEPRECATED - Ideally should use GetCompactPoseIndexFromSkeletonPoseIndex due to raw int32 here. | BoneContainer.h | |
FCompactPoseBoneIndex GetCompactPoseIndexFromSkeletonPoseIndex
(
const FSkeletonPoseBoneIndex& SkeletonIndex |
Map skeleton bone index to compact pose index | BoneContainer.h | |
const int32 GetCompactPoseNumBones() |
BoneContainer.h | ||
const TArray< FCompactPoseBoneIndex > & GetCompactPoseParentBoneArray() |
BoneContainer.h | ||
const UE::Anim::FCurveFilter & GetCurveFilter() |
Get filter used for filtering by LOD/bone | BoneContainer.h | |
const UE::Anim::FBulkCurveFlags & GetCurveFlags() |
Get flags to apply to curves (built from metadata) | BoneContainer.h | |
int32 GetDepthBetweenBones
(
const int32 BoneIndex, |
Get Depth between bones for current asset. | BoneContainer.h | |
bool GetDisableRetargeting() |
True if retargeting is disabled for debugging. | BoneContainer.h | |
FMeshPoseBoneIndex GetMeshPoseIndexFromSkeletonPoseIndex
(
const FSkeletonPoseBoneIndex& SkeletonIndex |
Map skeleton bone index to mesh index | BoneContainer.h | |
const int32 GetNumBones () |
Number of Bones in RefPose for current asset. | BoneContainer.h | |
const FCachedSkeletonCurveMapping & GetOrCreateCachedCurveMapping
(
const FSkeletonRemapping* SkeletonRemapping |
Curve remapping. | BoneContainer.h | |
int32 GetParentBoneIndex
(
const int32 BoneIndex |
Get ParentBoneIndex for current Asset. | BoneContainer.h | |
FCompactPoseBoneIndex GetParentBoneIndex
(
const FCompactPoseBoneIndex& BoneIndex |
Get ParentBoneIndex for current Asset. | BoneContainer.h | |
int32 GetPoseBoneIndexForBoneName
(
const FName& BoneName |
Get BoneIndex for BoneName for current Asset. | BoneContainer.h | |
TArray< int32 > const & GetPoseToSkeletonBoneIndexArray() |
Const accessor to PoseToSkeletonBoneIndexArray. | BoneContainer.h | |
const FReferenceSkeleton & GetReferenceSkeleton() |
Access to Asset's RefSkeleton. | BoneContainer.h | |
const TArray< FTransform > & GetRefPoseArray() |
Pointer to RefPoseArray for current Asset. | BoneContainer.h | |
const FTransform & GetRefPoseTransform
(
const FCompactPoseBoneIndex& BoneIndex |
BoneContainer.h | ||
const FRetargetSourceCachedData & GetRetargetSourceCachedData
(
const FName& InSourceName, |
BoneContainer.h | ||
const FRetargetSourceCachedData & GetRetargetSourceCachedData
(
const FName& InRetargetSource |
BoneContainer.h | ||
uint16 GetSerialNumber () |
Get the serial number of this bone container. | BoneContainer.h | |
USkeletalMesh * GetSkeletalMeshAsset() |
Get SkeletalMesh Asset this BoneContainer was made for. Could be NULL if Asset is a Skeleton. | BoneContainer.h | |
USkeleton * GetSkeletonAsset
(
bool bEvenIfUnreachable |
Get Skeleton Asset. | BoneContainer.h | |
int32 GetSkeletonIndex
(
const FCompactPoseBoneIndex& BoneIndex |
DEPRECATED - Ideally should use GetSkeletonPoseIndexFromCompactPoseIndex due to raw int32 here. | BoneContainer.h | |
FSkeletonPoseBoneIndex GetSkeletonPoseIndexFromCompactPoseIndex
(
const FCompactPoseBoneIndex& BoneIndex |
Map compact bone index to skeleton index | BoneContainer.h | |
FSkeletonPoseBoneIndex GetSkeletonPoseIndexFromMeshPoseIndex
(
const FMeshPoseBoneIndex& MeshIndex |
Map mesh bone index to skeleton index | BoneContainer.h | |
TArray< int32 > const & GetSkeletonToPoseBoneIndexArray() |
Const accessor to SkeletonToPoseBoneIndexArray. | BoneContainer.h | |
int32 GetUIDToArrayIndexLookupTableValidCount() |
BoneContainer.h | ||
TArray< uint16 > const & GetUIDToArrayLookupTable() |
BoneContainer.h | ||
TArray< SmartName::UID_Type > const & GetUIDToArrayLookupTableBackup() |
BoneContainer.h | ||
TArray< FAnimCurveType > const & GetUIDToCurveTypeLookupTable() |
BoneContainer.h | ||
| BoneContainer.h | |||
const TArray< FVirtualBoneCompactPoseData > & GetVirtualBoneCompactPoseData() |
Returns virutal bone cached data | BoneContainer.h | |
void InitializeTo
(
const TArrayView< const FBoneIndexType >& InRequiredBoneIndexArray, |
BoneContainer.h | ||
void InitializeTo
(
const TArrayView< const FBoneIndexType >& InRequiredBoneIndexArray, |
BoneContainer.h | ||
bool IsSkeletonPoseIndexValid
(
const FSkeletonPoseBoneIndex& SkeletonIndex |
Returns whether or not the skeleton index is contained in the mapping used to build this container. | BoneContainer.h | |
const bool IsValid () |
Returns true if FBoneContainer is Valid. | BoneContainer.h | |
FCompactPoseBoneIndexIterator MakeBeginIter() |
BoneContainer.h | ||
FCompactPoseBoneIndexReverseIterator MakeBeginIterReverse() |
BoneContainer.h | ||
FCompactPoseBoneIndex MakeCompactPoseIndex
(
const FMeshPoseBoneIndex& BoneIndex |
BoneContainer.h | ||
FCompactPoseBoneIndexIterator MakeEndIter() |
BoneContainer.h | ||
FCompactPoseBoneIndexReverseIterator MakeEndIterReverse() |
BoneContainer.h | ||
FMeshPoseBoneIndex MakeMeshPoseIndex
(
const FCompactPoseBoneIndex& BoneIndex |
BoneContainer.h | ||
void MarkAllCachedCurveMappingsDirty() |
BoneContainer.h | ||
void Reset() |
Resets the container and reclaims all allocated memory but preserve the serial number. | BoneContainer.h | |
void SetDisableRetargeting
(
bool InbDisableRetargeting |
Disable Retargeting for debugging. | BoneContainer.h | |
void SetRefPoseOverride
(
const TSharedPtr< FSkelMeshRefPoseOverride >& InRefPoseOverride |
Override skeleton ref pose. | BoneContainer.h | |
void SetUseRAWData
(
bool InbUseRAWData |
Ignore compressed data and use RAW data instead, for debugging. | BoneContainer.h | |
void SetUseSourceData
(
bool InbUseSourceData |
Use Source data instead. | BoneContainer.h | |
bool ShouldUseRawData() |
True if we're requesting RAW data instead of compressed data. For debugging. | BoneContainer.h | |
bool ShouldUseSourceData() |
True if we're requesting Source data instead of RawAnimationData. For debugging. | BoneContainer.h |