Rolling Chain
My friend Carolina is thinking about making an animation with a cartoony female character, it has a long pony tail that needed a kind of automatic rolling control but also it will need sometimes a very detailed manual control, i gave it a try and it ended being easier than i thought. First i was thinking about using expressions, scripts and a lot of math but finally i decided to use a simple but powerful tool, the Bend modifier.
This is what i got:
This is what i got:
The Bend Modifier was applied over a spline, Parameters like Bend Orient, Twist Offset and BendOffset are wired to the Bend Gizmo's X,Y and Z rotation respectively, i used an ZYX rotation order in the Gizmos rotation controller. The Twist location is wired to the Gizmo's x-position and the Bend Amount is wired to the Angle parameter of the Bend Modifier. The chain of bones were attached to the spline using Spline IK techniques.
But that was not enught to make a good setup, usually when a technical artist is making any kind of rigging he has to think a way of making thinks automatic in order to give some help to the process of animation, but animators love to have control of everything, so you cannot make things auto without creating a switch to manual. In this case there is not switch but the animator can make small adjustments moving the bones directly if he/she wants to.
Another chain was created and constrained to the ikChain using orientation constraints, these controllers were set to local mode in order to be able to use euler controllers below to have their value affecting the rotation of the bones ( this first euler controller was set active). Finally to make the animator's life even easier, other control objects were created and its rotation controllers were instanced to some of the bones of the chain (in the video this objects are the red circles) so the animator wont have to move each bone individually to make adjustments.
Most of the time the most simple method is the best, so it's a good practice to have in mind all the tools that the aplication has before making complex setups with too many scripts and expressions.
Another chain was created and constrained to the ikChain using orientation constraints, these controllers were set to local mode in order to be able to use euler controllers below to have their value affecting the rotation of the bones ( this first euler controller was set active). Finally to make the animator's life even easier, other control objects were created and its rotation controllers were instanced to some of the bones of the chain (in the video this objects are the red circles) so the animator wont have to move each bone individually to make adjustments.
Most of the time the most simple method is the best, so it's a good practice to have in mind all the tools that the aplication has before making complex setups with too many scripts and expressions.