Syncing up animations to new bone names

Im having trouble figuring out how to sync up my animations to bone names that I have changed.

I created my armature, named all the bones and created like 10 animations for it. Much later I wanted to change the bone names, but when I did they did not register when I went to animation mode. They still have the old bone names and they are not linked to the bones that have new names at all.

I have a feeling Im missing a button somewhere that does this pretty quickly. Any help would be greatly appreciated.

Thanks.

Armature bone names and Object vertex groups should be the same.

Sometimes when renaming bones, it doesnt register.
Theres a button in Properties: Object Data: Display: Names, to show names.

The bones I’m renaming aren’t really vertex groups, they’re part of the armature IK. I guess they might still have a vertex group that is empty, but its definitely not registering in animation mode. Also where is properties?


prop.png

Okay, so I am not having trouble renaming the bones. That part is going well. The part that is giving me trouble, is when I rename the bones the new name is not registered on the animation dope sheet.


abdomen.002 is the bone I have tried to rename, but in the action editor it is till looking for the old name, so it isn’t moving the bone anymore.

Attachments


AFAIK, you can’t change the names of the channels of actions already created. This is one area where changing the names of bones is not carried out, the names of channels in the action editor. I just changed the names of bones on a rig that had spanish names to english, and found out that drivers that use bones as their source don’t get changed when the bone’s name changes, just like the action editor. Change the name of a bone, and any constraint that uses that bone, the name is changed there, but not in the dopesheet/graph editors.

Two thoughts on how you might accomplish this, neither one easy:
1st way would be to take the file with the rig & actions before the bones are re-named, duplicate the rig without moving it and move it to a different object layer. On the new rig, change the bone’s names as needed, as your doing this, add a copy transforms constraint to the bone targeting the original armature & corresponding bone. Now on every keyframe for the 1st rig, you’ll have to insert VisualLocRotScale, (or VisualRot, VisualLoc, or what ever needed), keyframes for the new armature. Quite a tedious process and if the rig has fk/ik switches, or any other custom property, you have to manually insert those keyframes. Making the job harder if the rig has them.

2nd thought would be to write a python script to change the names of the channels in the action editor, but I’m thinking that cannot be done. I don’t think the names of the channels can be changed via python, but I’ve never looked into it. So I don’t know.

Couple other ideas… I don’t know if there would be a way to ‘bake’ the actions of the constrained 2nd rig. No idea about this, but I thought I read something about doing it, so I don’t know if blender can do it. Worth googling it. MoCap tools add on might do this, because what you are essentially doing is having one rig copy another. Blender’s MoCap workflow is to import a rig with actions, set your rig to copy imported rig’s actions, then insert keyframes for the blender rig. If the action can’t be baked, a python script could do it.

Randy

1 Like