UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimNode_CCDIK.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "CCDIK.h"
7#include "EngineDefines.h"
8#include "AnimNode_CCDIK.generated.h"
9
13USTRUCT()
15{
17
18
19 UPROPERTY(EditAnywhere, Category = Effector, meta = (PinShownByDefault))
20 FVector EffectorLocation;
21
23 UPROPERTY(EditAnywhere, Category = Effector)
24 TEnumAsByte<enum EBoneControlSpace> EffectorLocationSpace;
25
27 UPROPERTY(EditAnywhere, Category = Effector)
28 FBoneSocketTarget EffectorTarget;
29
31 UPROPERTY(EditAnywhere, Category = Solver)
33
35 UPROPERTY(EditAnywhere, Category = Solver)
37
39 UPROPERTY(EditAnywhere, Category = Solver)
40 float Precision;
41
43 UPROPERTY(EditAnywhere, Category = Solver)
44 int32 MaxIterations;
45
47 UPROPERTY(EditAnywhere, Category = Solver)
48 bool bStartFromTail;
49
51 UPROPERTY(EditAnywhere, Category = Solver)
52 bool bEnableRotationLimit;
53
56 UPROPERTY(EditAnywhere, EditFixedSize, Category = Solver)
57 TArray<float> RotationLimitPerJoints;
58
59public:
61
62 // FAnimNode_Base interface
63 ANIMGRAPHRUNTIME_API virtual void GatherDebugData(FNodeDebugData& DebugData) override;
64 // End of FAnimNode_Base interface
65
66 // FAnimNode_SkeletalControlBase interface
68 ANIMGRAPHRUNTIME_API virtual bool IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones) override;
69 // End of FAnimNode_SkeletalControlBase interface
70
72 // FAnimNode_SkeletalControlBase interface
73 ANIMGRAPHRUNTIME_API virtual void InitializeBoneReferences(const FBoneContainer& RequiredBones) override;
74 // End of FAnimNode_SkeletalControlBase interface
75
76 // Convenience function to get current (pre-translation iteration) component space location of bone by bone index
77 FVector GetCurrentLocation(FCSPose<FCompactPose>& MeshBases, const FCompactPoseBoneIndex& BoneIndex);
78
80
81public:
82#if WITH_EDITOR
83#if UE_ENABLE_DEBUG_DRAWING
85#endif // #if UE_ENABLE_DEBUG_DRAWING
86 // resize rotation limit array based on set up
88#endif
89};
EBoneControlSpace
Definition AnimTypes.h:60
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 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
Definition EnumAsByte.h:22
Definition Skeleton.h:295
Definition AnimNode_CCDIK.h:15
Definition AnimNode_SkeletalControlBase.h:22
Definition BoneContainer.h:192
Definition BoneReference.h:14
Definition BoneSocketReference.h:94
Definition BonePose.h:16
Definition BonePose.h:408
Definition BoneIndices.h:63
Definition BonePose.h:347
Definition AnimNodeBase.h:600
Definition AnimNodeBase.h:642