I'm trying to create a model of a player's avatar holding a tool. I copied the character while running it, stopped the test, and pasted it back into the workspace. The model was pasted fine, but the Motor6Ds didn't seem to be copied over. The joints went to their default state (without any animation). I didn't know if the Transform property of Motor6D was being cleared when I copied the model, so I wrote a script to pack the information into C0 and C1.
local model = workspace.compUcomp -- no need for WaitForChild, if the script is running it exists local items = model:GetDescendants() for i = 1, #items do if items[i].ClassName == "Motor6D" then local dest = script.Parent:FindFirstChild(items[i].Name, true) dest.C1 = items[i].C1 * items[i].C0:Inverse() dest.C0 = items[i].Transform dest.Archivable = true -- this didn't help end end
I have this in a server Script parented to model. This model is a clone of the character, including said tool. I disable it which I disable until my character is fully loaded and equipped with the tool. When I enable it, the "hold tool" animation is recreated flawlessly on the clone. The problem is that I still have the same problem. If I were to copy the clone while the simulation was running and paste it back into studio, it still does not keep the animation.