UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_MultiWayBlend.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "AnimNode_MultiWayBlend.generated.h"
8
9// This represents a baked transition
10USTRUCT(BlueprintInternalUseOnly)
12{
14
15public:
16
17 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Links, meta = (BlueprintCompilerGeneratedDefaults))
19
20 UPROPERTY(EditAnywhere, EditFixedSize, BlueprintReadWrite, Category=Settings, meta=(BlueprintCompilerGeneratedDefaults, PinShownByDefault))
21 TArray<float> DesiredAlphas;
22
24 TArray<float> CachedAlphas;
25
26public:
27 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Settings)
28 FInputScaleBias AlphaScaleBias;
29
30 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings)
31 bool bAdditiveNode;
32
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Settings)
34 bool bNormalizeAlpha;
35
36public:
38 : bAdditiveNode(false)
39 , bNormalizeAlpha(true)
40 {
41 }
42
43 // FAnimNode_Base interface
44 ANIMGRAPHRUNTIME_API virtual void Initialize_AnyThread(const FAnimationInitializeContext& Context) override;
45 ANIMGRAPHRUNTIME_API virtual void CacheBones_AnyThread(const FAnimationCacheBonesContext& Context) override;
46 ANIMGRAPHRUNTIME_API virtual void Update_AnyThread(const FAnimationUpdateContext& Context) override;
47 ANIMGRAPHRUNTIME_API virtual void Evaluate_AnyThread(FPoseContext& Output) override;
48 ANIMGRAPHRUNTIME_API virtual void GatherDebugData(FNodeDebugData& DebugData) override;
49 // End of FAnimNode_Base interface
50
52 {
53 Poses.AddDefaulted();
54 DesiredAlphas.AddZeroed();
55 UpdateCachedAlphas();
56
57 return Poses.Num();
58 }
59
60 void RemovePose(int32 PoseIndex)
61 {
62 Poses.RemoveAt(PoseIndex);
63 CachedAlphas.RemoveAt(PoseIndex);
64 DesiredAlphas.RemoveAt(PoseIndex);
65 }
66
68 {
69 Poses.Reset();
70 CachedAlphas.Reset();
71 DesiredAlphas.Reset();
72 }
73
74 float GetTotalAlpha() const
75 {
76 float TotalAlpha = 0.f;
77
78 for (float Alpha : DesiredAlphas)
79 {
81 }
82
83 return TotalAlpha;
84 }
85
86private:
87 // process new weights and then return out
88 ANIMGRAPHRUNTIME_API void UpdateCachedAlphas();
89
90 friend class UAnimGraphNode_MultiWayBlend;
91};
92
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
return true
Definition ExternalRpcRegistry.cpp:601
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition Array.h:670
@ false
Definition radaudio_common.h:23
Definition AnimNodeBase.h:853
Definition AnimNode_MultiWayBlend.h:12
int32 AddPose()
Definition AnimNode_MultiWayBlend.h:51
float GetTotalAlpha() const
Definition AnimNode_MultiWayBlend.h:74
void ResetPoses()
Definition AnimNode_MultiWayBlend.h:67
void RemovePose(int32 PoseIndex)
Definition AnimNode_MultiWayBlend.h:60
Definition AnimNodeBase.h:337
Definition AnimNodeBase.h:324
Definition AnimNodeBase.h:354
Definition InputScaleBias.h:15
Definition AnimNodeBase.h:642
Definition AnimNodeBase.h:479