UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNodeAlphaOptions.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
Animation/AnimInstance.h
"
6
#include "
Animation/AnimInstanceProxy.h
"
7
#include "
Animation/AnimNodeBase.h
"
8
#include "
Animation/InputScaleBias.h
"
9
10
// Alpha blending options helper functions for anim nodes
11
// Assumes that the specified node contains the members:
12
// AlphaInputType, ActualAlpha, AlphaScaleBias, Alpha, bAlphaBoolEnabled, AlphaCurveName
13
struct
FAnimNodeAlphaOptions
14
{
15
// Per-tick update
16
template
<
typename
AnimNodeType>
17
static
bool
Update
(
AnimNodeType
&
InAnimNode
,
const
FAnimationUpdateContext
&
InContext
)
18
{
19
// Determine Actual Alpha.
20
switch
(
InAnimNode
.AlphaInputType)
21
{
22
case
EAnimAlphaInputType::Float:
23
InAnimNode
.ActualAlpha =
InAnimNode
.AlphaScaleBias.ApplyTo(
InAnimNode
.AlphaScaleBiasClamp.ApplyTo(
InAnimNode
.Alpha,
InContext
.GetDeltaTime()));
24
break
;
25
case
EAnimAlphaInputType::Bool:
26
InAnimNode
.ActualAlpha =
InAnimNode
.AlphaBoolBlend.ApplyTo(
InAnimNode
.bAlphaBoolEnabled,
InContext
.GetDeltaTime());
27
break
;
28
case
EAnimAlphaInputType::Curve:
29
if
(
UAnimInstance
*
AnimInstance
=
Cast<UAnimInstance>
(
InContext
.AnimInstanceProxy->GetAnimInstanceObject()))
30
{
31
InAnimNode
.ActualAlpha =
InAnimNode
.AlphaScaleBiasClamp.ApplyTo(
AnimInstance
->GetCurveValue(
InAnimNode
.AlphaCurveName),
InContext
.GetDeltaTime());
32
}
33
break
;
34
};
35
36
// Make sure Alpha is clamped between 0 and 1.
37
InAnimNode
.ActualAlpha = FMath::Clamp<float>(
InAnimNode
.ActualAlpha, 0.f, 1.f);
38
39
return
FAnimWeight::IsRelevant
(
InAnimNode
.ActualAlpha);
40
}
41
};
EAnimInstanceLocatorFragmentType::AnimInstance
@ AnimInstance
AnimInstanceProxy.h
AnimInstance.h
AnimNodeBase.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
InputScaleBias.h
UAnimInstance
Definition
AnimInstance.h:353
FAnimNodeAlphaOptions
Definition
AnimNodeAlphaOptions.h:14
FAnimNodeAlphaOptions::Update
static bool Update(AnimNodeType &InAnimNode, const FAnimationUpdateContext &InContext)
Definition
AnimNodeAlphaOptions.h:17
FAnimWeight::IsRelevant
static bool IsRelevant(float InWeight)
Definition
AnimTypes.h:666
FAnimationUpdateContext
Definition
AnimNodeBase.h:354
Engine
Source
Runtime
Engine
Classes
Animation
AnimNodeAlphaOptions.h
Generated by
1.9.8