Workflow for re-usable clothing accessories

I have a few characters with a standardized (custom) rig. I also have some accessories that I want to be able to attach and animate to the characters.

Some parts of the accessories should stick to the character (like a waistband or belt) and other parts should be free flowing at one end and able to be posed separately. I’m avoiding cloth simulation for this project because I need manual control, but think of a skirt or trailing fabric, or a radio mic attached to a belt by a cable.

I have it kinda working with having part of my test object parented to the body rig + weight transfer for a working waistband. The rest of the object is controlled by a separate armature because I am trying to learn to use Linking and library overrides and I don’t want to add clutter to the main rig.

So, questions:

  1. How do professional artists handle accessories that need their own rigs? Does everything get merged into one megarig? (Switching between actions constantly for animation just seems really, really annoying!)

  2. If you keep your rigs separate, what’s the preferred way to attach one rig to the other? e.g., I want to attach the free-flowing section of bones to the surface of the waistband. I was thinking I need vertex parenting or something to pin the top of the free-flowing mesh to the waistband.

To reiterate, I don’t want to use cloth sim for this.

Thanks for reading!

For separate rigs, you probably want to be using copy transform bone constraints targeting marker bones in the original rig. If attachment points aren’t solidly weighted, you may want the attachment bones to get their position via an armature constraint.

I’m no pro, but multiple rigs are painful, at least in Blender. I would recommend keeping everything on a single rig as much as possible. You can make a model that has all its accessories joined to a single rig, then use drivers (preferably from bones) to control visibility. You can even drive bone visibility if that’s what you want…

Thanks for the tips!

Yeah, for anything that moves with the body, I seem to see a lot of “uber” rigs where all the accessories and stuff are custom-fitted and rigged with the body. I was hoping to avoid that–maybe I’m hoping too much for something like a video game where clothes and other things just get swapped on and off on the fly across several models. I don’t know where the right inflection point is between “this thing works on all of my models but not very well” and “this thing is fully custom to each model”. I’m hoping for “I can take this base and tweak it a bit and have it hooked to a new character model in a few hours”.

You bring up another question I have with the attachment points. My model has a upper leg bone and a fixed thigh bone at the top; the thigh bone is fixed on Y while the upper leg bone is free to rotate. I use this to get some blended rotation between the top of the thigh and knee.

If I wanted to rig a holster strap midway between the two bones, is there any way I can explicitly position an attachment point bone and have it inherit about the right amount of rotation? The only thing that comes to mind is a copy rotation with some middle-ish influence level, depending on the bone location.

Other than that, I guess I could use curves + hooks to attach to vertex parents on the leg, or something…

In Blender? A bone? An armature constraint. Give it the same “weights” as a vertex you want it to follow. You can specify its rotation via armature constrained marker bones that it damped tracks, locked tracks.

Ahhhhhhh I didn’t know you could use an Armature constraint on bones. That opens up a lot of fun possibilities. My only complaint about it is that you can’t really “attach” it to a mesh that is already posed; it has to be done from rest pose (there’s no Set Inverse like Child Of). Other than that, super cool.

For those curious, what I eventually ended up doing was manually peppering the character rigs with attachment points for accessories for convenience, then using Child Of constraints. I have enough layers to work with for now to make this tenable. Hopefully blender adds named layers someday so I don’t have to use an addon to manage them.