I’m trying to add some simple procedural animation to my game (i.e. candle flames flickering slightly in different directions)
I’ve inherited a C++ class from UPoseableMeshComponent (which itself inherits from USkinnedMeshComponent)
In my TickComponent() method, I move the bones like so:
// Calculate the local bone translation at the current time
FVector currentLocation = doFancyPantsBoneMovementCalculation();
// Update the transform of the bone
this->BoneSpaceTransforms[knownAndCorrectBoneIndex].SetTranslation(currentLocation);
// This is called by UPoseableMeshComponent::SetBoneTransformByName() whenever it
// updates the BoneSpaceTransforms, so we do it, too
MarkRenderDynamicDataDirty();
But nothing moves in the scene. I’ve added UE_LOG statements to verify it’s ticking and updating the bones and I’ve also tried going through UPoseableMeshComponent::SetBoneLocationByName().
What could I be doing wrong?