UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
KismetAnimationLibrary.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "Curves/CurveFloat.h"
10#include "KismetAnimationLibrary.generated.h"
11
12class USkeletalMeshComponent;
13
17UCLASS(meta=(ScriptName="AnimGraphLibrary", BlueprintThreadSafe, DocumentationPolicy="Strict"), MinimalAPI)
19{
21
22
36 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (DisplayName = "Two Bone IK Function", ScriptName = "TwoBoneIK", bAllowStretching = "false", StartStretchRatio = "1.0", MaxStretchScale = "1.2"))
37 static ANIMGRAPHRUNTIME_API void K2_TwoBoneIK(
38 const FVector& RootPos,
39 const FVector& JointPos,
40 const FVector& EndPos,
41 const FVector& JointTarget,
42 const FVector& Effector,
45 bool bAllowStretching,
46 float StartStretchRatio,
47 float MaxStretchScale
48 );
49
60 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (DisplayName = "Look At Function", ScriptName = "LookAt", bUseUpVector = "false"))
61 static ANIMGRAPHRUNTIME_API FTransform K2_LookAt(
62 const FTransform& CurrentTransform,
63 const FVector& TargetPosition,
65 bool bUseUpVector,
66 FVector UpVector,
68 );
69
84 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (NotBlueprintThreadSafe, DisplayName = "Get Distance Between Two Sockets", ScriptName = "DistanceBetweenSockets", bRemapRange= "false"))
85 static ANIMGRAPHRUNTIME_API float K2_DistanceBetweenTwoSocketsAndMapRange(
86 const USkeletalMeshComponent* Component,
91 bool bRemapRange,
92 float InRangeMin,
93 float InRangeMax,
94 float OutRangeMin,
95 float OutRangeMax);
96
104 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (NotBlueprintThreadSafe, DisplayName = "Get Direction Between Sockets", ScriptName = "DirectionBetweenSockets"))
105 static ANIMGRAPHRUNTIME_API FVector K2_DirectionBetweenSockets(const USkeletalMeshComponent* Component, const FName SocketOrBoneNameFrom, const FName SocketOrBoneNameTo);
106
120 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (DisplayName = "Make Perlin Noise Vector and Remap", ScriptName = "MakeVectorFromPerlinNoise", RangeOutMinX = "-1.f", RangeOutMaxX = "1.f", RangeOutMinY = "-1.f", RangeOutMaxY = "1.f", RangeOutMinZ = "-1.f", RangeOutMaxZ = "1.f"))
121 static ANIMGRAPHRUNTIME_API FVector K2_MakePerlinNoiseVectorAndRemap(
122 float X,
123 float Y,
124 float Z,
125 float RangeOutMinX,
126 float RangeOutMaxX,
127 float RangeOutMinY,
128 float RangeOutMaxY,
129 float RangeOutMinZ,
130 float RangeOutMaxZ
131 );
132
140 UFUNCTION(BlueprintPure, Category = "Animation|Utilities", meta = (DisplayName = "Make Perlin Noise and Remap", ScriptName = "MakeFloatFromPerlinNoise", RangeOutMinX = "-1.f", RangeOutMaxX = "1.f", RangeOutMinY = "-1.f", RangeOutMaxY = "1.f", RangeOutMinZ = "-1.f", RangeOutMaxZ = "1.f"))
141 static ANIMGRAPHRUNTIME_API float K2_MakePerlinNoiseAndRemap(
142 float Value,
143 float RangeOutMin,
144 float RangeOutMax
145 );
146
158 UFUNCTION(BlueprintCallable, Category = "Animation|Utilities", meta = (DisplayName = "Calculate Velocity From Position History", ScriptName = "CalculateVelocityFromPositionHistory", NumberOfSamples = "16", VelocityMin = "0.f", VelocityMax = "128.f"))
159 static ANIMGRAPHRUNTIME_API float K2_CalculateVelocityFromPositionHistory(
160 float DeltaSeconds,
162 UPARAM(ref) FPositionHistory& History,
163 int32 NumberOfSamples,
164 float VelocityMin,
165 float VelocityMax
166 );
167
186 UFUNCTION(BlueprintCallable, Category = "Animation|Utilities", meta = (NotBlueprintThreadSafe, DisplayName = "Calculate Velocity From Sockets", ScriptName = "CalculateVelocityFromSockets", NumberOfSamples = "16", VelocityMin = "0.f", VelocityMax = "128.f"))
187 static ANIMGRAPHRUNTIME_API float K2_CalculateVelocityFromSockets(
188 float DeltaSeconds,
189 USkeletalMeshComponent * Component,
194 UPARAM(ref) FPositionHistory& History,
195 int32 NumberOfSamples,
196 float VelocityMin,
197 float VelocityMax,
198 EEasingFuncType EasingType,
200 );
201
205 UFUNCTION(BlueprintCallable, Category = "Animation|Utilities", meta = (DisplayName = "Start Profiling Timer"))
206 static ANIMGRAPHRUNTIME_API void K2_StartProfilingTimer();
207
215 UFUNCTION(BlueprintCallable, Category = "Animation|Utilities", meta = (DisplayName = "End Profiling Timer"))
216 static ANIMGRAPHRUNTIME_API float K2_EndProfilingTimer(bool bLog = true, const FString& LogPrefix = "");
217
224 UFUNCTION(BlueprintPure, Category="Animation|Utilities")
225 static ANIMGRAPHRUNTIME_API float CalculateDirection(const FVector& Velocity, const FRotator& BaseRotation);
226};
227
EEasingFuncType
Definition CommonAnimationTypes.h:14
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define UPARAM(...)
Definition ObjectMacros.h:748
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
ERelativeTransformSpace
Definition SceneComponent.h:43
Definition NameTypes.h:617
Definition BlueprintFunctionLibrary.h:16
Definition KismetAnimationLibrary.h:19
Definition KismetAnimationTypes.h:18
Definition CurveFloat.h:13