joconnell
07-19-2005, 12:18 PM
Heya Folks,
I've been working on an automated hand rig for max as part of a larger Automated Rig I'm setting up in house so I wanted to get peoples feedback on how the system works and what improvements can be made to either its interface, functionality or coding - I'm relatively new to automated character setup and maxscript and unfortunately have no one else in the company to provide feedback on some of the aspects so any comments are very welcome!
http://www.joconnell.com/MXS/handmaker.gif
The script itself is available at http://www.joconnell.com/MXS/MakeFingers_19.ms and there is a short windows media 9 screencap of its operation at http://www.joconnell.com/MXS/handmov.wmv .
To give you a head start on how it works, you type in a name for the character which is used for the various parts of the setup, the number of fingers you want and the number of joints you want in each finger.
Next you press the make points button which will generate a set of helpers that are position relative to the joints in your characters hand. It takes the length of a hand bone object you select and bases the positions of the helper objects on this. The Helper points are limited to only rotate on certain axis so you can't accidentaly make the fingers go all warpy and twisty.
Lastly you press the make bones button which then threads a set of bones through the helper points, assigns the bones controller, makes a helper shape and parents them all onto the original hand bone object.
When the hand is set up, it has three levels of control. The Rectangle floating above the hand bone is a master overall movement controller - if you rotate it horizontally it will make the fingers and thumb splay out in one go, if you rotate it up and down it will make all of the fingers and thumb curl to make a fist in one go. The first joint of each finger starting at the knuckle is an overall up and down controller, the second joint allows you to curl the rest of the finger in one go. In theory this means if you wanted all of the fingers to make a fist but one to point you can rotate the master controller down into a fist, use the first joint of the finger you want to point to rotate it out of the fist and the second joint of the same finger to uncurl it.
What I'm trying to do is have a system that's fast to set up with as many controls that make sense and allow you to animate things as quickly as possible with a minimum of keyframes. Again I've never worked in a large animation studio so I don't know what setups are generally used so If there are any really streamlined animators that have thoughts on functionality or any maxscripters that can look at my functions / coding flow and give tips on improving it that'd be fantastic!
Also just wanted to thank Paul neale as a lot of the ideas are based on his rigging dvds and Marcus tsang for the pointers on the controller assigning.
I've been working on an automated hand rig for max as part of a larger Automated Rig I'm setting up in house so I wanted to get peoples feedback on how the system works and what improvements can be made to either its interface, functionality or coding - I'm relatively new to automated character setup and maxscript and unfortunately have no one else in the company to provide feedback on some of the aspects so any comments are very welcome!
http://www.joconnell.com/MXS/handmaker.gif
The script itself is available at http://www.joconnell.com/MXS/MakeFingers_19.ms and there is a short windows media 9 screencap of its operation at http://www.joconnell.com/MXS/handmov.wmv .
To give you a head start on how it works, you type in a name for the character which is used for the various parts of the setup, the number of fingers you want and the number of joints you want in each finger.
Next you press the make points button which will generate a set of helpers that are position relative to the joints in your characters hand. It takes the length of a hand bone object you select and bases the positions of the helper objects on this. The Helper points are limited to only rotate on certain axis so you can't accidentaly make the fingers go all warpy and twisty.
Lastly you press the make bones button which then threads a set of bones through the helper points, assigns the bones controller, makes a helper shape and parents them all onto the original hand bone object.
When the hand is set up, it has three levels of control. The Rectangle floating above the hand bone is a master overall movement controller - if you rotate it horizontally it will make the fingers and thumb splay out in one go, if you rotate it up and down it will make all of the fingers and thumb curl to make a fist in one go. The first joint of each finger starting at the knuckle is an overall up and down controller, the second joint allows you to curl the rest of the finger in one go. In theory this means if you wanted all of the fingers to make a fist but one to point you can rotate the master controller down into a fist, use the first joint of the finger you want to point to rotate it out of the fist and the second joint of the same finger to uncurl it.
What I'm trying to do is have a system that's fast to set up with as many controls that make sense and allow you to animate things as quickly as possible with a minimum of keyframes. Again I've never worked in a large animation studio so I don't know what setups are generally used so If there are any really streamlined animators that have thoughts on functionality or any maxscripters that can look at my functions / coding flow and give tips on improving it that'd be fantastic!
Also just wanted to thank Paul neale as a lot of the ideas are based on his rigging dvds and Marcus tsang for the pointers on the controller assigning.
