Hi, I’d like to know how can I pose a Skeletal Mesh based on other Skeletal Mesh animation frame.
Let me try to explain it better…
I have a first Skeletal Mesh, let’s name it A, without any animation (in the original T pose) in the scene. I also have a second Skeletal Mesh, let’s name it B, playing any animation… the question is, how can I copy the pose of B in the moment and “paste” it into A?
Note that B will continue playing its animation and A will stay statically with its new pose.
Use a PoseableMeshComponent for A, and a regular SkeletalMeshComponent playing some animation for B. When you press a button or otherwise trigger the copy, you would either directly copy SpaceBases from B or call GetBoneTransform for each bone, passing that into A via SetBoneTransformByName.
The problem is that I have to set ragdoll physics simulation on A, and I think PoseableMeshComponent doesn’t work as ragdoll. Am I right?
Actually I’m trying to implement a dismemberment system, where A is a hidden arm mesh, for example, and B is the full body mesh in normal animation. Both A and B use the same skeletal structure. And I would like to pose A as B in the moment of the dismemberment. Right after that, I hide the arm bones in B and enable ragdoll physics simulation in A.
The problem is the pose process!
Take a look at this screenshot and video… you’ll understand what I trying to do!
It seems easier if you just use MasterPoseComponent instead of PoseableMeshComponent. If you set A to be master of B, then B will follow A’s transform. Please check out SkeletalMeshComponent.SetMasterPoseComponent