Friday, 28 May 2021

Words for Hopeful Riggers

'Sup, all?
I'm Sam. I'm a rigging lead at Pixel Zoo Animation Studios in Brisbane Australia.

I decided to make this blog to dump my Maya rigging thoughts onto. There are a number of blogs and websites out there that are absolute treasure troves of useful tips, and yet it feels like there's a severe shortage of knowledge on the topic available online. Or in general. I've come to be very opinionated about how rigging is taught in various 3d animation academies, so maybe I'll try here to give out all those tidbits that once you hear you think to yourself "Why the absolute hell did nobody tell me that until now?!"

Just a heads up, this blog will be dealing strictly with Autodesk Maya, though the more fundamental stuff is the same across all 3d packages.
For anyone who is thinking they like what they know of rigging in Maya so far and would like to make a career out of it. That's great! But there are some things you should know that people might not know/want to tell you about what such a career entails.

It might not be fun to hear. It wasn't fun for me to hear, but it was important.
Two things I was told early on that helped me immeasurably and one additional thing I think people need to be told early on.

So here we go. Let me feed you some golden, crispy harsh browns.

Harsh Brown #1:
Start scripting ASAP

Once you're in the door, you'll quickly hit various walls that can be scaled either with scripting or with absurdly unreasonable time investments.
One guess which route your employer will want you to take.

Hell, let's not just speak in terms of employment - if you simply value your own time you're going to need to know how to script.

Rigging is full of highly repetitive tasks, but there are so many of them that no software package can possibly provide a function for them all. You're going to need new functions. And in a professional setting - or like I said: if you value your own time - there'll be no excuse for not making that new function yourself instead of spending hours doing it painstakingly manually each and every time.

As part of my uni coursework they made us do a semester of Processing - (it's an offshoot of javascript designed for making visual art out of code) - and we all wondered (usually aloud) "Why the hell are they making us do this?"
But thank god they did.
Even if I didn't use it again for another few years, it planted the seeds for being able to figure out how to break down complex tasks into steps that can be automated. How to think about the visual numerically.

You wanna make cool shit in Maya? Well Maya runs on numbers. You gotta make those numbers dance for anything visual to happen. So get scripting.

Maya's native language is MEL (Maya Embedded Language) but also allows the use of Python.
You should start with MEL so you understand the anatomy of a Maya function, and then switch to Python where you can import and use all those same functions, but with a less hideous syntax.

Trust me, eeeeeverybody uses Python in their day-to-day scripting in Maya. It's just easier for a human to read. And plenty of stuff other than Maya uses it, so you'll have scripting skills that you can take elsewhere.
I know one guy who uses MEL for his day-to-day and he's a freak. And I know he's a freak, because he uses MEL. I rest my case.

One day - One glorious day in the future - you might even learn C++ for writing Maya plugins, that's hella valuable in the broader programming industry. But that's a long way away. Don't even think about it for now.
Start with MEL, switch to Python as soon as you're comfortable to.



Harsh Brown #2:
To be a rigger is to do math

It's not like you have to become a mathematician, but if you have a fear of math, it's something you'll need to get over. (Yeah that's right - I don't pluralise it. Maybe I think the Americans are right on this one, Mum!)

Let me tell you a story.
I went to a SHIT highschool. I started keeping score in my notebook of how often the teachers would just put on a movie for us and not teach the class. I've seen the first half-hour of Finding Nemo more than a hundred times!

And math is one of those subjects where in a regular school environment, if you get left behind, and fail to grasp some fundamental theorem that lots of other math is contingent on, you're screwed. You can't catch up.
And screwed I was.
And this school would just pass you no matter what. Great for graduating. Not great for getting an education.

I hated math. Math was my nemesis until I was in my early 20's.
It was around then while studying 3d modeling at art school (I wanted to become a modeler at the time) I mentioned that I found what little I knew of character rigging to be enjoyable, and didn't find the idea of winding up a rigger instead entirely unappealing.
Knowing my adversity to mathematics, my lecturer advised me that if I wanted anything resembling a career in rigging, there would be a lot of math involved.

I sat on this thought for another year or two before breaking my intended journey into steps, and step 1 was to conquer my fear of math.
I did it by going to Khan Academy and going aaaaaaall the way back to kindergarten. Leaving no stone unturned.

I believe nothing short of a revolution will fix our crappy education system, and Khan Academy feels to me like a step in the right direction. I was amazed at just how interesting a subject it turned out to be once I could finally take it at my own pace.

I can point to three periods in my life where the way I was able to see the world changed, and one of those was finally wrapping my head around math.
(The other two times were history and philosophy if anyone's asking)
With every new subject you become acquainted with, you gain a new lens with which to view the world.

Rigging is the point in the 3d animation process where the artistic meets the mechanical. A rigger needs to be able to produce something aesthetically pleasing out of numbers. And after a little boning up, seeing how art can be represented mathematically isn't so hard

Let me be absolutely clear: I'm still not what you'd call math-minded. Give me two semi-large numbers and ask me to add them together, it will still take me an embarrassingly long time to give you an answer.
Getting good at math is not about being able to do it all in your head, it's about understanding which mathematical concepts to use to approach a given problem.
What kind of equation will give me the animation curve I need?
How can I triangulate the distance between these two objects?
How can I make sure this character rig scales uniformly?
Anything is possible...
...through Math Jesus!


Harsh Brown # 3:
Knowing how to use Advanced Skeleton doesn't make you a rigger

Advanced Skeleton is an amazing tool, I'm glad we're all in agreement there.
But I have sat in on multiple interviews for rigging positions where after listening to a brief rundown of the rigging hopeful's education and that they have experience rigging entire characters from scratch, our next question is invariably "Was that using Advanced Skeleton?" And if they answer yes, I hope to god we do alright hiding the disappointment on our faces.

No. That's not what "from scratch" means.

Here's the thing. Anyone can use Advanced Skeleton. That's kind of the whole point.
If someone to use Advanced Skeleton was all we needed, we wouldn't have been looking for a "rigger".

I have strong opinions on 3d animation education's tendency to skip over rigging, either shoving it into a module of the modeling or of the animation course.
Usually this just means showing kids how to use Advanced Skeleton so they can quickly get to the good bit: animating the character.
I understand the need for this expedience in an animation course, but if you want to be an awesome rigger, you need to be able to do it from scratch.

Not that you will more than a few dozen times in your entire career, any company worth its salt will have you use an auto rigger of some kind. Often one they've made in-house. But as robust as auto-rigging tools can be, you will run into esoteric situations that require new solutions. Constantly!
That's what rigging is. A lot of spacial problem solving. And not all of those problems are "We need a standard biped rig in a timely manner." 

Being able to rig a biped character actually from scratch is the bare minimum of one's abilities if they want to get a job as a rigger, most places. 



Rigging is an awkward subject to try and teach animation students, especially when they all seem to have their eye on a job as either a modeller or an animator. Those are two very artistic positions. A little technical as well, sure.
We're using computers to make art, there's always going to be a technical side.
But rigging is extra technical, so it's not hard to see why animation schools have a hard time making a proper course out of it and just give students an auto rigger to play with.

In any 3d animation studio you'll find some of the staff came from artistic background, while others came from a programming background. I've no idea how often a rigger comes from one or the other (although I'm super curious.)
But if you're reading this thinking "Crap. I'm not a programmer. Can I really make it as a rigger?", just know that I most certainly came from an artistic background. I had to discover my technical brain and put on my technical shoes to become a rigger, but it can be done.
And what makes rigging so rewarding to me is that I do still have an eye for the aesthetic results I'm trying to achieve with all these numbers and node networks. So there is still fun to be had for an artistic person working in rigging. Don't worry about that.

But yeah. You're going to need to wrap your head around some higher mathematics, and you're going to need to also become a scripter. And Advanced Skeleton isn't always going to be there to do it all for you.
But let me reiterate just how bad I was at math. Remember how I went all the way back to kindergarten on Khan Academy? Well while I may have breezed through that, it was only in grade 3 that I actually started leaning stuff. That's how terrible I was.
So if I can do it..



No comments:

Post a Comment