UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UBlendSpace Class Reference

#include <BlendSpace.h>

+ Inheritance diagram for UBlendSpace:

Public Member Functions

virtual void PostLoad () override
 
virtual void Serialize (FArchive &Ar) override
 
virtual void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual void TickAssetPlayer (FAnimTickRecord &Instance, struct FAnimNotifyQueue &NotifyQueue, FAnimAssetTickContext &Context) const override
 
virtual float GetPlayLength () const override
 
virtual TArray< FName > * GetUniqueMarkerNames () override
 
virtual bool IsValidAdditive () const override
 
virtual TSharedPtr< IInterpolationIndexProvider::FPerBoneInterpolationDataGetPerBoneInterpolationData (const USkeleton *Skeleton) const override
 
virtual int32 GetPerBoneInterpolationIndex (const FCompactPoseBoneIndex &InCompactPoseBoneIndex, const FBoneContainer &RequiredBones, const IInterpolationIndexProvider::FPerBoneInterpolationData *Data) const override
 
virtual int32 GetPerBoneInterpolationIndex (const FSkeletonPoseBoneIndex InSkeletonBoneIndex, const USkeleton *TargetSkeleton, const IInterpolationIndexProvider::FPerBoneInterpolationData *Data) const override
 
virtual ENGINE_API bool IsValidAdditiveType (EAdditiveAnimationType AdditiveType) const
 
ENGINE_API void GetAnimationPose (TArray< FBlendSampleData > &BlendSampleDataCache, FCompactPose &OutPose, FBlendedCurve &OutCurve) const
 
ENGINE_API void GetAnimationPose (TArray< FBlendSampleData > &BlendSampleDataCache, FAnimationPoseData &OutAnimationPoseData) const
 
ENGINE_API void GetAnimationPose (TArray< FBlendSampleData > &BlendSampleDataCache, TArrayView< FPoseLink > InPoseLinks, FPoseContext &Output) const
 
ENGINE_API void GetAnimationPose (TArray< FBlendSampleData > &BlendSampleDataCache, const FAnimExtractContext &ExtractionContext, FAnimationPoseData &OutAnimationPoseData) const
 
ENGINE_API void GetAnimationPose (TArray< FBlendSampleData > &BlendSampleDataCache, TArrayView< FPoseLink > InPoseLinks, const FAnimExtractContext &ExtractionContext, FPoseContext &Output) const
 
ENGINE_API const FBlendParameterGetBlendParameter (const int32 Index) const
 
const TArray< struct FBlendSample > & GetBlendSamples () const
 
ENGINE_API const struct FBlendSampleGetBlendSample (const int32 SampleIndex) const
 
ENGINE_API bool GetSamplesFromBlendInput (const FVector &BlendInput, TArray< FBlendSampleData > &OutSampleDataList, int32 &InOutCachedTriangulationIndex, bool bCombineAnimations) const
 
ENGINE_API float GetAnimationLengthFromSampleData (const TArray< FBlendSampleData > &SampleDataList) const
 
ENGINE_API void InitializeFilter (FBlendFilter *Filter, int NumDimensions=2) const
 
ENGINE_API void UpdateFilterParams (FBlendFilter *Filter) const
 
ENGINE_API FVector GetClampedAndWrappedBlendInput (const FVector &BlendInput) const
 
ENGINE_API bool UpdateBlendSamples (const FVector &InBlendSpacePosition, float InDeltaTime, TArray< FBlendSampleData > &InOutSampleDataCache, int32 &InOutCachedTriangulationIndex) const
 
ENGINE_API void ResetBlendSamples (TArray< FBlendSampleData > &InOutSampleDataCache, float InNormalizedCurrentTime, bool bLooping, bool bMatchSyncPhases=true) const
 
ENGINE_API void ForEachImmutableSample (const TFunctionRef< void(const FBlendSample &)> Func) const
 
ENGINE_API FVector FilterInput (FBlendFilter *Filter, const FVector &BlendInput, float DeltaTime) const
 
ENGINE_API float ComputeAxisScaleFactor (const FVector &BlendSpacePosition, const FVector &FilteredBlendInput) const
 
- Public Member Functions inherited from UAnimationAsset
virtual float GetMaxCurrentTime ()
 
ENGINE_API void SetSkeleton (USkeleton *NewSkeleton)
 
ENGINE_API void ResetSkeleton (USkeleton *NewSkeleton)
 
ENGINE_API void ValidateSkeleton ()
 
const TArray< UAnimMetaData * > & GetMetaData () const
 
ENGINE_API UAnimMetaDataFindMetaDataByClass (const TSubclassOf< UAnimMetaData > MetaDataClass) const
 
template<class T >
T * FindMetaDataByClass () const
 
ENGINE_API void AddMetaData (UAnimMetaData *MetaDataInstance)
 
void EmptyMetaData ()
 
ENGINE_API void RemoveMetaData (UAnimMetaData *MetaDataInstance)
 
ENGINE_API void RemoveMetaData (TArrayView< UAnimMetaData * > MetaDataInstances)
 
virtual ENGINE_API void SetPreviewMesh (USkeletalMesh *PreviewMesh, bool bMarkAsDirty=true) override
 
virtual ENGINE_API USkeletalMeshGetPreviewMesh (bool bFindIfNotSet=false) override
 
virtual ENGINE_API USkeletalMeshGetPreviewMesh () const override
 
virtual ENGINE_API void AddAssetUserData (UAssetUserData *InUserData) override
 
virtual ENGINE_API void RemoveUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API UAssetUserDataGetAssetUserDataOfClass (TSubclassOf< UAssetUserData > InUserDataClass) override
 
virtual ENGINE_API const TArray< UAssetUserData * > * GetAssetUserDataArray () const override
 
class USkeletonGetSkeleton () const
 
FGuid GetSkeletonVirtualBoneGuid () const
 
void SetSkeletonVirtualBoneGuid (FGuid Guid)
 
FGuid GetSkeletonGuid () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual COREUOBJECT_API void BeginDestroy ()
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 
- Public Member Functions inherited from IInterpolationIndexProvider
 ~IInterpolationIndexProvider ()=default
 
virtual ENGINE_API int32 GetPerBoneInterpolationIndex (int32 BoneIndex, const FBoneContainer &RequiredBones, const FPerBoneInterpolationData *Data) const
 

Public Attributes

bool bContainsRotationOffsetMeshSpaceSamples
 
FInterpolationParameter InterpolationParam [3]
 
float TargetWeightInterpolationSpeedPerSec = 0.0f
 
bool bTargetWeightInterpolationEaseInOut = true
 
bool bAllowMeshSpaceBlending = false
 
bool bLoop = true
 
bool bAllowMarkerBasedSync = true
 
bool bShouldMatchSyncPhases = false
 
float AnimLength
 
TEnumAsByte< ENotifyTriggerMode::TypeNotifyTriggerMode
 
bool bInterpolateUsingGrid = false
 
EPreferredTriangulationDirection PreferredTriangulationDirection = EPreferredTriangulationDirection::Tangential
 

Protected Member Functions

void GetRawSamplesFromBlendInput (const FVector &BlendInput, TArray< FGridBlendSample, TInlineAllocator< 4 > > &OutBlendSamples) const
 
virtual EBlendSpaceAxis GetAxisToScale () const
 
void InitializePerBoneBlend ()
 
void TickFollowerSamples (TArray< FBlendSampleData > &SampleDataList, const int32 HighestWeightIndex, FAnimAssetTickContext &Context, bool bResetMarkerDataOnFollowers, bool bLooping, const UMirrorDataTable *MirrorDataTable=nullptr) const
 
FVector GetClampedBlendInput (const FVector &BlendInput) const
 
FVector ConvertBlendInputToGridSpace (const FVector &BlendInput) const
 
FVector GetNormalizedBlendInput (const FVector &BlendInput) const
 
const FEditorElementGetGridSampleInternal (int32 Index) const
 
bool InterpolateWeightOfSampleData (float DeltaTime, const TArray< FBlendSampleData > &OldSampleDataList, const TArray< FBlendSampleData > &NewSampleDataList, TArray< FBlendSampleData > &FinalSampleDataList) const
 
bool ContainsMatchingSamples (EAdditiveAnimationType AdditiveType) const
 
bool IsSameSamplePoint (const FVector &SamplePointA, const FVector &SamplePointB) const
 
void ResetToRefPose (FCompactPose &OutPose) const
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Static Protected Member Functions

static ENGINE_API bool IsSingleFrameBlendingIndexInBounds (const FBlendSample &BlendSample)
 

Protected Attributes

EBlendSpacePerBoneBlendMode PerBoneBlendMode = EBlendSpacePerBoneBlendMode::ManualPerBoneOverride
 
TArray< FPerBoneInterpolationManualPerBoneOverrides
 
FBlendSpaceBlendProfile PerBoneBlendProfile
 
TArray< FPerBoneInterpolationPerBoneBlendValues
 
int32 SampleIndexWithMarkers = INDEX_NONE
 
TArray< struct FBlendSampleSampleData
 
TArray< struct FEditorElementGridSamples
 
FBlendSpaceData BlendSpaceData
 
struct FBlendParameter BlendParameters [3]
 
TEnumAsByte< EBlendSpaceAxisAxisToScaleAnimation
 
TArray< int32DimensionIndices
 
- Protected Attributes inherited from UAnimationAsset
TArray< TObjectPtr< UAssetUserData > > AssetUserData
 

Friends

class FBlendSpaceDetails
 
class FBlendSampleDetails
 
class UAnimGraphNode_BlendSpaceGraphBase
 
class SBlendSpaceGridWidget
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Detailed Description

Allows multiple animations to be blended between based on input parameters

Member Function Documentation

◆ ComputeAxisScaleFactor()

float UBlendSpace::ComputeAxisScaleFactor ( const FVector BlendSpacePosition,
const FVector FilteredBlendInput 
) const

Computes the axis scale factor. See AxisToScaleAnimation.

◆ ContainsMatchingSamples()

bool UBlendSpace::ContainsMatchingSamples ( EAdditiveAnimationType  AdditiveType) const
protected

Returns whether or not all animation set on the blend space samples match the given additive type

◆ ConvertBlendInputToGridSpace()

FVector UBlendSpace::ConvertBlendInputToGridSpace ( const FVector BlendInput) const
protected

Translates BlendInput to grid space

◆ FilterInput()

FVector UBlendSpace::FilterInput ( FBlendFilter Filter,
const FVector BlendInput,
float  DeltaTime 
) const

Interpolate BlendInput based on Filter data

◆ ForEachImmutableSample()

void UBlendSpace::ForEachImmutableSample ( const TFunctionRef< void(const FBlendSample &)>  Func) const

Allows the user to iterate through all the data samples available in the blend space.

Parameters
FuncThe function to run for each blend sample

◆ GetAnimationLengthFromSampleData()

float UBlendSpace::GetAnimationLengthFromSampleData ( const TArray< FBlendSampleData > &  SampleDataList) const

Utility function to calculate animation length from sample data list

◆ GetAnimationPose() [1/5]

void UBlendSpace::GetAnimationPose ( TArray< FBlendSampleData > &  BlendSampleDataCache,
const FAnimExtractContext ExtractionContext,
FAnimationPoseData OutAnimationPoseData 
) const

◆ GetAnimationPose() [2/5]

void UBlendSpace::GetAnimationPose ( TArray< FBlendSampleData > &  BlendSampleDataCache,
FAnimationPoseData OutAnimationPoseData 
) const

◆ GetAnimationPose() [3/5]

void UBlendSpace::GetAnimationPose ( TArray< FBlendSampleData > &  BlendSampleDataCache,
FCompactPose OutPose,
FBlendedCurve OutCurve 
) const

BlendSpace Get Animation Pose function

◆ GetAnimationPose() [4/5]

void UBlendSpace::GetAnimationPose ( TArray< FBlendSampleData > &  BlendSampleDataCache,
TArrayView< FPoseLink InPoseLinks,
const FAnimExtractContext ExtractionContext,
FPoseContext Output 
) const

◆ GetAnimationPose() [5/5]

void UBlendSpace::GetAnimationPose ( TArray< FBlendSampleData > &  BlendSampleDataCache,
TArrayView< FPoseLink InPoseLinks,
FPoseContext Output 
) const

◆ GetAxisToScale()

virtual EBlendSpaceAxis UBlendSpace::GetAxisToScale ( ) const
inlineprotectedvirtual

Returns the axis which can be used to scale animation speed.

Reimplemented in UBlendSpace1D.

◆ GetBlendParameter()

const FBlendParameter & UBlendSpace::GetBlendParameter ( const int32  Index) const

Accessor for blend parameter

◆ GetBlendSample()

const struct FBlendSample & UBlendSpace::GetBlendSample ( const int32  SampleIndex) const

Returns the Blend Sample at the given index, will assert on invalid indices

◆ GetBlendSamples()

const TArray< struct FBlendSample > & UBlendSpace::GetBlendSamples ( ) const
inline

Get this blend spaces sample data

◆ GetClampedAndWrappedBlendInput()

FVector UBlendSpace::GetClampedAndWrappedBlendInput ( const FVector BlendInput) const

Returns the blend input after clamping and/or wrapping

◆ GetClampedBlendInput()

FVector UBlendSpace::GetClampedBlendInput ( const FVector BlendInput) const
protected

Returns the blend input clamped to the valid range, unless that axis has been set to wrap in which case no clamping is done

◆ GetGridSampleInternal()

const FEditorElement * UBlendSpace::GetGridSampleInternal ( int32  Index) const
protected

Returns the grid element at Index or NULL if Index is not valid

◆ GetNormalizedBlendInput()

FVector UBlendSpace::GetNormalizedBlendInput ( const FVector BlendInput) const
protected

Translates BlendInput to grid space

◆ GetPerBoneInterpolationData()

TSharedPtr< IInterpolationIndexProvider::FPerBoneInterpolationData > UBlendSpace::GetPerBoneInterpolationData ( const USkeleton Skeleton) const
overridevirtual

Sorts the PerBoneBlend data into a form that can be repeatedly used in GetPerBoneInterpolationIndex

Reimplemented from IInterpolationIndexProvider.

◆ GetPerBoneInterpolationIndex() [1/2]

int32 UBlendSpace::GetPerBoneInterpolationIndex ( const FCompactPoseBoneIndex InCompactPoseBoneIndex,
const FBoneContainer RequiredBones,
const IInterpolationIndexProvider::FPerBoneInterpolationData Data 
) const
overridevirtual

Get PerBoneInterpolationIndex for the input BoneIndex If nothing found, return INDEX_NONE

Implements IInterpolationIndexProvider.

◆ GetPerBoneInterpolationIndex() [2/2]

int32 UBlendSpace::GetPerBoneInterpolationIndex ( const FSkeletonPoseBoneIndex  InSkeletonBoneIndex,
const USkeleton TargetSkeleton,
const IInterpolationIndexProvider::FPerBoneInterpolationData Data 
) const
overridevirtual

Get PerBoneInterpolationIndex for the input BoneIndex If nothing found, return INDEX_NONE

Implements IInterpolationIndexProvider.

◆ GetPlayLength()

virtual float UBlendSpace::GetPlayLength ( ) const
inlineoverridevirtual

Reimplemented from UAnimationAsset.

◆ GetRawSamplesFromBlendInput()

void UBlendSpace::GetRawSamplesFromBlendInput ( const FVector BlendInput,
TArray< FGridBlendSample, TInlineAllocator< 4 > > &  OutBlendSamples 
) const
protected

Get Grid Samples from BlendInput, From Input, it will populate OutGridSamples with the closest grid points.

Parameters
BlendInputBlendInput X, Y, Z corresponds to BlendParameters[0], [1], [2]
OutBlendSamplesPopulated with the samples nearest the BlendInput

◆ GetResourceSizeEx()

void UBlendSpace::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific).

Parameters
CumulativeResourceSizeStruct used to count up the cumulative size of the resource as to be displayed to artists/LDs in the Editor.

Reimplemented from UObject.

◆ GetSamplesFromBlendInput()

bool UBlendSpace::GetSamplesFromBlendInput ( const FVector BlendInput,
TArray< FBlendSampleData > &  OutSampleDataList,
int32 InOutCachedTriangulationIndex,
bool  bCombineAnimations 
) const

Get Grid Samples from BlendInput It will return all samples that has weight > KINDA_SMALL_NUMBER

Parameters
BlendInputBlendInput X, Y, Z corresponds to BlendParameters[0], [1], [2]
InOutCachedTriangulationIndexThe previous index into triangulation/segmentation to warm-start the search.
bCombineAnimationsWill combine samples that point to the same animation. Useful when processing, but confusing when viewing
Returns
true if it has valid OutSampleDataList, false otherwise

◆ GetUniqueMarkerNames()

TArray< FName > * UBlendSpace::GetUniqueMarkerNames ( )
overridevirtual

Return a list of unique marker names for blending compatibility

Reimplemented from UAnimationAsset.

◆ InitializeFilter()

void UBlendSpace::InitializeFilter ( FBlendFilter Filter,
int  NumDimensions = 2 
) const

Initialize BlendSpace filtering for runtime. Filtering supports multiple dimensions, defaulting to two (since we don't have 3D BlendSpaces yet)

◆ InitializePerBoneBlend()

void UBlendSpace::InitializePerBoneBlend ( )
protected

Initialize Per Bone Blend

◆ InterpolateWeightOfSampleData()

bool UBlendSpace::InterpolateWeightOfSampleData ( float  DeltaTime,
const TArray< FBlendSampleData > &  OldSampleDataList,
const TArray< FBlendSampleData > &  NewSampleDataList,
TArray< FBlendSampleData > &  FinalSampleDataList 
) const
protected

Utility function to interpolate weight of samples from OldSampleDataList to NewSampleDataList and copy back the interpolated result to FinalSampleDataList

◆ IsSameSamplePoint()

bool UBlendSpace::IsSameSamplePoint ( const FVector SamplePointA,
const FVector SamplePointB 
) const
protected

Checks if the given samples points overlap

◆ IsSingleFrameBlendingIndexInBounds()

static ENGINE_API bool UBlendSpace::IsSingleFrameBlendingIndexInBounds ( const FBlendSample BlendSample)
staticprotected

◆ IsValidAdditive()

bool UBlendSpace::IsValidAdditive ( ) const
overridevirtual

return true if this is valid additive animation false otherwise

Reimplemented from UAnimationAsset.

◆ IsValidAdditiveType()

bool UBlendSpace::IsValidAdditiveType ( EAdditiveAnimationType  AdditiveType) const
virtual

Returns whether or not the given additive animation type is compatible with the blendspace type

◆ PostLoad()

void UBlendSpace::PostLoad ( )
overridevirtual

Do any object-specific cleanup required immediately after loading an object. This is not called for newly-created objects, and by default will always execute on the game thread.

Reimplemented from UAnimationAsset.

◆ ResetBlendSamples()

void UBlendSpace::ResetBlendSamples ( TArray< FBlendSampleData > &  InOutSampleDataCache,
float  InNormalizedCurrentTime,
bool  bLooping,
bool  bMatchSyncPhases = true 
) const

Resets a cached set of blend samples to match a given input time. All samples will be advanced using sync marker if possible, otherwise, their time will just be set match the input normalized time.

Parameters
InOutSampleDataCacheThe sample data cache to use.
InNormalizedCurrentTimeThe time to match when advancing samples.
bLoopingIf true, advance samples as a looping blend space would.
bMatchSyncPhasesIf true, all follower samples will pass the same amount of markers the leader sample has passed to match its sync phase. Otherwise, followers samples will only match their next valid sync position.

◆ ResetToRefPose()

void UBlendSpace::ResetToRefPose ( FCompactPose OutPose) const
protected

Reset to reference pose. It does apply different refpose based on additive or not

◆ Serialize()

void UBlendSpace::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UAnimationAsset.

◆ TickAssetPlayer()

void UBlendSpace::TickAssetPlayer ( FAnimTickRecord Instance,
struct FAnimNotifyQueue NotifyQueue,
FAnimAssetTickContext Context 
) const
overridevirtual

Advances the asset player instance

Parameters
InstanceAnimationTickRecord Instance - saves data to evaluate
NotifyQueueQueue for any notifies we create
ContextThe tick context (leader/follower, delta time, sync point, etc...)

Reimplemented from UAnimationAsset.

◆ TickFollowerSamples()

void UBlendSpace::TickFollowerSamples ( TArray< FBlendSampleData > &  SampleDataList,
const int32  HighestWeightIndex,
FAnimAssetTickContext Context,
bool  bResetMarkerDataOnFollowers,
bool  bLooping,
const UMirrorDataTable MirrorDataTable = nullptr 
) const
protected

Ticks the samples in SampleDataList apart from the HighestWeightIndex one.

◆ UpdateBlendSamples()

bool UBlendSpace::UpdateBlendSamples ( const FVector InBlendSpacePosition,
float  InDeltaTime,
TArray< FBlendSampleData > &  InOutSampleDataCache,
int32 InOutCachedTriangulationIndex 
) const

Updates a cached set of blend samples according to internal parameters, blendspace position and a delta time. Used internally to GetAnimationPose(). Note that this function does not perform any filtering internally.

Parameters
InBlendSpacePositionThe current position parameter of the blendspace
InOutSampleDataCacheThe sample data cache. Previous frames samples are re-used in the case of target weight interpolation
InDeltaTimeThe tick time for this update

◆ UpdateFilterParams()

void UBlendSpace::UpdateFilterParams ( FBlendFilter Filter) const

Update BlendSpace filtering parameters - values that don't require a full initialization

Friends And Related Symbol Documentation

◆ FBlendSampleDetails

friend class FBlendSampleDetails
friend

◆ FBlendSpaceDetails

friend class FBlendSpaceDetails
friend

Required for accessing protected variable names

◆ SBlendSpaceGridWidget

friend class SBlendSpaceGridWidget
friend

◆ UAnimGraphNode_BlendSpaceGraphBase

friend class UAnimGraphNode_BlendSpaceGraphBase
friend

Member Data Documentation

◆ AnimLength

float UBlendSpace::AnimLength

This is the maximum length of any sample in the blendspace.

◆ AxisToScaleAnimation

TEnumAsByte<EBlendSpaceAxis> UBlendSpace::AxisToScaleAnimation
protected

If you have input smoothing, this specifies the axis on which to scale the animation playback speed. E.g. for locomotion animation, the speed axis will scale the animation speed in order to make up the difference between the target and the result of blending the samples.

◆ bAllowMarkerBasedSync

bool UBlendSpace::bAllowMarkerBasedSync = true

Whether to allow marker based sync between the samples (it won't force sync if the markers don't exist)

◆ bAllowMeshSpaceBlending

bool UBlendSpace::bAllowMeshSpaceBlending = false

If set then blending is performed in mesh space if there are per-bone sample smoothing overrides.

Note that mesh space blending is significantly more expensive (slower) than normal blending when the samples are regular animations (i.e. not additive animations that are already set to apply in mesh space), and is typically only useful if you want some parts of the skeleton to achieve a pose in mesh space faster or slower than others - for example to make the head move faster than the body/arms when aiming, so the character looks at the target slightly before aiming at it.

Note also that blend space assets with additive/mesh space samples will always blend in mesh space, and also that enabling this option with blend space graphs producing additive/mesh space samples may cause undesired results.

◆ bContainsRotationOffsetMeshSpaceSamples

bool UBlendSpace::bContainsRotationOffsetMeshSpaceSamples

Indicates whether any samples have the flag to apply rotation offsets in mesh space

◆ bInterpolateUsingGrid

bool UBlendSpace::bInterpolateUsingGrid = false

If true then interpolation is done via a grid at runtime. If false the interpolation uses the triangulation.

◆ BlendParameters

struct FBlendParameter UBlendSpace::BlendParameters[3]
protected

Blend Parameters for each axis.

◆ BlendSpaceData

FBlendSpaceData UBlendSpace::BlendSpaceData
protected

Container for the runtime data, which could be line segments, triangulation or tetrahedrons

◆ bLoop

bool UBlendSpace::bLoop = true

The default looping behavior of this blend space. Asset players can override this

◆ bShouldMatchSyncPhases

bool UBlendSpace::bShouldMatchSyncPhases = false

If true, all follower samples will pass the same amount of markers the leader sample has passed to match its sync phase. Otherwise, followers samples will only match their next valid sync position.

◆ bTargetWeightInterpolationEaseInOut

bool UBlendSpace::bTargetWeightInterpolationEaseInOut = true

If set then this eases in/out the sample weight adjustments, using the speed to determine how much smoothing to apply.

◆ DimensionIndices

TArray<int32> UBlendSpace::DimensionIndices
protected

The order in which to use the dimensions in the data - e.g. [1, 2] means a 2D blend using Y and Z

◆ GridSamples

TArray<struct FEditorElement> UBlendSpace::GridSamples
protected

Grid samples, indexing scheme imposed by subclass

◆ InterpolationParam

FInterpolationParameter UBlendSpace::InterpolationParam[3]

Input Smoothing parameters for each input axis

◆ ManualPerBoneOverrides

TArray<FPerBoneInterpolation> UBlendSpace::ManualPerBoneOverrides
protected

Per bone sample smoothing settings, which affect the specified bone and all its descendants in the skeleton. These act as overrides to the global sample smoothing speed, which means the global sample smoothing speed does not affect these bones. Note that they also override each other - so a per-bone setting on the chest will not affect the hand if there is a per-bone setting on the arm.

◆ NotifyTriggerMode

TEnumAsByte<ENotifyTriggerMode::Type> UBlendSpace::NotifyTriggerMode

The current mode used by the BlendSpace to decide which animation notifies to fire. Valid options are:

  • AllAnimations: All notify events will fire
  • HighestWeightedAnimation: Notify events will only fire from the highest weighted animation
  • None: No notify events will fire from any animations

◆ PerBoneBlendMode

EBlendSpacePerBoneBlendMode UBlendSpace::PerBoneBlendMode = EBlendSpacePerBoneBlendMode::ManualPerBoneOverride
protected

There are two ways to use per pone sample smoothing: Blend profiles and manually maintaining the per bone overrides.

◆ PerBoneBlendProfile

FBlendSpaceBlendProfile UBlendSpace::PerBoneBlendProfile
protected

Reference to a blend profile of the corresponding skeleton to be used for per bone smoothing in case the per bone blend mode is set to use a blend profile.

◆ PerBoneBlendValues

TArray<FPerBoneInterpolation> UBlendSpace::PerBoneBlendValues
protected

Stores the actual bone references and their smoothing interpolation speeds used by the blend space. This will be either filled by the manual per bone overrides or the blend profile, depending on the set per bone blend mode.

◆ PreferredTriangulationDirection

EPreferredTriangulationDirection UBlendSpace::PreferredTriangulationDirection = EPreferredTriangulationDirection::Tangential

Preferred edge direction when the triangulation has to make an arbitrary choice

◆ SampleData

TArray<struct FBlendSample> UBlendSpace::SampleData
protected

Sample animation data

◆ SampleIndexWithMarkers

int32 UBlendSpace::SampleIndexWithMarkers = INDEX_NONE
protected

Track index to get marker data from. Samples are tested for the suitability of marker based sync during load and if we can use marker based sync we cache an index to a representative sample here

◆ TargetWeightInterpolationSpeedPerSec

float UBlendSpace::TargetWeightInterpolationSpeedPerSec = 0.0f

If greater than zero, this is the speed at which the sample weights are allowed to change.

A speed of 1 means a sample weight can change from zero to one (or one to zero) in one second. A speed of 2 means that this would take half a second.

This allows the Blend Space to switch to new parameters without going through intermediate states, effectively blending between where it was and where the new target is. For example, imagine we have a blend space for locomotion, moving left, forward and right. Now if you interpolate the inputs of the blend space itself, from one extreme to the other, you will go from left, to forward, to right. As an alternative, by setting this Sample Weight Speed to a value higher than zero, it will go directly from left to right, without going through moving forward first.

Smaller values mean slower adjustments of the sample weights, and thus more smoothing. However, a value of zero disables this smoothing entirely.


The documentation for this class was generated from the following files: