25 GENERATED_USTRUCT_BODY()
27 UPROPERTY(EditAnywhere, Category=SkeletalControl)
28 FBoneReference BoneToModify;
30 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Translation, meta=(PinHiddenByDefault))
31 FVector TranslationScale = FVector::OneVector;
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Rotation, meta=(PinHiddenByDefault))
34 FVector RotationScale = FVector::OneVector;
36 UPROPERTY(EditAnywhere, Category=SkeletalControl, meta=(PinHiddenByDefault))
39 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=UpdateMode, meta=(PinShownByDefault))
40 bool bUseAutoUpdate = true;
42 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Translation, meta=(PinHiddenByDefault))
43 FVector Translation = FVector::ZeroVector;
45 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Rotation, meta=(PinHiddenByDefault))
46 FRotator Rotation = FRotator::ZeroRotator;
48 UPROPERTY(EditAnywhere, Category=Translation)
49 TEnumAsByte<enum EBoneControlSpace> TranslationSpace = BCS_BoneSpace;
51 UPROPERTY(EditAnywhere, Category=Rotation)
52 TEnumAsByte<enum EBoneControlSpace> RotationSpace = BCS_BoneSpace;
54 virtual
void EvaluateSkeletalControl_AnyThread(FComponentSpacePoseContext& Output,
55 TArray<FBoneTransform>& OutBoneTransforms) override;
56 virtual
bool IsValidToEvaluate(const USkeleton* Skeleton, const FBoneContainer& RequiredBones) override;
58 virtual
bool HasPreUpdate()
const override {
return bUseAutoUpdate; }
60 virtual void PreUpdate(
const UAnimInstance* InAnimInstance)
override;
63 virtual void InitializeBoneReferences(
const FBoneContainer& RequiredBones)
override;
65 FTransform ComputeRecoilTransform();
67 bool bIsInitialized =
false;