UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_RotationMultiplier.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
"
6
#include "
UObject/ObjectMacros.h
"
7
#include "
BoneContainer.h
"
8
#include "
BonePose.h
"
9
#include "
BoneControllers/AnimNode_SkeletalControlBase.h
"
10
#include "AnimNode_RotationMultiplier.generated.h"
11
12
class
USkeletalMeshComponent;
13
18
USTRUCT
(BlueprintInternalUseOnly)
19
struct
FAnimNode_RotationMultiplier
:
public
FAnimNode_SkeletalControlBase
20
{
21
GENERATED_USTRUCT_BODY
()
22
23
24
UPROPERTY
(EditAnywhere, Category=
Multiplier
)
25
FBoneReference
TargetBone;
26
28
UPROPERTY
(EditAnywhere, Category=
Multiplier
)
29
FBoneReference
SourceBone;
30
31
// To make these to be easily pin-hookable, I'm not making it struct, but each variable
32
// 0.f is invalid, and default
33
UPROPERTY
(EditAnywhere, BlueprintReadWrite, Category=
Multiplier
, meta=(PinShownByDefault))
34
float
Multiplier
;
35
36
UPROPERTY
(EditAnywhere, Category=
Multiplier
)
37
TEnumAsByte
<
EBoneAxis
> RotationAxisToRefer;
38
39
UPROPERTY
(EditAnywhere, Category =
Multiplier
)
40
bool
bIsAdditive;
41
42
ANIMGRAPHRUNTIME_API
FAnimNode_RotationMultiplier
();
43
44
// FAnimNode_Base interface
45
ANIMGRAPHRUNTIME_API
virtual
void
GatherDebugData(
FNodeDebugData
& DebugData)
override
;
46
// End of FAnimNode_Base interface
47
48
// FAnimNode_SkeletalControlBase interface
49
ANIMGRAPHRUNTIME_API
virtual
void
EvaluateSkeletalControl_AnyThread(
FComponentSpacePoseContext
&
Output
,
TArray
<
FBoneTransform
>&
OutBoneTransforms
)
override
;
50
ANIMGRAPHRUNTIME_API
virtual
bool
IsValidToEvaluate(const
USkeleton
*
Skeleton
, const
FBoneContainer
& RequiredBones)
override
;
51
// End of FAnimNode_SkeletalControlBase interface
52
53
private
:
54
// Extract Delta Quat of rotation around Axis of animation and reference pose for the SourceBoneIndex
55
FQuat
ExtractAngle(const
FTransform
&
RefPoseTransform
, const
FTransform
& LocalBoneTransform, const
EBoneAxis
Axis
);
56
// Multiply scalar value Multiplier to the delta Quat of SourceBone Index's rotation
57
FQuat
MultiplyQuatBasedOnSourceIndex(const
FTransform
&
RefPoseTransform
, const
FTransform
& LocalBoneTransform, const
EBoneAxis
Axis
,
float
InMultiplier
, const
FQuat
&
ReferenceQuat
);
58
59
// FAnimNode_SkeletalControlBase interface
60
ANIMGRAPHRUNTIME_API
virtual
void
InitializeBoneReferences(const
FBoneContainer
& RequiredBones)
override
;
61
// End of FAnimNode_SkeletalControlBase interface
62
};
AnimNode_SkeletalControlBase.h
EBoneAxis
EBoneAxis
Definition
AnimTypes.h:50
BoneContainer.h
BonePose.h
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
EGizmoElementViewDependentType::Axis
@ Axis
ObjectMacros.h
UPROPERTY
#define UPROPERTY(...)
UObject definition macros.
Definition
ObjectMacros.h:744
USTRUCT
#define USTRUCT(...)
Definition
ObjectMacros.h:746
GENERATED_USTRUCT_BODY
#define GENERATED_USTRUCT_BODY(...)
Definition
ObjectMacros.h:767
EUserSceneTextureEvent::Output
@ Output
ESkeletalMeshAsyncProperties::Skeleton
@ Skeleton
EUnit::Multiplier
@ Multiplier
TArray
Definition
Array.h:670
TEnumAsByte
Definition
EnumAsByte.h:22
USkeleton
Definition
Skeleton.h:295
FAnimNode_RotationMultiplier
Definition
AnimNode_RotationMultiplier.h:20
FAnimNode_SkeletalControlBase
Definition
AnimNode_SkeletalControlBase.h:22
FBoneContainer
Definition
BoneContainer.h:192
FBoneReference
Definition
BoneReference.h:14
FBoneTransform
Definition
BonePose.h:16
FComponentSpacePoseContext
Definition
AnimNodeBase.h:600
FNodeDebugData
Definition
AnimNodeBase.h:642
UE::Math::TQuat< double >
UE::Math::TTransform< double >
Engine
Source
Runtime
AnimGraphRuntime
Public
BoneControllers
AnimNode_RotationMultiplier.h
Generated by
1.9.8