Maya Auto Rig Script: Progress Log


#1

hello everybody, i haven’t posted here in a long while. pretty busy with school work and what not. anyways, currently working on an auto rig on the side aside from school work. i thought i’d share my progress here. any questions and inputs are much welcome. i dunno all that much about scripting, but hey, we are all learning right?

k. part one, auto joint script is pretty much all done.
there wasn’t a much challenge… just tidious work, specially the hand. joint orienting wasn’t much of an issue, just constraining the joints to the locators then freezing the joints later on when they are properly parented.
oh setting up the naming convention for the pipeline is always fun… right. i’ve decided to keep the names short as possible. i don’t really think long names will count into that much of a cpu calculation, but i’ll do it anyways.
here’s what’s completed so far…

step 1, import the locators

step 2, import the geo of the model (*modeled by YOYO, http://www.studioqube.com/yoyo)

step 3, place the locators to their proper places

step 4, run the magical script

step 5, delete the locators and done!

so that’s it for now. i gotta re-edit my autorig scripts for the leg and the hands that i’ve worked on few months ago… then write the rest. thinking about putting in a fk leg setup. this skeleton setup isn’t meant to generate spurs. i’d like to make a basic biped setup that could be used as a good base for further rigging.


#2

It’s a good idea to delete the locators in the script upon creating the joints. Also, a nifty little trick I like to use that a buddy told me about is to create, for every two locators, a nurbs curve with only two CVs, a start and an end. Cluster each CV independently, and then place these in the same locations as your locators and parent the clusters under the locators. This gives you lines going between locators that follow them, so you can see what locator links to the next one, little visual help there.


#3

Hey I’m currently also trying to make my own auto rig for a biped and am also using locators and the like I just had a few quick questions cause ive run into a few problems.

I see that you can create all the bones fine when the character is in a T-pose. Does your script work if the model had been created with the arms in a more relaxed position e.g with the elbows down and the hands pointing forwards. I’ve found that this is causing me problems when creating the bones in the positions of the locators as the orientations get completly messed up. Ive used the joint orient tool and that seems to work sometimes but not always. Have also figured out a bit of a work around but i was just wondering if you came across the same problem and how you solved it. Sorry to hijack you thread a bit with my question.

Hope its going well though.


#4

Hey Ray, I wrote a script awhile back that does what your after. Your more than welcome to take what you want from it. I pretty much ripped the idea from FinalRig script but have a few other handy procs for skeleton creation.

snSkelCreation.mel

Sean


#5

Hey, Sean. Nice script idea and great website, btw.

I was trying to run your “snSkelCreation.mel” but I keep getting this error:

Error: File not found: PENCIL32.xpm

Looks like the icon UI files are not included in the script.:shrug:


#6

I forgot to update that script. I had it at work but forgot to update my site. Download it again. I took out the icon stuff. The orientation part of it only works on Maya 7 only. But if you use the stand-alone oriJointTool on my site, it works for both Maya 6 and 7.

Glad you like the site. I got a few more handy scripts I need to add. I have a new bone slaving script that is better than the one I have on my site. Much faster to use. Just haven’t had the time lately to devote to updating my stuff. Thanks for peek BTW.

Sean


#7

Thanks, Sean. This script helps me out a lot, especially when I got to build lots of bipeds in a hurry. I was using Bonus Tools “skeleton works” before, but yours is much better. Control Maker is simple, but pretty brilliant I must say.

Yeah, I dig your site a lot. Your Syflex scripts are pretty awesome too. Syflex Cloth is simply the best and easiest off the shelf cloth solution around(and pretty cheap) and your scripts make a great compliment to that app.

-Rodney


#8

Heya Sean!

I’m doing something quite similar inside of max but my creation is dealt with slightly differently - it’s based on the user dragging out a bounding box around their character mesh and the points are created using proportions based on the width, height and depth of the box - there’s a video up on http://www.joconnell.com/view_stuff.php?view=6 . Myself and another guy are working on different ways of setting up rigs - it’d be interesting to see your approach and get your thoughts.

Nice work so far!


#9

g’wan john,

who’s this other guy?

mark


#10

Cool guys. I have taken a complely different approch to character rigs. Every one is making bipeds with a complete solution for a full rig. I think that I craete so many different kinds of characters that I have not gone with a full setup but instead just an arm, leg, spine that I then manualy connect together. This way I can add the parts that I want to make up any character. If I want a horses leg on a human body I just build the two and conect them up. That way I don’t have to worry about taking into consideration that someone might want a character with 4 arms and 4 legs.

I also used to do the point helper method but have opted for just creating the bones right off the start as I like to know exactly which way they are oriented along the X axis. Another little one that I have started to add is the symmetrical or non symmetrical rigging. In symmetrical mode the left side does the oposite of the right and vise versa and in non is it jsut turns this off. Not sure that it fully needed but hey it was fun setting up.

Good work guys, John who is this other guy;)


#11

I dropped aearon a mail since he was kicking off a similar process so he’s the other man in my life at the moment - Mark and Paul are pretty far beyond us at this stage :smiley:

The main thing for me is presenting everything to the other staff here in a really friendly way - not necessarily the best option for a td that knows what they’re doing but quick for a non rigger.


#12

That is one of the reasons that I have never released what I use. It would confuse people as there are many steps to still do manulay. I just never want a system that isn’t completely flexable. If you are doing things like games you can make if very canned as you usualy want all the rigs to be exactly the same anyway.


#13

Rodney,
Glad your diggin my stuff. I try to make my scripts fit most peoples workflow and not adhere to just mine. Flexiblity is the key. With the skleton maker, you could just go straight to the joints and position those around. The orienting part of the script redraws the joint completely. Just have to make sure that you orient a single chain, no leaf childeren joints.
Yeah, controlMaker is a tool that I literally use everyday. It really makes setting up FK systems a breeze. I am planning to make it a bit more customizable so that you can create custom controls and use the same snapping functions.

John,
Your script looks really good. Been so long since I wrote a max script I’d be lost now. I tried to incoporate a way to dynamically edit joints so that a user could add or remove joints but the problem stemed that the joints had to be straight. It would involve some really crazy vector math to figure out the joint placement and I really don’t want to go there. Really nice though. Saw your hand rig. I laughed because I did a my first max scripts years ago and it was a hand rig but I ended up using attributes. Which I think I used one of Pauls scripts to help with that.

Paul N,
Your workflow sounds very similar to Raf’s setup machine for Maya. He imports body parts and there is a cleanup part that connects it all together. I’ve been wanting to recreate that workflow so that I could import a wing and a tail and so forth. Time is just not on my side right now. Maybe one of these days. I remember hating to rig in max so I really admire you guys that can rig in max…and do it well. Blows me away.:thumbsup:

Cheers,
Sean


#14

“The Setup Machine” is pretty cool, especially the newest MAYA 7 version. One thing I miss, though, is the “quad leg” from version 6.5. That was a pretty sweet setup. I’ve been studying the heirharchy in the hypergraph to see how they did it, but I’m still straching my head over it. Would love it if someone wrote a nice “quad leg” tutorial.

SeanN: An update to control maker in which you could snap your own nurbs controllers and use those would be sweet. :thumbsup: Can’t wait for that one.

I’ve noticed lots of people attempting proceedural riggs. There are plenty of them(Final Rigg, Puppet Master, Creature Tools, Advanced Skeleton, etc.) but Raf’s whole “body part” idea I think is the way to go with rigging. I agree with PEN, you make so much customization in your biped’s that you never end up using a lot of proceedural riggs. What’s cool is that most of them now are pretty modular, so you can expand on them a great deal.
zooCST is one that does this “body part” method.

My dream proceedural rigg would be one that recognizes an arm with a 5-joint chain from the shoulder, so it could incorporate “bicep twists” as well as “forearm twists”. This will keep my deltoids from pinching, especially on low-poly characters.
I was inspired by the www.cane-toad.com fellows method of using multiply/divide nodes and came up with my version of it for my last model:
http://rodbrett.com/CrabGuy/biceptwist.swf

This, along with IK/FK blend and the ability to pose FK arms with IK would be the icing on the cake. For the legs, I would go with something along rigging101’s “solid IKknee” setup because I prefer less controllers when animating, but then add additional FK legs function.

JoConnel: That’s a pretty cool video. Max needs some tools like that. I could never get my head around rigging in Max.

Inspiring stuff, fellows :slight_smile:

-Rod


#15

hi,
my rigging tool is modular - you can rigg separate limbs and then attach them together or to an existing rig if you llike, should be very flexible.

in case you missed mine its here -->
http://www.ver2.biz/marktsang/portfolio/rigging/mtrig.html
http://www.ver2.biz/marktsang/portfolio/rigging/mtrig2.html

they are some older screen caps - it has come on a bit from there

cheers,
mark


#16

Hey Mark,
You got some nice features. I like that adding joint to the end of an existing joint. Haven’t seen anybody do that in Maya. Just inserting between two joints which is easy but adding another joint at the end takes a bit more tweaking but totally doable. This is exactly what I need to see. I don’t see what other people are doing in other apps that are not in Maya and replicating it.

I’ve been working on a autoRigger for work and have implemented a modular system like yours where you can have mulitple limbs and such. Just have to tag a prefix to each part. Definitely the way to go.

Cool stuff.
Sean


#17

For what it is worth rigging in Max isn’t realy any different then rigging in Maya once you understand the difference in how nodes work in both packages. I like parts of bth but would never state that one is truely better then the other. There are certain things in Max that are far better then what is in Maya and there are things in Maya that are far better then max. If you learn both to a high level you start to see this.

As for rigging systems for Max there are also a pile up them showing up. It is like it is all the rage now or something. I guess that they are all just starting to become public because people have been doing it ever since scripting was added to 3D packages. What is really cool about it is some of the scripted versions of auto riggers are better then commercial ones. Kees Puppetshop is a good example of this.


#18

I’ve a few reasons for releasing my auto rig - the main one is that I work for a tiny company int he global sense of things and there’s only 3 other 3d ops working with me. No other post house in dublin uses max so our user group is tiny. If I make an auto rig and keep it in our company, the only feedback I’ll get is from 3 other people who aren’t full time aniamtors, they’re generalists so the feedback I get isn’t going to be great. If there are hundreds of people playing with the rig, they’ll find faults far quicker and give me a tonne of feedback about what they like and don’t like and we can exchange far more ideas on how the rig should work and how the controls should be presented. Basically it get’s far better because of the bigger user group. Secondly I know I’m not staying in dublin forever and it’s nice to get a little bit of exposure for something like this - it’s not going to be better than puppetshop or whatever extremely clever setup Paul, Mark et al work on but I’d consider myself a high level max op, not a character td.

It’s great to have so many ideas public though - there’s a tonne of stuff floating around that I never would have thought of so it’s great to see how other people do things…


#19

Awesome, Mark! I’ll have to give this one a shot. Is this one still WIP?


#20

hey podman,
mine is still wip yes, not available to the public and not sure it ever will be - have to see how things pan out for me

cheers,
mark