Use Motor6D.Transform to copy animations over to simulated rig

Hello everyone! I’ve been trying to create a fake rig that copies animations from a real rig under the workspace, however, I’ve run into some issues with copying over the actual animation.
One thing to be noted is that I cannot just use Motor6D welds to update the fake rig, it all needs to be done via CFrames.

Here’s what I got currently for the Right Arm:

rightArm.CFrame = ((rootC * rShoulder.C0) * rShoulder.C1:Inverse()) * rShoulder.Transform

In the code above, rightArm is a BasePart, rootC is a CFrame value (mimicking the torso), and rShoulder is a Motor6D.

I’m not entirely sure what I’m doing wrong here, so please help me out.

Nevermind, I found the issue with my code. Turns out CFrame multiplication doesn’t respect order of operations.
The fix was just to move the part where Transform was being factored in.
The fixed code for anyone who has this issue in the future:

rightArm.CFrame = rootC * rShoulder.C0 * rShoulder.Transform * rShoulder.C1:Inverse()
1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.