(this might be a good time to snag that spare Maya seat at work)
Reusing rigging information for other characters?
Totally, Jason. You know the saying, “Teach a man to fish…”
I can’t wait.
If you didn’t look so young, I’d ask you to adopt me.
I swear…the threads on this forum just keep getting better and better. I wish i would’ve known about it before, then i wouldn’t have had to spend $120,000 on college . ok, just kidding, college is great. Anyway, Jason, i was just wondering if you were going to keep your tips/tut for the collaboration as software-independent as may be possible? for those of us who don’t know maya (yet
).
Thanks
Hurm… I’ll do what I can to keep them as open as possible… but as I don’t know any other software as well as I know Maya, it will definitely be a “maya focused” discussion.
Probably most of the discussion will be on animation rigging technique, as I’m working on some more high-end skinning issues with another person… and we’re thinking about putting together a DVD on that sort of thing. As I haven’t figured out exactly what that DVD will entail, I will only be able to give a few bits of info about that… but hopefully the discussion will be useful. and hopefully I’ll have time to do it soon!
-jason
Steven, I read this in Maya: Secrets of the Pros, and I wanted to run this by you, since you gave me some great advice on Sub’D a while back:
Do you have a workaround for the problem he mentioned?
My workflow (using wrap-deformers) permits me to very easily un-bind my Subd’s, and do any scaling I need to do, then bind it again.
So my answer would be, I don’t have a workaround because to me it’s not a problem. How often do you need to scale your characters anyway?
yeah Lunatique,
it has always been my experience to to avoid scaling chars… escpecially when they are rigged… always easier to scale the scene… and beter still establish a scale for your project before you begin modeling,… i know that that doesn’t always happen, but maybe if we all lived in an ideal world…
Speaking of scaling backgrounds, my years in the game industry has got me thinking 1 unit should equal 10 ft in real life(as in, if I were to have a huge floor, they’d be broken up into little 10x10 ft piece grid). Does that sound about right, or is that an idiosycracy associated with game development?
Originally posted by Stahlberg
So my answer would be, I don’t have a workaround because to me it’s not a problem.How often do you need to scale your characters anyway?
When the goddamn director can’t make up his mind about the size of the characters until after animation has started of course
Here at DNA Productions we have to build all our character rigs so that they are scaleable. Of course you build your characters and sets to a certain size to start with, but then you have them able to grow or shrink from there. Also our loaders are set up so that things like the upper arm, lower arm, and hands can each scale differently so that you can cheat perspective and the like (or so melon-headed stubby-armed characters can reach the top of their head!!!). It takes a little extra care (and connections) in the rigging but it can certainly be done. Plus, when you have a show where a shrink ray is a prominent gadget… (^_^)
I’d suggest avoiding scaling the sets if you can help it, because that trick won’t work when you have multiple characters in a shot and only one of them needs to change scale. Best to create scaleable rigs in the first place.
And of course all this extra scaling is built into the scripts we use to automate our rigging… just to keep the thread on track (^_^)
Later,
Michael Duffy
Software and Character TD
DNA Productions (Jimmy Neutron: Boy Genius & The Adventures of Jimmy Neutron)
mduffy@ionet.net
CaptainSam - I hear your pain.
MDuffy - you reminded me, in my latest cartoony character, a rooster, I have changed the scale of his arms and hand bones after all the rigging was done and the SubD was wrap deformed - this must mean that it works right? Even though I simply lucked out, and never knew the danger…
Lunatique - to me scale has never mattered much, since I did all my environments myself, and rarely worked with others. It only mattered in PowerAnimator I recall, when you were way too big or way too small, I should think it’s still the same in Maya but I have no time nowadays to test the limits…
Hahaha Steven, I just noticed you signature!! I guess the Chinese version would be, “…and she just ordered the Full Manchu-Han Banquet” Bwahahahahah!!
LOL Yeah that’s from “Mystery Men”, the Shoveler (William Macy) says it, in his most serious voice, when they’re off to kick Casanova Frankenstein’s butt. I love that movie, it has tons of great quotes…
(edit: changed my sig since then)
This is my first post to the forum ! and I am a bit late but
I just need to say "a very big thank you " to Jason and
all the others, for sharing your knowledge and idea !
Fred
k im pretty impressed by al this… want to know… how this… scipts all going im a max user… dont know this all yet… maxing for couple of months busy with this character…
http://www.threedy.com/showthread.php?threadid=1127&perpage=15&pagenumber=3
are there some tuts… or good stuff…about the rigging scripts you all use… or plugins… and script lessons for max or however it goes… caus i want to learn it to
Hey Jason,
Im curious about something.
When rigging a character I would be more interested more in your “philosphy” behind rigging…In other words WHAT are the things that a good rig should be able to do? Things like feet should stay locked, knees, hips, torso, arms , head. hands etc. Im more interested in that as opposed to rigging technically because there are many ways to make feet stick and so forth. When and where do you feel IK and FK are appropriate to use? What functions to you prefer to automate and which do you prefer direct control over? Do you rig based off a standard rig which you then customize or do you prefer to rig from scratch each time?
Thanks!
Originally posted by ivo D
[B]k im pretty impressed by al this… want to know… how this… scipts all going im a max user… dont know this all yet… maxing for couple of months busy with this character…http://www.threedy.com/showthread.php?threadid=1127&perpage=15&pagenumber=3
are there some tuts… or good stuff…about the rigging scripts you all use… or plugins… and script lessons for max or however it goes… caus i want to learn it to
[/B]
You should try www.maxtd.com for a start about rigging. There’s a pretty detailed tutorial for R4 written by Sergio Munico for custom IK setups (there’s life beyond Biped
Also my pal (the one who wrote Meshtools) tells me that it’s possible to build skeletons and rigs from Maxscript as well, but you’ll have a bit harder time with the documentation…
Just wanted to thank Jason for his invaluable help here… I’m busy writing my own little rigging Mel scripts and all the advice here has been helping me a lot. Thanks again
Now let’s get back to orienting joints… it’s not fun, seems like I’ll have to write different procedures for different parts of the body if I want it to be automated. Or is there some sort of a generic solution?
I automate orientation of joints by using “up vector” objects during setup. For example, let’s say you have your joints for Shoulder, Elbow, Wrist, and Hand (joint in middle of hand). In order to orient the joints you need two vectors: one down the chain and another that defines “up”. The third vector is taken as the cross product between the two other vectors (inside the software and behind the scenes).
In Maya when you do a “joint -oj xyz” command you are telling it to point the x-axis down the bone (your first vector down the chain), and the z axis perpendicular to the chain (your vector solved behind the scenes). So where does it get the “up vector”? It uses the parent of the joint you are orienting to define “up”.
You can control this up vector then by taking an object that represents your up vector, parenting the joint-to-orient to it, making sure the correct child is parented to the joint-to-orient, running your “joint -oj” command, then parenting the joint-to-orient to its correct parent.
I wrote a script that creates oriented joints for me. You pass it an up-vector object, an object which gives the position for the bone, an object which gives the position for its child, and a name for the new joint and the routine will create that joint. The up-vector and two positioning objects are just empty groups with their handles turned on that I use to position my skeleton before running the setup script that actually creates the joints and controls. Then in the routine I create a joint each for up, joint-to-orient, and child. I position each joint at the positions of the positioning objects passed to the routine. Then I orient the joint-to-be-oriented, delete the temp child and parent joints I had created, and I’m done! Since this routine will create and orient the joints in one step, all I have to do is parent them into position with my setup script once they are created.
I hope the above makes sense. I wish I could release the script I wrote that does the above, but it is owned by my employer. Sometime in the near future I hope to write a similar routine for my own home use, and I could release that one.
Later,
Michael Duffy
Character & Software TD, DNA Productions
mduffy@ionet.net