Choose your operating system:
Windows
macOS
Linux
| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/Engine/Classes/Animation/Skeleton.h |
Include |
#include "Animation/Skeleton.h" |
class USkeleton :
public UObject,
public IInterface_AssetUserData,
public IInterface_PreviewMeshProvider
USkeleton : that links between mesh and animation
Bone hierarchy for animations
Bone/track linkup between mesh and animation
Retargetting related
Name | Description | ||
---|---|---|---|
|
AnimationNotifies |
AnimNotifiers that has been created. |
|
|
AnimCurveMapping |
Cached ptr to the persistent AnimCurveMapping. |
|
|
AnimRetargetSources |
Serializable retarget sources for this skeleton |
|
|
AssetUserData |
Array of user data stored with the asset |
|
|
BlendProfiles |
List of blend profiles available in this skeleton |
|
|
TArray< struct ... |
BoneTree |
Skeleton bone tree - each contains name and parent index |
|
TSoftObjectPtr<... |
CachedSoftObjectPtr |
A cached soft object pointer of this skeleton. |
|
CompatibleSkeletons |
The list of compatible skeletons. |
|
|
DefaultCurveUIDList |
This is default curve uid list used like ref pose, as default value don't use this unless you want all curves from the skeleton FBoneContainer contains only list that is used by current LOD |
|
|
ExistingMarkerNames |
Cached marker sync marker names (stripped for non editor) |
|
|
Guid |
Guid for skeleton |
|
|
TArray< struct ... |
LinkupCache |
Non-serialised cache of linkups between different skeletal meshes and this Skeleton. |
|
LinkupCacheLock |
Use this Lock everytime you change or access LinkupCache and SkelMesh2LinkupCache member. |
|
|
OnSkeletonDestructEvent |
||
|
OnSkeletonHierarchyChanged |
||
|
OnSmartNamesChangedEvent |
||
|
PreviewAttachedAssetContainer |
Attached assets component for this skeleton |
|
|
ReferenceSkeleton |
Reference Skeleton |
|
|
SkeletonRemappingMutex |
||
|
SkeletonRemappings |
The skeleton remappings, which map bones from a source skeleton to this skeleton (the target). |
|
|
SkelMesh2LinkupCache |
Runtime built mapping table between SkeletalMeshes, and LinkupCache array indices. |
|
|
SmartNames |
Container for smart name mappings. |
|
|
Sockets |
Array of named socket locations, set up in editor and used as a shortcut instead of specifying everything explicitly to AttachComponent in the SkeletalMeshComponent. |
|
|
VirtualBoneGuid |
Guid for virtual bones. |
|
|
VirtualBones |
Array of this skeletons virtual bones. |
Name | Description | |
---|---|---|
|
USkeleton ( |
Name | Description | ||
---|---|---|---|
|
AccumulateCurveMetaData |
This is called when you know both flags - called by post serialize |
|
|
AddCompatibleSkeleton ( |
||
|
AddNewAnimationNotify ( |
Adds a new anim notify to the cached AnimationNotifies array. |
|
|
AddNewVirtualBone |
||
|
AddNewVirtualBone |
||
|
AddSlotGroupName ( |
Returns true if Group is added, false if it already exists |
|
|
AddSmartNameAndModify ( |
Smart Name Interfaces. |
|
|
BuildLinkup ( |
Build Look up between SkelMesh to BoneTree |
|
|
BuildSkeletonRemappings ( |
Build or update all skeleton remappings for all loaded skeletons that we are compatible with. |
|
|
CallbackRetargetSourceChanged() |
||
|
ClearCacheData() |
Clears all cache data |
|
|
ClearSkeletonRemappings() |
Remove all skeleton remappings stored inside our skeleton. This frees up memory. |
|
|
CollectAnimationNotifies |
Collect animation notifies that are referenced in all animations that use this skeleton (uses the asset registry). |
|
|
CollectAnimationNotifies() |
Collect animation notifies that are referenced in all animations that use this skeleton (uses the asset registry). |
|
|
ContainsSlotName ( |
||
|
ConvertToFReferenceSkeleton() |
Conversion function. |
|
|
UBlendProfil... |
CreateNewBlendProfile ( |
Create a new blend profile with the specified name |
|
CreateReferenceSkeletonFromMesh ( |
Create Reference Skeleton From the given Mesh |
|
|
CreateSkeletonRemappingIfNeeded |
Create or update a skeletal remapping to a given source skeleton. |
|
|
DoesParentChainMatch ( |
Check if Parent Chain Matches between BoneTree, and SkelMesh Meaning if BoneTree has A->B->C (top to bottom) and if SkelMesh has A->C It will fail since it's missing B We ensure this chain matches to play animation properly |
|
|
FAnimSlotGro... |
FindAnimSlotGroup ( |
|
|
const FAnimS... |
FindAnimSlotGroup ( |
|
|
USkeletalMes... |
FindCompatibleMesh() |
Find the first compatible mesh for this skeleton |
|
FindRigBoneMapping ( |
||
|
USkeletalMes... |
FindSocket ( |
|
|
USkeletalMes... |
FindSocketAndIndex |
|
|
UDataAsset &... |
GetAdditionalPreviewSkeletalMeshes() |
Get the additional skeletal meshes we use when previewing this skeleton |
|
GetAnimCurveUidVersion() |
Return version of AnimCurveUidVersion |
|
|
USkeletalMes... |
GetAssetPreviewMesh ( |
|
|
UBlendProfil... |
GetBlendProfile ( |
Get the specified blend profile by name |
|
EBoneTransla... |
GetBoneTranslationRetargetingMode ( |
|
|
GetChildBones |
Get List of Child Bones of the ParentBoneIndex |
|
|
const TArray... |
GetCompatibleSkeletons() |
|
|
FCurveMetaDa... |
GetCurveMetaData ( |
These return container of curve meta data, if you modify this container, you'll have to call REfreshCAchedAnimationCurveData to apply |
|
const FCurve... |
GetCurveMetaData ( |
These return container of curve meta data, if you modify this container, you'll have to call REfreshCAchedAnimationCurveData to apply |
|
const FCurve... |
GetCurveMetaData ( |
These return container of curve meta data, if you modify this container, you'll have to call REfreshCAchedAnimationCurveData to apply |
|
const FCurve... |
GetCurveMetaData ( |
These return container of curve meta data, if you modify this container, you'll have to call REfreshCAchedAnimationCurveData to apply |
|
FCurveMetaDa... |
GetCurveMetaData ( |
These return container of curve meta data, if you modify this container, you'll have to call REfreshCAchedAnimationCurveData to apply |
|
const TArray... |
GetDefaultCurveUIDList() |
|
|
const TArray... |
GetExistingMarkerNames() |
Get existing (seen) sync marker names for this Skeleton. |
|
const FGuid |
GetGuid() |
|
|
GetMappedValidNodes |
This make sure it stays within the valid range |
|
|
GetMeshBoneIndexFromSkeletonBoneIndex ( |
Get Reference Bone Index from Bone Tree Index |
|
|
GetMeshLinkupIndex ( |
Find a mesh linkup table (mapping of skeleton bone tree indices to refpose indices) for a particular SkeletalMesh If one does not already exist, create it now. |
|
|
GetRawAnimationTrackIndex ( |
Get Track index of InAnimSeq for the BoneTreeIndex of BoneTree this is slow, and it's not supposed to be used heavily |
|
|
const FRefer... |
GetReferenceSkeleton() |
Accessor to Reference Skeleton to make data read only |
|
const TArray... |
GetRefLocalPoses ( |
|
|
GetRetargetSourceForMesh ( |
Find a retarget source for a particular skel mesh. |
|
|
URig * |
GetRig() |
|
|
GetRigBoneMapping ( |
||
|
GetRigNodeNameFromBoneName ( |
||
|
GetSkeletonBoneIndexFromMeshBoneIndex ( |
Get Bone Tree Index from Reference Bone Index |
|
|
const FSkele... |
GetSkeletonRemapping ( |
|
|
GetSlotGroupName ( |
||
|
const TArray... |
GetSlotGroups() |
|
|
GetSmartNameByName ( |
||
|
GetSmartNameByUID ( |
||
|
const FSmart... |
GetSmartNameContainer ( |
Get or add a smartname container with the given name. |
|
SmartName::U... |
GetUIDByName |
Quick wrapper function for Find UID by name, if not found, it will return SmartName::MaxUID |
|
GetVirtualBoneGuid() |
||
|
const TArray... |
GetVirtualBones() |
Accessor for the array of virtual bones on this skeleton |
|
HandleSkeletonDestruct ( |
The function that is called when another skeleton is being destructed. |
|
|
HandleSkeletonHierarchyChange() |
Call this when the skeleton has changed to fix dependent assets |
|
|
HandleSmartNamesChangedEvent() |
Handle smart name changes. |
|
|
HandleVirtualBoneChanges() |
||
|
IsCompatible ( |
Check if animation content authored on the supplied skeleton may be played on this skeleton |
|
|
IsCompatibleMesh ( |
Indexing naming convention |
|
|
IsCompatibleSkeletonByAssetData ( |
Check if this skeleton is compatible with a given other asset, if that is a skeleton. |
|
|
IsCompatibleSkeletonByAssetString ( |
Check if this skeleton is compatible with another skeleton asset that is identified by the string returned by AssetData(SkeletonPtr).GetExportTextName(). |
|
|
LoadAdditionalPreviewSkeletalMeshes() |
Load any additional meshes we may have |
|
|
MergeAllBonesToBoneTree ( |
Merge all Bones to BoneTrees if not exists |
|
|
MergeBonesToBoneTree ( |
Merge Bones (RequiredBones from InSkelMesh) to BoneTrees if not exists |
|
|
RebuildLinkup ( |
Rebuild Look up between SkelMesh to BoneTree - this should only get called when SkelMesh is re-imported or so, where the mapping may be no longer valid |
|
|
RecreateBoneTree ( |
Merge has failed, then Recreate BoneTree |
|
|
RefreshAllRetargetSources() |
Refresh All Retarget Sources |
|
|
RefreshRigConfig() |
Verify if it has all latest data |
|
|
RegisterMarkerName ( |
Register a new sync marker name. |
|
|
FDelegateHan... |
RegisterOnRetargetSourceChanged ( |
Registers a delegate to be called after the preview animation has been changed |
|
RegisterOnSkeletonHierarchyChanged ( |
Registers a delegate to be called after notification has changed |
|
|
RegisterSlotNode ( |
Register a slot name. Return true if a slot was registered, false if it was already registered. |
|
|
RemoveBonesFromSkeleton |
Removes the supplied bones from the skeleton |
|
|
RemoveCompatibleSkeleton ( |
||
|
RemoveLinkup ( |
Remove Link up cache for the SkelMesh |
|
|
RemoveMarkerName ( |
Remove a sync marker name. |
|
|
RemoveSkeletonRemapping ( |
Remove the skeleton remappings for a specific source skeleton. |
|
|
RemoveSlotGroup ( |
||
|
RemoveSlotName ( |
Edits/removes slot group data WARNING: Does not verify that the names aren't used anywhere - if it isn't checked by the caller the names will be recreated when referencing assets load again. |
|
|
RemoveSmartnameAndModify ( |
Removes a smartname from the specified container and modifies the skeleton. |
|
|
RemoveSmartnamesAndModify |
Removes smartnames from the specified container and modifies the skeleton. |
|
|
RemoveVirtualBones |
||
|
RenameSlotName |
||
|
RenameSmartnameAndModify ( |
Renames a smartname in the specified container and modifies the skeleton return bool - Whether the rename was sucessful |
|
|
RenameVirtualBone |
||
|
SetAdditionalPreviewSkeletalMeshes ( |
Set the additional skeletal meshes we use when previewing this skeleton |
|
|
SetBoneTranslationRetargetingMode ( |
||
|
SetRigBoneMapping |
||
|
SetRigConfig ( |
||
|
SetSlotGroupName |
||
|
UnregisterOnRetargetSourceChanged ( |
Unregisters a delegate to be called after the preview animation has been changed |
|
|
UnregisterOnSkeletonHierarchyChanged ( |
||
|
UpdateReferencePoseFromMesh ( |
Create RefLocalPoses from InSkelMesh. |
|
|
UpdateRetargetSource ( |
Update Retarget Source with given name |
|
|
ValidatePreviewAttachedObjects() |
Makes sure all attached objects are valid and removes any that aren't. |
|
|
VerifySmartName ( |
Make sure the smart name has valid UID and so on |
|
|
VerifySmartNames ( |
Make sure the smart name has valid UID and so on |
Name | Description | ||
---|---|---|---|
|
BeginDestroy() |
Called before destroying the object. |
|
|
IsPostLoadThreadSafe() |
Called during async load to determine if PostLoad can be called on the loading thread. |
|
|
PostDuplicate ( |
Called after duplication & serialization and before PostLoad. |
|
|
PostEditChangeProperty ( |
Called when a property on this object has been modified externally |
|
|
PostEditUndo() |
Called after applying a transaction to the object. |
|
|
PostInitProperties() |
Called after the C++ constructor and after the properties have been initialized, including those loaded from config. |
|
|
PostLoad() |
Do any object-specific cleanup required immediately after loading an object. |
|
|
PreEditUndo() |
Called before applying a transaction to the object. |
|
|
Serialize ( |
Handles reading, writing, and reference collecting using FArchive. |
Name | Description | ||
---|---|---|---|
|
AddAssetUserData ( |
||
|
const TArray... |
GetAssetUserDataArray() |
|
|
UAssetUserDa... |
GetAssetUserDataOfClass ( |
|
|
RemoveUserDataOfClass ( |
Name | Description | ||
---|---|---|---|
|
USkeletalMes... |
GetPreviewMesh() |
Get the preview mesh for this asset |
|
USkeletalMes... |
GetPreviewMesh ( |
IInterface_PreviewMeshProvider interface |
|
SetPreviewMesh ( |
Set the preview mesh for this asset |
Name |
Description |
|
---|---|---|
|
FSkeletonDestructEvent |
|
|
FSmartNamesChangedEvent |
Name |
Description |
---|---|
AnimCurveUID |
Typedefs for greater smartname UID readability, add one for each smartname category. |
FBoneTreeType |
|
FOnRetargetSourceChanged |
|
FOnRetargetSourceChangedMulticaster |
|
FOnSkeletonHierarchyChanged |
|
FOnSkeletonHierarchyChangedMulticaster |
Name |
Description |
---|---|
AnimCurveMappingName |
Names for smartname mappings, if you're adding a new category of smartnames add a new name here. |
AnimNotifyTag |
Asset registry information for animation notifies. |
AnimNotifyTagDelimiter |
|
AnimTrackCurveMappingName |
Names for smartname mappings, if you're adding a new category of smartnames add a new name here. |
CurveNameTag |
Asset registry information for animation curves. |
CurveTagDelimiter |
|
LoadedSkeletons |
|
LoadedSkeletonsMutex |
|
RigTag |
Rig Configs |
Name | Description | ||
---|---|---|---|
|
RefLocalPoses_DEPRECATED |
Reference skeleton poses in local space |
Name | Description | ||
---|---|---|---|
|
const TArray... |
GetBoneTree() |
GetBoneTree should not be called. Please use GetBoneTranslationRetargetingMode()/SetBoneTranslationRetargetingMode() functions instead |