How should I use FReferenceSkeleton.UpdateRefPoseTransform

Hi everyone,

I’m trying to apply a translation to the bones of my skeleton by updating the reference pose.
I have a TMap between bone name and a vector to add to the bone location.

I’ve tried to iterate over my map, get the corresponding bone index in mySkeletalMeshComponent->SkeletalMesh->Skeleton->GetReferenceSkeleton() and run ReferenceSkeleton.UpdateRefPoseTransform with the right index and a transform I’ve calculated.
I’ve put all this in a function visible from blueprints, and tried to call it from the blueprint owning my skeletal mesh on event begin play => it does nothing.
I’ve tried then to call it from the anim blue print on event initialize Animation => it does nothing.

What am I missing here? I suppose I’m not using it right or maybe I shouldn’t even use it for my purpose but it seemed wonderfully convenient at the time :slight_smile:

My finale goal is to apply these translations to a number of bones of my skeleton when I start playing (and at all times).

Thanks for help or tips on that matter.

Did you ever work this out? I am also trying to do this.

Hello,

I’m not sure I will be of much help here since I finally gave up this. But I can tell you how I ended up to achieve something similar : I created my own AnimInstance class and overrode the EvaluationAnimation function : here after calling the parent class EvaluationAnimation function, I created a FAnimNode_ModifyBone (same thing as a Transform (Modify) Bone node in the anim blueprint HMI) for all the bones I wanted to translate and applied them.

Hope it helps.