UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_ApplyLimits.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_ApplyLimits.generated.h"
11
12
class
USkeletalMeshComponent;
13
14
USTRUCT
()
15
struct
FAngularRangeLimit
16
{
17
GENERATED_BODY
()
18
19
FAngularRangeLimit
()
20
: LimitMin(-180, -180, -180)
21
, LimitMax(+180, +180, +180)
22
{}
23
24
UPROPERTY
(EditAnywhere, Category =
Angular
, meta = (UIMin =
"-180"
, UIMax =
"180"
, ClampMin =
"-180"
, ClampMax =
"180"
))
25
FVector
LimitMin;
26
27
UPROPERTY
(EditAnywhere, Category =
Angular
, meta = (UIMin = "-180", UIMax = "180", ClampMin = "-180", ClampMax = "180"))
28
FVector
LimitMax;
29
30
UPROPERTY
(EditAnywhere, Category =
Angular
)
31
FBoneReference
Bone
;
32
};
33
34
USTRUCT
(BlueprintInternalUseOnly)
35
struct
FAnimNode_ApplyLimits
:
public
FAnimNode_SkeletalControlBase
36
{
37
GENERATED_USTRUCT_BODY
();
38
39
ANIMGRAPHRUNTIME_API
FAnimNode_ApplyLimits
();
40
41
UPROPERTY
(EditAnywhere, Category =
Angular
)
42
TArray
<
FAngularRangeLimit
> AngularRangeLimits;
43
44
UPROPERTY
(EditAnywhere, BlueprintReadWrite, EditFixedSize, Category = "
Angular
", meta = (PinHiddenByDefault))
45
TArray
<
FVector
> AngularOffsets;
46
47
ANIMGRAPHRUNTIME_API
void
RecalcLimits();
48
49
// FAnimNode_Base interface
50
ANIMGRAPHRUNTIME_API
virtual
void
GatherDebugData(
FNodeDebugData
& DebugData)
override
;
51
ANIMGRAPHRUNTIME_API
virtual
void
OnInitializeAnimInstance(const
FAnimInstanceProxy
*
InProxy
, const
UAnimInstance
*
InAnimInstance
)
override
;
52
virtual
bool
NeedsOnInitializeAnimInstance()
const override
{
return
true
; }
53
// End of FAnimNode_Base interface
54
55
// FAnimNode_SkeletalControlBase interface
56
ANIMGRAPHRUNTIME_API
virtual
void
EvaluateSkeletalControl_AnyThread(
FComponentSpacePoseContext
&
Output
,
TArray<FBoneTransform>
&
OutBoneTransforms
)
override
;
57
ANIMGRAPHRUNTIME_API
virtual
bool
IsValidToEvaluate(
const
USkeleton
*
Skeleton
,
const
FBoneContainer
& RequiredBones)
override
;
58
// End of FAnimNode_SkeletalControlBase interface
59
60
private
:
61
// FAnimNode_SkeletalControlBase interface
62
ANIMGRAPHRUNTIME_API
virtual
void
InitializeBoneReferences(
const
FBoneContainer
& RequiredBones)
override
;
63
// End of FAnimNode_SkeletalControlBase interface
64
};
AnimPhysAngularConstraintType::Angular
@ Angular
EDrivenDestinationMode::Bone
@ Bone
AnimNode_SkeletalControlBase.h
BoneContainer.h
BonePose.h
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
ObjectMacros.h
UPROPERTY
#define UPROPERTY(...)
UObject definition macros.
Definition
ObjectMacros.h:744
GENERATED_BODY
#define GENERATED_BODY(...)
Definition
ObjectMacros.h:765
USTRUCT
#define USTRUCT(...)
Definition
ObjectMacros.h:746
EUserSceneTextureEvent::Output
@ Output
ESkeletalMeshAsyncProperties::Skeleton
@ Skeleton
TArray
Definition
Array.h:670
UAnimInstance
Definition
AnimInstance.h:353
USkeleton
Definition
Skeleton.h:295
FAngularRangeLimit
Definition
AnimNode_ApplyLimits.h:16
FAnimInstanceProxy
Definition
AnimInstanceProxy.h:144
FAnimNode_ApplyLimits
Definition
AnimNode_ApplyLimits.h:36
FAnimNode_ApplyLimits::GENERATED_USTRUCT_BODY
GENERATED_USTRUCT_BODY()
FAnimNode_SkeletalControlBase
Definition
AnimNode_SkeletalControlBase.h:22
FBoneContainer
Definition
BoneContainer.h:192
FBoneReference
Definition
BoneReference.h:14
FComponentSpacePoseContext
Definition
AnimNodeBase.h:600
FNodeDebugData
Definition
AnimNodeBase.h:642
UE::Math::TVector< double >
Engine
Source
Runtime
AnimGraphRuntime
Public
BoneControllers
AnimNode_ApplyLimits.h
Generated by
1.9.8