April 2017

A lot of the time many beginner riggers complain that the bad deformations they are getting are down to the model. It is a possibility, but in any case we should examine the models we get before we start rigging them, so we can be relatively sure what we are working with can actually achieve what we want it to. Therefore I’d like to examine what do riggers need from a model.

We will go over the expectations that we should have from a model when we start rigging it. Most of these are really basic and I am sure you know them, but it is important to remember to look for them before we start working on an asset.

Topology

Obviously the big one. That is the first thing we were taught at university. It is the base of the technical part of modeling, as our whole production relies on deforming that topology.

What do we need from it then?

In my opinion we can split the most important aspects of the topology to:
– edge flow
– quads
– resolution

Edge flow

First and foremost, the edges should be following the features of the face and body. We will never be able to achieve a decent looking smile shape if the edge flow does not provide us with the circular loops around the mouth and the edges around the nasolabial fold. In beginner projects usually the faces look very very uncanny, and a major contribution to that is the bad edge flow.

What we are looking for in a good edge flow is a nice description of the anatomical structure of the model. We need to be constantly thinking about how would these verts look when we pull them in this or that shape.

Here is a nice example. Notice how the edges flow around the facial features

What do riggers need from a model - good topology example

And here is some bad topology. Notice how the edges just create a grid laid over on top of the face. None of them are actually following the shapes.

What do riggers need from a model - badtopology example

There are a lot of changes of directions of the loops in a good edge flow. These changes usually result in what is called a pole or a star, meaning a vertex which is connected to five other vertices instead of four. Take a look around the eye area of the good example and notice how the circular topology of the eye merges into the mask going around both eyes and eyebrows. This leads us to the next point.

Quads

This is the main thing people say when thinking about topology, that the model should consist only of quads. And yeah that is mostly true, but there are plenty of examples of good usage of triangles as well, so if you find that you need to have a triangle, by all means have it, provided that you have done your deformation tests and the triangle does not mess anything up.

That being said, I tend to keep all quads in my models as well.

Now another part of the conversation about quads and triangles is the poles I mentioned above. The thing with the poles is that they distort the quads around it quite a bit, making it easy to get shearing in that area which is a no no. If we are to have a proper edge flow, though, these are inevitable so we should make sure they are positioned at places where they will not have to be deformed a lot relative to their immediate neighbours. In other words, try to put these poles in places where the whole area will move more or less together.

Altogether though, I feel that the importance of all quads have been overstressed, mainly because it is an easy rule to define, and people tend to love having a solid rule to guide them. In this case though, if we really need triangles and we are smart about it there is no problem using them. Just again, make sure they do not get in the way of the deformation. Following the rule about poles – having the whole area move together – should be enough to make them work.

Resolution

Another big thing with topology is resolution and we as riggers should learn to be very picky about this one, as it is easily adjusted in most cases, but can cause a world of pain when painting weights.

When rigging characters, if there is a problem with the resolution it is usually that is too high. A lot of people would argue that this should not a problem, but I strongly disagree. Yes, there are many workarounds of course, but it is still an issue.

Here are my two reasons for being aware of dense geometries.

They are denser than needed

I am a big proponent of doing everything with a specific purpose in mind, as otherwise you are just bloating your life. If the higher density does not have a specific purpose like fixing texture stretching or adding wrinkles, etc. just lower it. We should not be spending time nor mental resources on stuff we do not need.

Painting weights is a pain

It is tedious and annoying painting weights on very high res meshes. Yes we can get smoother results, but the price you pay is keeping track of much more vertices. Additionally, the brush size needs to be very small in order to paint precisely and that again slows us down. Additionally distributing twist along many edge loops is just a punishment.

Of course there are techniques to overcome these issues, but if we can completely get rid of them, for me that is the better choice. Some of these techniques include, having a lower res geometry which we actually rig and then either copy our skin weights on the higher res one or drive it through a wrap deformer. As for painting smoother weights, we can always create temporary geo, skin that and copy the weights to our models. I often do that for cylindrical parts of the bodies like legs, arms, spines, etc. Getting a nice twist distribution becomes very easy.

Housekeeping

Riggers love housekeeping! We love stuff that is clean, elegant and makes sense. Who doesn’t actually? The difference is that we would usually go out of our way to make sure everything in the project is in order. Everything except our My Documents folders I guess.

So what does housekeeping mean in the context of a model?

It is more to do with the actual scene file than with the model, but it boils down to these few points.
– No history (except for the occasional lattice deformer for cartoony eyes)
– No transformations
– Proper normals
– Symmetry (except for cases where asymmetry is intended)
– No purposeless nodes
– Multiple shapes or multiple parents

No history

An obvious one. History makes the scene messy. And we do not like messy. Additionally, it slows down the scene quite a lot, because due to the nature of maya’s dependency graph all nodes that are upstream (are on the input side of a node) need to be evaluated before we evaluate the one we actually need. Considering, it is as easy as Alt + Shift + D, this one should never be a problem.

In some cases history is needed, like for having a character with non spherical eyes.

No transformations

This is not a deal breaker usually, but can cause issues sometimes, so generally a freeze transformations is considered a good practice. The issues that can be caused are mainly due to the inheritTransforms attribute we sometimes need.

Proper normals

99% of the time this is not a problem for us, but if we use some fancy setups that rely on normals, obviously it is important to have the normals working correctly. Additionally, this is going to be an issue for the further stages of the pipeline, so it is best if we catch it and solve it.

Symmetry

This obviously does not apply to models that are meant to be asymmetrical, in most cases of cartoony characters though, that should not be the case. The only area that might need asymmetrical features would be the face. Apart from that, having everything perfectly symmetrical makes our job much easier. Mirroring joints, skin weights, controls, etc. is a breeze.

No purposeless nodes

This is kind of similar to the No history one, but deleting history does not delete all unused nodes, as they might not be connected to anything. What we could do in cases like that is run the Optimize scene size command, but take a look at the potions and make sure you are not deleting stuff you might actually need. Additionally, we can always script something to clean up our scenes, but if there are native tools to do it, why bother.

Shapes

With shape nodes, sometimes we might have more than one under a transform, depending on how the modelers arrived to that final shape. If that is the case, it would be best if these are deleted before they are passed to us. That being said, if they are needed for some special purpose, they can be left in there, although that should be kept in mind as there are a lot of scripts out there that grab the first shape of a transform and operate on that.

Additionally, a shape node can have more than one parent – it is instanced. Again, that might be needed for your production, but sometimes modelers forget they have instanced stuff that will need to deform in different ways, which will not work.

Design

I keep reiterating that riggers should make sure rigs can achieve the desired shapes from the pre-production. Just take a look at the model side by side with the pose and expression sheets and think about whether the geometry will be able to support the necessary deformations. I know it is a bit arbitrary, but more often than not just taking a minute to think about that can be really helpful.

And lastly, I know this is a whole essay in itself, but please make sure you ask the modeler for changes nicely. We are all in the same boat together, part of the same pipeline, trying to get the best of our projects. Riggers are known to be kind and considerate and you should do your best to live up to the expectations!

As any other creative endeavour, rigging tends to have a steep learning curve. There is just so much to learn. But fear not, the steeper the learning curve the higher the satisfaction of going along.

Previously, I have written about how I got to be a rigger, but I do want to go over the thoughts that made me persist with it. Because, persistence and deliberate practice is the only way to acquire and cultivate a passion.

So, a lot of people getting into rigging for the first time start with trying to rig a character. I understand that, usually there is a need for that, so it only makes sense. It is unrealistic though to expect that the rig will be any good. Which is of course fine, considering it is your first time rigging. But making something that sucks is quite discouraging. To make it easier for yourself to persist with it, I would suggest to predispose yourself to winning. How do you go about doing that?

Well, a common example is making your bed. If you do it first thing in the morning you have started your day with a small win. If you setup more tasks like that you create a chain of success, which tricks your brain on expecting and predisposing yourself more towards the same thing.

So, instead of a character rig, how about starting with the bouncing ball? If the animators start with it, why not us? I did not rig a bouncing ball though, so preaching rigging one does not sit right. What I started with was a super simple anglepoise lamp like this one.

Anglepoise lamp

It is quite similar to pixar’s luxo junior, so I thought it would be a good fun and it really was.

After that I moved on to rigging an actual character. It still sucked, but I definitely felt good about it, because even though I had rigged something before, it was still my first character rig. Additionally I remember how excited one of the two rigging workshops that I had at uni got me. There was this setup of train wheels.

Train wheels pistons rigging

The lecturer asked us how to go about rigging this, so we only control the rotation of the wheels and the pistons would follow properly. If you have some basic rigging knowledge, give it a go. Pistons are always a fun thing to rig.

The reason this got me excited was that it actually opened me up to the problem solving aspect of rigging. You are presented with htis situation and you have to find a way to make it work in a specific manner. That’s it. There might be many ways to go about it, but in the end the desired result is only one. This means you cannot bullshit your way out of it, because if it does not work, it is pretty clear that it does not.

So after you have got some simpler tasks under your belt and maybe you have started rigging your first character there will be a lot of roadblocks. And I do mean a lot. Sometimes you might think that your problem is unique and you will not be able to solve it but I assure you, everything you are going to run into in your first rigs most of us have gone through, so you can always look it up or ask. Honestly, we seem to be a friendly and helpful lot.

The way I overcame most of my roadblocks was to open a new file, build an incredibly simplified version of what I am trying to do and see if I can build it, however messy it gets. This helps isolate the problem and see clearly all sides of it.

At about this point where you have some rigging knowledge I would suggest opening the node editor and starting to get into the vastness of maya’s underlying structure. I do not mean the maya API, although that is certainly something you’d need to look into at a later point, but more to get familiar with the different nodes, how they work and potential applications of them. If you are anything like me you would want to build your own “under the hood”. It is a blessing and a curse really as sometimes I feel too strong of an urge to build something that is already there just so I can have it built myself. It’s crazy and very distracting, but also it gets you asking questions and poking around which proves to be quite useful.

So seeing the actual connections of everything you do is really nice in terms of feeling that you understand what you are doing. For example, if you graph the network of a parent constraint you would see where the connections come from and where they go, which will give you some idea of what happens under the hood. Same goes for everything really – skinClusters, other deformers, math nodes, shading nodes, etc. What this is supposed to do is to make you feel like you have a lot to work with, because you really do. With the available math nodes, you can build most of the algorithms you would need. That being said, the lack of trigonometry nodes is a bit annoying, but you can always write your own nodes when you need them.

The last tip I can think of for keeping your interest in rigging would be to start scripting stuff and not use MEL to do it. There is nothing wrong with using MEL if you really want to, or to support legacy code, but considering that 99% of what is done with MEL can be done with Python and the other 1% is stuff you definitely do not need I consider using MEL a terrible idea for your future. Python is a very versatile programming language and also (personal preference) it is simple, very pretty and quick to prototype with. Honestly, I think The zen of python is awesome to live by.

Honestly, I think everyone should learn to code, not only because in the near future it will expose a lot of possibilities to make nice changes in your day to day life, but also because of the way coding makes you think about stuff. Some of the main benefits I find are:
– The process of writing a script to do something makes you understand how it is done
– The time saved is invaluable
– The satisfaction of seeing your code work is incredible

Then what I would do after having some rigging knowledge, some maya infrastructure knowledge and some scripting knowledge is build a face rig, and take my time with it. If you create a nice face rig, it will be loads of fun to play around with it, which is very satisfying. And I am sure, at that point you will be hooked.

That’s it. I covered most of the things that have kept me interesting in rigging while I was struggling with it. I am sure that if you have picked up rigging enough to read this post, you already are a curious individual so sticking to it will not be hard.

How does rigging fit in the pipeline? Where does it sit and how does it communicate with the other parts aspects?

The pipeline is being upgraded and changed to fit the specific needs of each production company or team. But these changes are not in terms of the big scale of the process, but more to deal with smaller things. Therefore, generally the path an asset takes would be something like:

Pre-production > Modeling > Texturing > Rigging > Animation > Lighting > Rendering > Compositing

Building the shaders, kind of goes throughout the production as an asynchronous process, because it is not restricted by anything to start doing tests.

Bear in mind that even though these are sequenced in a proper production there is and there should be a lot of going back and forth to make sure we get the best of the asset. Obviously, more than one task can be worked on at the same time. For example, there is no reason to do some lighting when animation is in it’s blocking stage, or to do the texturing while rigging, etc.

So what about rigging?

Well, it fits nicely between modeling and animation. If you think of this sequence as a node in a graph or just a function, it would take model as input and spit out something that animation needs as output. Riggers tend to always look for clear and absolute solutions which would always be valid, but of course that would be too easy. And also very repetitive and boring for us. Do you want to be a node in a graph?

Now, how does rigging expand beyond modeling and animation though? Well, how do we make sure that the director will be happy with every shot? We can never be sure, but the best way to go about it, is to go back to the stages which have already been approved and get from them as much as we could. So we could go back to pre-pro and look at the character sheets. Does the character in the animation move like it has been designed to move? Do the character’s facial expressions match her character sheets? Do you see where I am going with this? We as riggers need to constantly look back at the pre-production and make absolutely sure that we are creating a rig which can fit the purposes of these designs. And if for some reason that is impossible, it is our job to bring it up, so it can be decided whether it makes sense time-wise to go back to pre-pro and fix it or we have to scrap that particular feature of the character.

Similarly, looking ahead a rigger should not only be looking at the animator. Way too many people look at lighting as just placing a couple of lights, setting some render preset and pressing a button. Of course, you are in for a big surprise if you try getting a lighting job with these expectations. Lighters tend to work with a lot of caches that may cause issues. They need to come up with clever techniques to overcome problems like for example on my film Naughty Princess the lighter asked me to make a small camera rig, so we can always keep the character in focus properly. Or another one we have used was to rivet a locator to the character so following her is easier. Often, deformation issues would come up in the lighting process and good communication is crucial to solve them quickly. Additionally, in terms of housekeeping, the smaller we can keep the file sizes the better for everyone else, as loading them can become painfully slow.

So there we have it. It would be stupid and unrealistic to think that rigging only takes models and spits out rigs for the animators, without thinking about whether this model is coming from and where it’s going. As I wrote in the “Why I Rig” post, one of the reasons is the fact that rigging has such a central position in the pipeline, that we have to communicate and make decisions for different aspects throughout the pipeline.

Considering that my career can easily take over most of my time for the next 20 to 40 years, I believe having good reasons for getting into it is essential.

Even though I do not plan to be doing it for 20 years, I do feel there are some quite strong reasons for my being a rigger in the animation industry. From talking to rigging people I know I gather that some of these reasons are shared among most of us, so do not be surprised if you find them quite obvious.

Nobody else wanted to do it

I think most of us have a story to share on this one, so here is mine. During the second year at university we had a group project aimed at creating an animated short. We had to pitch ideas and request additional members with specific roles. So in my pitch I outlined that I intend to direct and take on modeling and lighting, and that I will need people to do pre-production and texturing, animation and techy stuff – rigging and water simulations. Then when my pitch went trough and I was assigned some teammates I realized I am the most technical person in it, so if I wanted to see my film come to life I would have to rig and run the water sims myself. That’s how I became a rigger.

Now, I was not psyched at all but I was sure I am going to do it, and do it as best as I can, as again that was the only way to realize my idea. From talking to some people who do rigging it seems like this is the most common way of getting into it. What we did not know, though, was that we are going to love it. I downloaded all the tutorials on rigging I could get my hands on (the university gave us access to digital tutors and lynda) and I got on with it. Very soon I was hooked.

Art and maths

Throughout my getting familiar with the process of creating computer animations, the concept of it being a combination of art and maths would keep coming up and understandably so. To add on that, I do find a lot of artistic beauty in maths and it is also no secret that art has greatly benefited from maths as well (rule of thirds, fibonacci spirals, etc.) Additionally, these two have always been my subjects of choice. Unfortunately, I am neither a great painter nor a great mathematician, but I find that exploring each of them individually or their combination gives me a great deal of pleasure and understanding of the world. What is more they converge incredibly well in some fields such as architecture and computer graphics.

Then there is always the discussion in the field whether you are more technical or more artistic as if one undermines the other. Either way, I find rigging to be the sweet spot between the two. We have to make rigs that perform as fast as possible and not break. On the other side we also need to provide the animators with the ability to hit the shapes and poses needed for the production. In other words I think a rigger should be spending half his time on the technicalities of a rig – how well it performs – and the other half on making sure the deformations as appealing as they need to be.

We can go as deep in maths and programming as we want to, or we can let maya handle most of it for us. Similar thing goes for the artistic aspect as we can ask for a very thorough pre-production and try to match that or get a design and explore it to see how it works. Obviously, anatomy is always a big thing in animation, so the more artistic training a rigger has, the better.

Problem solving

The most obvious one probably. I was never one of those kids who were opening up their toys or gadgets to see how they work. I wanted to be though, but it seems I was too easily distracted to keep at it. But then now, it is not unusual to find me awake well into the early hours trying to figure out a problem. I hate going to bed without having cracked it, even though in the morning I am at least twice faster at finding the solution. A couple of nights ago I stayed up until 3am to try and figure out how to make sure maya’s python interpreter would always take my latest code changes without having to restart maya or use python’s reload function.

Another big one was trying to figure out how to build and Ik/Fk matching function for the first time. I had some clues from a friend, but I still spent a long time on that one.

It is stupidly exciting though! Finding the solution to a problem is always an immense satisfaction. If I cant find the solution, I cannot let it go. My girlfriend says “I can hear you think!”.

Rigging lies in the center of the pipeline

It is always nice to see how much crossover riggers usually have in the other aspects. It is no secret that the best riggers are also knowledgeable in modeling and animation. Josh Carey from Reel FX said in an interview that being able to model and animate is one of the main requirements for getting a rigging job there.

As a rigger you would usually have to communicate with all other departments which puts you in a very central and responsible position. I crave these kind of jobs, you know ego and all that. I want to be responsible for a lot of important tasks, so I can always be pushing myself out of my comfort zone.

Additionally, people tend to respect riggers for this precise reason. What is more it, I found rigging helped me to stay on top of things more easily when I was working with other people on my two short films.

Programming

One could easily create rigs without writing a single line of code, but you will rarely if ever find such people rigging in the industry. It is just very very inefficient. In a production pipeline it is incredibly important to have a non destructive workflow, which could hardly be the case if not for programming. Imagine having to build an arm rig with all it’s bells and whistles – ik/fk, elbow lock, twist, stretch, etc. – manually each time you rig a character. Not only is it going to be incredibly boring after the 3rd time you do it, but also it is going to take a ton of time, that quite possibly you do not have. If you script it once though, you get it for free every time you need an arm. So obviously, most of the rigging workflows people are based around coding.

Why is that an important reason to me though? Learning the code is really an eye opening experience. It gets you thinking about being effective and efficient. It teaches you to break problems in smaller and recyclable chunks, which can be tackled one by one. The benefits of learning to program are a whole other subject, but I would strongly suggest to anyone excited about personal growth and development to consider learning some basic programming. After all, coding is the engineering of the 21st century and it is going to get even more beneficial as time goes, mainly because everything is slowly becoming programmable.

Better contracts

Disclaimer: This one is completely speculative, because it’s based on talking to my university teachers and my coursemates who are now working in the industry.

With the great responsibility from the Rigging lies in the center of the pipeline point, luckily comes another benefit. TDs of all sorts tend to be paid slightly better than some of the artists in other departments. Additionally, as rigging pipelines tend to need some getting used to, it does not make sense for companies to hire short term riggers. Therefore, we would usually get longer contracts which as most would know is very rare in the animation and VFX industry.

Now for many people this point would not matter, but for me that stability means that I can stop thinking about just surviving, but instead think about advancing and developing myself further in my areas of choice.

These are the main reasons for my deciding to get into rigging. Another one I did not include is rigging being so much fun in general, but I thought it is a bit vague, even though anyone who has ever played around with a good rig knows what I mean.

All in all, rigging has been an incredible journey for me so far, because it has taught me to think in a certain problem solving manner about everything in my day to day life. I am therefore very glad these reasons got me to apply for rigging positions.

As simply put rigging is the process of giving a computer generated asset the ability to move. Whenever a person not in our industry asks me what do I do I generally start with this. Then of course, you can go on to imitate puppets and puppeteers with your hands.

Now not so simply put, rigging is the process of building a system to be used by an animator to deform a CG asset in a very specific manner. This deformation takes place on multiple layers, providing all the needed controls for hitting shapes and poses designed in the pre-production stage.

Okay, let’s deconstruct this.

When I say “deform a CG asset” I mean the ability to translate, rotate, scale or make it squash, stretch, bend, etc. Generally the base of a character rig is it’s bone structure which allows for moving the limbs and body in a way similar to how we move in the real world. That is why researching and studying anatomy is very important for riggers who want to improve.

The piece about the “very specific manner” is in regards to being able to build different types of FK or IK chains, IK/FK blends, blendshapes, etc. The keyword here is specific, because every aspect of a rig needs to come from a need. Every choice in the process of rigging is to always be bound by a good reason for achieving a specific result. Otherwise, we are shooting in the dark trying to hit a moving target. Therefore, it is very important for a production team to be able to communicate exactly what they expect and want to get in the end. Because, if we add a module to a rig “just in case” we are bloating the rig, and please let’s not bloat our rigs.

The “multiply layers” bit refers to the ability of deforming objects in different, but again very specific ways, and then sequencing them in a chain to produce the final result. The face is the classical example of this, where in most rigs people tend to use a combination of a few local rigs – rigs built to deform only in local space and then add them via a blendshape to the world space rig.

Then “providing all the needed controls” is again crucial for keeping the rig as light and clear as you possibly can. In our day to day lives we are very much used to clutter everything we interact with – bedrooms, kitchens, your home folder, etc. But again, when rigging an asset we should be thinking as minimalists. Which is to say, only add controls or functions if they are going to add value to the rig. Also, it is very important to make sure the shapes of the control objects makes sense, so the animators can now instantly what they are about to pick.

And lastly, the part about “hitting the shapes and poses”. Now there are a couple of metrics that describe how good or bad a rig is. Ones that I have mentioned above are functionality, performance and clarity. But in the end of the day, rigging is just a part of the animation pipeline. Therefore, as always we need to have a clear reference point to keep us on the right track. Take a look at modelers and animators, they always have their reference opened up on the side to help them stay consistent. Why would rigging be any different? We should not be thinking that we can rigs that are absolutely perfect for our purposes, without having a clear idea of what those purposes are.

Therefore, making sure that we can get the shapes and expressions that we have received in the character sheets or animatic, or even our own sketches in a more casual production, is not only making it easier for the animator, but it is making it possible to realize the initial concept.