Can I set final animation pose by code?

Hey!

We’re making a freeze tag game mode, the basic rule is :

  1. Player can shoot and freeze the opponent.
  2. Player can unfreeze teammate by go close to the frozen pal.
  3. As long as one team all frozen, match is over.

When implement the frozen effect, we do by add two SkeletaMeshComponents to the player actor, one for normal material, one for ice material.

Here is my question, at the moment the player frozen, will enable the frozen SkeletaMeshComponent, but the normal SkeletaMeshComponent has specific pose, I need copy the pose to the frozen SkeletaMeshComponent to make two SkeletaMeshComponents overlap make it looks like a player in the ice, I did it by code.

// normal SkeletaMeshComponents pose
FA2Pose SourcePose;
SourcePose.Bones = Mesh->LocalAtoms; 

// frozen SkeletaMeshComponent pose
FA2Pose Destination;
Destination.Bones = FrozenMesh->LocalAtoms;	

// copy
UAnimInstance::CopyPose(SourcePose, Destination);

the bone transforms updated, but the pose not, I saw the AnimGraph need apply it by link to Final Animation Pose node, can I do it by code? or is there better solution for overlap materials(normal material under the frozen material), thanks.

Could the Master/Slave Pose component system be what you’re looking for? (similar function is called ParentAnim in UDK)

If both meshes has the same skeleton you can make the frozen part follow the character. So whatever animation you play on the character, the ice will follow identically.