18#include "BlendSpace.generated.h"
47 BSA_X UMETA(DisplayName =
"Horizontal (X) Axis"),
55 Tangential UMETA(DisplayName =
"Tangential",
ToolTip =
"When there is ambiguity, rectangles will be split so that the inserted edge tends to not point towards the origin"),
56 Radial UMETA(DisplayName =
"Radial",
ToolTip =
"When there is ambiguity, rectangles will be split so that the inserted edge tends to point towards the origin")
63 BlendProfile
UMETA(DisplayName =
"Blend Profile",
ToolTip =
"Use a blend profile to specify the bone smoothing interpolation times.")
88 UPROPERTY(EditAnywhere, DisplayName =
"Smoothing Time", Category=Parameter, meta = (ClampMin =
"0"))
97 float DampingRatio = 1.f;
104 UPROPERTY(EditAnywhere, Category=Parameter, meta = (ClampMin = "0"))
105 float MaxSpeed = 0.f;
108 UPROPERTY(EditAnywhere, DisplayName = "
Smoothing Type", Category=Parameter, meta = (EditCondition = "InterpolationTime > 0"))
157 return GetRange()/(
float)GridNum;
177 UPROPERTY(EditAnywhere, Category =
BlendSample, meta=(UIMin="0.01", UIMax="2.0", ClampMin="0.01", ClampMax="64.0"))
178 float RateScale = 1.0f;
181 bool bUseSingleFrameForBlending =
false;
187#if WITH_EDITORONLY_DATA
190 UPROPERTY(EditAnywhere, Category =
BlendSample, meta=(UIMin=
"0.01", UIMax=
"2.0", ClampMin=
"0.01", ClampMax=
"64.0"))
243 static const int32 NUM_VERTICES = 2;
251 float Vertices[NUM_VERTICES] = { 0.f, 0.f };
293 static const int32 NUM_VERTICES = 3;
349 return Segments.Num() == 0 && Triangles.Num() == 0;
387 float Weights[MAX_VERTICES];
391 for (
int32 ElementIndex = 0; ElementIndex < MAX_VERTICES; ElementIndex++)
394 Weights[ElementIndex] = 0;
439 float InterpolationSpeedPerSec;
442 : InterpolationSpeedPerSec(6.f)
472 friend class FBlendSpaceDetails;
473 friend class FBlendSampleDetails;
474 friend class UAnimGraphNode_BlendSpaceGraphBase;
475 friend class SBlendSpaceGridWidget;
494 virtual bool IsValidAdditive()
const override;
529 UE_DEPRECATED(4.26,
"Use GetAnimationPose with other signature")
625 UE_DEPRECATED(5.0,
"Please use ReplaceSampleAnimation instead")
708 void InitializePerBoneBlend();
711 void TickFollowerSamples(
752#if WITH_EDITORONLY_DATA
753 UE_DEPRECATED(5.1,
"This property is deprecated. Please use/see bContainsRotationOffsetMeshSpaceSamples instead")
759 bool bContainsRotationOffsetMeshSpaceSamples;
765#if WITH_EDITORONLY_DATA
794 float TargetWeightInterpolationSpeedPerSec = 0.0f;
800 bool bTargetWeightInterpolationEaseInOut =
true;
816 bool bAllowMeshSpaceBlending =
false;
827 bool bAllowMarkerBasedSync =
true;
831 bool bShouldMatchSyncPhases =
false;
833#if WITH_EDITORONLY_DATA
948 void EmptyGridElements();
950 void ClearBlendSpaceData();
954 void ResampleData1D();
955 void ResampleData2D();
EAdditiveAnimationType
Definition AnimTypes.h:575
EBlendSpaceAxis
Definition BlendSpace.h:45
@ UMETA
Definition BlendSpace.h:46
EBlendSpacePerBoneBlendMode
Definition BlendSpace.h:61
EPreferredTriangulationDirection
Definition BlendSpace.h:53
@ 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
EFilterInterpolationType
Definition EngineTypes.h:1250
return true
Definition ExternalRpcRegistry.cpp:601
@ BlendParameter
Definition MaterialParameters.h:27
UE::Math::TVector2< double > FVector2D
Definition MathFwd.h:48
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#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
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
if(Failed) console_printf("Failed.\n")
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition UnrealType.h:174
Definition AnimationRuntime.h:74
Definition ArrayView.h:139
Definition EnumAsByte.h:22
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition ContainerAllocationPolicies.h:894
Definition BlendSpace.h:30
virtual void MakeCache(TObjectPtr< UCachedAnalysisProperties > &Cache, UBlendSpace *BlendSpace)
Definition BlendSpace.h:35
virtual void InitializeFromCache(TObjectPtr< UCachedAnalysisProperties > Cache)
Definition BlendSpace.h:34
Definition AnimSequenceBase.h:37
Definition AnimSequence.h:203
Definition AnimationAsset.h:1020
Definition BlendProfile.h:132
Definition BlendSpace.h:467
virtual float GetPlayLength() const override
Definition BlendSpace.h:492
virtual EBlendSpaceAxis GetAxisToScale() const
Definition BlendSpace.h:705
static ENGINE_API bool IsSingleFrameBlendingIndexInBounds(const FBlendSample &BlendSample)
float TargetWeightInterpolationSpeedPerSec
Definition BlendSpace.h:794
Definition MirrorDataTable.h:102
Definition Skeleton.h:295
Definition BlendSpace.h:453
Type
Definition BlendSpace.h:455
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition AnimationAsset.h:850
Definition AnimInstanceProxy.h:144
Definition AnimNotifyQueue.h:161
Definition AnimationAsset.h:411
Definition AnimationPoseData.h:16
Definition AnimationAsset.h:209
Definition BlendSpace.h:114
float GetRange() const
Definition BlendSpace.h:150
float GetGridSize() const
Definition BlendSpace.h:155
Definition AnimationAsset.h:122
Definition BlendSpace.h:165
bool operator==(const FBlendSample &Other) const
Definition BlendSpace.h:225
FVector SampleValue
Definition BlendSpace.h:175
FBlendSample(class UAnimSequence *InAnim, FVector InValue, bool bInIsSnapped, bool bInIsValid)
Definition BlendSpace.h:213
FBlendSample()
Definition BlendSpace.h:201
Definition BlendSpace.h:68
Definition BlendSpace.h:332
void Empty()
Definition BlendSpace.h:341
bool IsEmpty() const
Definition BlendSpace.h:347
Definition BlendSpace.h:238
Definition BlendSpace.h:256
Definition BlendSpace.h:288
Definition AnimCurveTypes.h:1041
Definition BoneContainer.h:192
Definition BoneReference.h:14
Definition BoneIndices.h:63
Definition BonePose.h:347
Definition BlendSpace.h:377
Definition BlendSpace.h:403
Definition BlendSpace.h:80
static UE_FORCEINLINE_HINT bool IsNearlyEqual(float A, float B, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:388
Definition BlendSpace.h:421
void Initialize(const USkeleton *Skeleton)
Definition BlendSpace.h:445
Definition AnimNodeBase.h:479
Definition AnimNodeBase.h:819
Definition UnrealType.h:6865
Definition ResourceSize.h:31
Definition BoneIndices.h:79
Definition BlendSpace.h:312
FWeightedBlendSample(int32 Index=INDEX_NONE, float Weight=0)
Definition BlendSpace.h:316
Definition AnimationRuntime.h:79
Definition ObjectPtr.h:488