Thursday, August 11, 2005

Rig Script Progress

I've made a ton of progress on my character rigging script. It's been really fun learning to use MaxScript. I'm getting better at it - although some things are still quite challenging. I think that the hardest thing so far has been learning the syntax for wiring parameters. For some reason, parameter wiring uses a different syntax than when you're doing others things with parameters. It doesn't make much sense to me - but I'm just new at it. I'm really greatful to the people on CgTalk and the Discreet support forums that have helped me with the wiring syntax.

My script makes arms, hands, legs, hips, and spine and links them all together for a complete character. It allows you to have anywhere from 1 to 6 spine joints. Hands are optional. If you add hands, you can have between 1 and 4 fingers and an optional thumb. Each finger can have between 1 and 3 joints. I've built a lot of flexibility into it so that it can be used for characters that need to be really light weight (not very many bones) and also for characters that have a full set. You can even choose to add extra bones in the arms and legs to aid in skin deformation if you need them.

The best part is that everything is wired, rigged, constrained, etc, and ready to animate. I even added a bit of code at the end that creates selection sets for the different types of objects (bones, controllers, etc) and hides the objects that you don't need to work with.

All I have left to do is the neck and head (which shouldn't be too hard) and a bit of clean-up and polish. Maybe I'll make a nice GUI panel for the whole thing too so you can choose the options that you want. Once I've got the whole thing done, I'm planning to do some more research into other types of rigs and posibly create some more options for the script. For example, I could let the user choose between several different types of spine setups, etc.

I'm really excited about how much rigging time this is going to save me at work. All of my character rigs will be able to use the great features I've built into this script and all it will take is one button press!


Anonymous Anonymous said...

hi ben,
i am also writing my own character rig script - so far i have the arms done - they feature
optional *ik *fk *fk pinning system,
*any number of twist bones for shoulder and wrist + autotwist and/ mannual twist
*fk arms that rotate with the torso or rotate independantly with switches and blends to go between both
*fk - ik matching system that matches on to the other over a series of frames

*hand setup with any number of fingers which are controlled using sliders on the wrist controller.

*stretchy bones (currently rewritting this to add viewport controls as its slider based atm)

some more stuff i cant think of off hand...

if you wanna chat about this or techniques then you can grab me on msn
or email me through
mark tsang

August 30, 2005 8:57 AM  
Blogger Ben Cloward said...

Sounds like we're working on very similar projects, Mark! I added you to my MSN list. I'll send you an IM the next time I see you online.

August 31, 2005 8:56 PM  
Anonymous Anonymous said...

hey, i loved the wood textures, thanks for taking the effort, it really helped me

December 17, 2005 12:14 AM  
Anonymous Anonymous said...

Hey Ben,
Seems like character rigging scripts are the word of the day! Word! I too am doing the same. Mine's almost done. It includes squash and stretch spine, legs and arms, extra deformation bones like 2-bone forearms, thighs and humerus, automated controls for hands and feet, IK/FK arms with the option for time delay. I've built rigs with auto clavs before, but have quit using them so much as they all too often ended up being one of those automations I fought with at animation time. I am now using a fully floating shoulder that is linked to a floating clavicle so I can offset positions and rotations to fix poses as I go. Personal preference I guess. It's a lot of fun,and like you said, every new rigging idea that's cool, is now also easy now that it's in the script! For testing, it brings up a character that has point helpers at the joints like you (just one side) and automatically flips them around to build the symmetrical side, makes all the selection sets and layers, pops the skin on the mesh and loads the envelopes so the character is ready to test the new rig features on. Good luck!

March 01, 2006 3:52 AM  

Post a Comment

<< Home