Bag Rig Complete
One of the multiple props my character has in the story is an over the shoulder bag. The challenge with this bag rig is to have a strap that can twist and bend in any which way without affecting another part of itself, and to have the strap and body of the bag work independently of each other.
The main problem I was running into while setting up the rig, was how to come up with a strap that can move independent of the bag part, while still having complete control over all parts of the strap. At first, I experimented with an IK spline, but was finding that when I moved one control, the rest of the strap would move and twist to accommodate, which was giving me undesired results. I realized that the problem lie in how I was arranging the bones. I was thinking of the strap as a hierarchy of parented bones:
When, in reality, no part of the strap is any more likely to be the parent or child than any other. So I decided to assign bones to every edge loop, but place all the bones under the same parent. In this way, I was able to ensure that no movement on one part would be undesirably sent through the hierarchy:
After that, I created a series of blue precision strap controls running around the entire strap and Parent Constrained each bone to the two closest controls, and adjusted the weighting as needed for a nice blend:
You can see that the values dont always need to add up to 1. Sometimes I went over and sometimes under; whatever gets the nicest curve on the strap when you pull out one of the blue controls.
I had 13 precision (blue) controls running around the strap, which gave me a good amount of control, but a fair amount of monotony in having to select all of those controls to make a general change to the strap position. To fix this, I created another layer of controls (red) over top of the precision controls. The process outlined above was repeated with the blue precision controls being Parent Constrained between 3 major controls in red
(3 on left side/3 on right side):
So now, any part of the strap is able to move and twist in any way without affecting another part in an undesirable manner. From here, we just need to ensure that the body of the bag moves independently of the straps. I did that by having one set of bones that controlled the body of the bag, and the previous set which controlled the strap. These two systems were built completely seperate of each other and dont interact at all, except that they are under the same root joint.
You’ll notice, when I move the body of the bag, the lower strap controls (2 red controls at bottom of strap) move with it, because they are parented to the body controller. In this way, I can ensure the top of the strap, which rests on the shoulder doesn’t move, but the bottom strap area will shift to accommodate.
With this setup I get a good range of movement while maintaining a nice shape on the curve of the strap.
So when it comes time to animate I can just parent constrain various bag controls to appropriate controls on the characters rig and things move pretty darn well together.
Also, just as a side note, I tend never to parent constrain a node directly when rigging. I group an object to itself and parent that group to another node. This way, I keep the channels of the original object clean and free to be animated if needs be.
It may seem a bit confusing but its really just layering waves of parent constraints, which are blended to give nice smooth movement between controls. So, bones are constrained to a series of controls, which are then themselves constrained to a series of controls.









