25#include "Skeleton.generated.h"
40class FEditableSkeleton;
89#define BONE_TRANS_RT_ORIENT_AND_SCALE_PRECISION (0.001f)
97#if WITH_EDITORONLY_DATA
100 FName Name_DEPRECATED;
113#if WITH_EDITORONLY_DATA
143#if WITH_EDITORONLY_DATA
168 if ( BoneName!=
NAME_None && !BonesToRemove.Contains(BoneName) )
170 BonesToRemove.Add(BoneName);
179 BonesToRemove.Remove(BoneName);
184 return (BonesToRemove.Contains(BoneName));
234 : GroupName(DefaultGroupName)
296 friend class UAnimationBlueprintLibrary;
297 friend class FSkeletonDetails;
306#if WITH_EDITORONLY_DATA
328 void ConvertToFReferenceSkeleton();
344 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = CompatibleSkeletons)
353 UPROPERTY(EditAnywhere, Category = CompatibleSkeletons)
354 bool bUseRetargetModesFromCompatibleSkeleton =
false;
363 ENGINE_API virtual void BeginDestroy()
override;
368 return ReferenceSkeleton;
479 void HandleVirtualBoneChanges();
482 uint16 GetAnimCurveUidVersion()
const;
486 UE_DEPRECATED(5.2,
"Please use UE::Anim::FSkeletonRemappingRegistry::GetRemapping.")
489 ENGINE_API bool GetUseRetargetModesFromCompatibleSkeleton() const;
490 ENGINE_API void SetUseRetargetModesFromCompatibleSkeleton(
bool bUse);
507 UE_DEPRECATED(5.7,
"SmartNames in Skeleton have been deprecated, use CurveMetaData instead.")
516 void RefreshSkeletonMetaData();
575#if WITH_EDITORONLY_DATA
587 UE_DEPRECATED(5.4,
"Implement the version that takes FAssetRegistryTagsContext instead.")
611 return OnRetargetSourceChanged.Add(Delegate);
621 return VirtualBoneGuid;
627 OnRetargetSourceChanged.Remove(
Handle);
632 OnRetargetSourceChanged.Broadcast();
653#if WITH_EDITORONLY_DATA
655 UE_DEPRECATED(5.4,
"Please do not use this function - notifies are stored collectively in the asset registry now rather than centrally on the skeleton")
731#if WITH_EDITORONLY_DATA
743 UFUNCTION(BlueprintCallable, Category =
Skeleton, DisplayName =
"AddCompatibleSkeleton")
835#if WITH_EDITORONLY_DATA
858 UE_DEPRECATED(5.2,
"GetRawAnimationTrackIndex has been deprecated, use tracks are referenced by name instead")
879 if (!bDisableRetargeting && BoneTree.IsValidIndex(
BoneTreeIdx))
881 return BoneTree[
BoneTreeIdx].TranslationRetargetingMode;
905 ENGINE_API virtual void PostInitProperties()
override;
919#if WITH_EDITORONLY_DATA
949#if WITH_EDITORONLY_DATA
1009 void RegenerateGuid();
1010 void RegenerateVirtualBoneGuid();
1027#if WITH_EDITORONLY_DATA
1035 friend class FEditableSkeleton;
virtual bool IsPostLoadThreadSafe() const override
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define WITH_EDITORONLY_DATA
Definition CoreMiscDefines.h:24
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal(ReturnValueType, DelegateName)
Definition DelegateCombinations.h:41
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
return true
Definition ExternalRpcRegistry.cpp:601
void * FDelegateUserObject
Definition IDelegateInstance.h:107
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
EPackageReloadPhase
Definition PackageReload.h:48
@ PreviewAttachedAssetContainer
void SerializeReferencePose(FArchive &Ar, FReferencePose &P, UObject *Outer)
Definition Skeleton.cpp:66
SmartName::UID_Type SkeletonAnimCurveUID
Definition Skeleton.h:37
if(Failed) console_printf("Failed.\n")
Definition Archive.h:1208
Definition AssetRegistryTagsContext.h:98
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition PackageReload.h:67
Definition Interface_AssetUserData.h:20
Definition Interface_PreviewMeshProvider.h:20
Definition Sockets.Build.cs:6
Definition ArrayView.h:139
UE_FORCEINLINE_HINT SizeType AddUnique(ElementType &&Item)
Definition Array.h:2993
Definition EnumAsByte.h:22
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SubclassOf.h:30
Definition UniquePtr.h:107
Definition AnimSequence.h:203
Definition AssetUserData.h:18
Definition BlendProfile.h:132
Definition DataAsset.h:21
Definition SkeletalMeshSocket.h:14
Definition SkeletalMesh.h:440
Definition Skeleton.h:295
const TArray< FVirtualBone > & GetVirtualBones() const
Definition Skeleton.h:372
TSoftObjectPtr< USkeleton > CachedSoftObjectPtr
Definition Skeleton.h:646
FGuid Guid
Definition Skeleton.h:320
FGuid GetVirtualBoneGuid() const
Definition Skeleton.h:619
SmartName::UID_Type AnimCurveUID
Definition Skeleton.h:385
FDelegateHandle RegisterOnRetargetSourceChanged(const FOnRetargetSourceChanged &Delegate)
Definition Skeleton.h:609
void CallbackRetargetSourceChanged()
Definition Skeleton.h:630
const FGuid GetGuid() const
Definition Skeleton.h:614
FOnRetargetSourceChangedMulticaster::FDelegate FOnRetargetSourceChanged
Definition Skeleton.h:606
const TArray< TSoftObjectPtr< USkeleton > > & GetCompatibleSkeletons() const
Definition Skeleton.h:484
TArray< FBoneNode > FBoneTreeType
Definition Skeleton.h:635
FReferenceSkeleton ReferenceSkeleton
Definition Skeleton.h:317
DECLARE_EVENT(USkeleton, FSmartNamesChangedEvent)
const FReferenceSkeleton & GetReferenceSkeleton() const
Definition Skeleton.h:366
void UnregisterOnRetargetSourceChanged(FDelegateHandle Handle)
Definition Skeleton.h:625
Definition SkinnedAsset.h:47
Type
Definition Skeleton.h:74
@ Animation
Definition Skeleton.h:76
@ AnimationRelative
Definition Skeleton.h:82
@ OrientAndScale
Definition Skeleton.h:84
@ AnimationScaled
Definition Skeleton.h:80
Definition AnimationAsset.h:38
uint16 UID_Type
Definition AnimationAsset.h:39
Definition Skeleton.h:245
ENGINE_API FName RemoveVirtualBonePrefix(const FString &InName)
Definition Skeleton.cpp:114
ENGINE_API const FString VirtualBonePrefix
ENGINE_API FString AddVirtualBonePrefix(const FString &InName)
Definition Skeleton.cpp:109
ENGINE_API bool CheckVirtualBonePrefix(const FString &InName)
Definition Skeleton.cpp:119
@ false
Definition radaudio_common.h:23
Definition Skeleton.h:220
static ENGINE_API const FName DefaultGroupName
Definition Skeleton.h:224
FAnimSlotGroup(FName InGroupName)
Definition Skeleton.h:238
static ENGINE_API const FName DefaultSlotName
Definition Skeleton.h:225
Definition AssetData.h:162
FBoneNode(FName InBoneName, int32 InParentIndex)
Definition Skeleton.h:120
Definition Skeleton.h:160
void Remove(FName BoneName)
Definition Skeleton.h:177
bool Contains(FName BoneName)
Definition Skeleton.h:182
Definition NameTypes.h:1653
Definition Skeleton.h:190
FNameMapping(FName InNodeName)
Definition Skeleton.h:205
FNameMapping(FName InNodeName, FName InBoneName)
Definition Skeleton.h:211
Definition PreviewAssetAttachComponent.h:74
Definition Skeleton.h:134
Definition ReferenceSkeleton.h:65
Definition ReferenceSkeleton.h:100
Definition SkeletonRemapping.h:11
Definition SmartName.h:168
Definition Skeleton.h:255
FVirtualBone(FName InSource, FName InTarget)
Definition Skeleton.h:277
FVirtualBone(FName InSource, FName InTarget, FName InVirtual)
Definition Skeleton.h:270
Definition ObjectPtr.h:488
Definition SoftObjectPtr.h:174