How do I swap a character?

What would be the easiest way to select one of these rigs and swap it for another character completely different in such a scene? I want to be able to take various sizes from thin to fat lanky skinny tall short female male scrawny muscular different than the one to be swapped.

My dream workflow: Select the character’s ‘rig’ layer in the outliner right click select swap select a new character in the library, done. And all that changes is the rig and mesh layers, everything else stays the same.

As an aside, being able to swap with the library would be amazing on its own.

It depends on how everything is laid out, but for a simple armature + mesh, you’d change the linked data for the rig, then you’d change the linked data for the mesh object parented to it. You can specify the data block used by an object at the very top of properties/armature or properties/object data.

The trick is usually, what do you want to keep, and what do you want to change. That changes the armatures and the mesh, but keeps object data like transformation, parenting. It does not change the animation. To do that, you’d have to tell them to use the same action data as well.

Your dream workflow might be realizable, depending on what you want, but it would require some setup. Well, not the outliner part though. You can set up geometry nodes to instance your choice of objects, which can be mesh deformed objects, each in their own location; perhaps in the locations of other markers. After that, swapping which one is being displayed for which instance can be done with a single change in the geometry nodes, or perhaps even in just the modifier settings for that modifier.

1 Like

So is it like taking a scene with 1 character(A) and disconnecting(unlinking) the rig(rigify) and mesh(body+clothes+eyes+etc.) and plugging it (linking) into another scene with 1 character(B) which is also rigify but has different mesh without losing location or losing props attached, or changing the pose and animation and parenting.

Result I wish for is: Character A is jumping with a bat on the roof of a vehicle, I change some linkage to do with the rig and mesh now character B is jumping with a bat on the roof of a vehicle.

I’ll have to try it and see if I can and if it works. It sounds simple but with Blender you never know.

Does anyone know of a tutorial to do this with rigify characters?
When I do find swapping characters tutorials it never about Blender.

It’s like that, yes.

To do that, all you’d do is put the action from rig A onto rig B, and hide character A. You can select your active action in the dope sheet/action editor.

It doesn’t have anything specific to do with Rigify.

Note for the original video, all characters have the same mesh and the same rig, they’re just duplicates. (And they are very likely to be single objects, or they would be if the animator was using Blender.) The only difference is the action being played on each of the armatures.

1 Like

I just refer to Rigify as its complexity may cause problems, perhaps?

I just found this:

1 Like

Mesh data swap wont be affected by Rigify in any way, since Rigify rig still uses same Armature modifier and vertex groups to deform the mesh. As for transfering animations, the keyframes will affect the bones based on their names, so as long as both rigs have the same naming convention, it will work. Animation will play differently based on a skeleton’s Rest pose though (for example, if one character is hunched, or proportions are vastly different between rigs). Since Armature Pose mode animations in Blender are based on relative offsets from the skeleton bone transforms, not absolute coordinates.