===THIS IS UNEDITED / WIP===
Hey there, if you're reading this, you've asked about how to rig, or learning more about rigging. I hope to revise this in the near future, but the content is still useful. So until than, hopefully this helps and isn't too confusing :)
/*
-gif of Incredibles robot evolution
-thumbnails in order of process - animlab formatting
https://3dfiggins.com/Personal/AnimLab/
-keep all on same page with anchor jumps to bottom
.rig optimizes course from rigging dojo
-add in shipkov shoulders, buried link
-add in mel tutorial
https://www.melscripting.com/
*/
Rigging Course: https://www.cgcircuit.com/tutorial/advanced-rigging-with-de-boors-algorithm-in-maya
Learning to rig as an Animator can provide a valuable addition to your skill set. From rigging your own characters, getting on projects sooner, or communicating more effectively with the rigging department, having a basic understanding of how a rig is built will make your life as an Animator that much better. Also, you can use your newfound knowledge to improve your own animation workflow by being able to build small in-scene setups and if you go far enough, you may be assigned a wider range of challenging or atypical shots. I've provided a bit of my own experience with having both an animation and technical skill set at the end.
Before getting started, here are a few things that I wish I had been told when I was starting out
-Rigging is an entire field, so picking it up won't be instantaneous. Rigging can also be (inaccurately used as) a blanket term for simulation, hair/fur, cloth, tools and pipeline
-Save multiple copies of any tutorials you follow or scripts you download, as internet resources have been known to vanish without warning
-Rigging is repetition, so if you plan on doing it more than once, it's highly recommended to learn basic scripting as well, so once you build a component you like, building it again (or the other side) is a click of a button <<python auto rig>>
-Building a rig, by hand, is a lot like following a recipe when cooking, the more explicit the directions the better and more consistent the result. So while you're building your rig, write down your steps. This helps later on once you learn how to script, as the steps are already laid out.
-Start small. Typically the end goal is to have an AutoRig so if you get a character mesh, you can put a quick rig in it and start animating. To keep things manageable, you'll want to start with smaller and smaller components first, such as a simple arm rig. For more information, see the section on <<AutoRig tips>>
-Work backwards, if you know you want to get a character in a game for example, get a single joint and skin working for an export first, then build up, piece by piece testing along the way
-Rip apart rigs you like or find online to see what they're doing and try to replicate those elements. You can learn a lot from them such as basics like naming scheme and hierarchy to more explicit details like joint placement and skin weights
-Painting weights isn't any more tedious than moving verts when modeling or keys when animating. Once you understand what's happening and what can and cannot be achieved, it's very straightforward. Learn more here <<anchor to paint weight num>>
As for learning to rig for commercial work, it's very handy and does help inch out above others by being able to come on the project sooner, stay longer and mean less scheduling/hiring for the company. Depending on how you feel about tools and what kind of contract work you've been getting I can help guide you a bit more. The big three that stood out for me when I've done them are:
So, here's a very broad overview on how to get more familiar with Rigging. Taking you from getting a mesh, building a rig, applying mocap, simulating the accessories and scripting to making it easier next time, along with my own views and examples at the end.
3) Rigging a Biped, Step by Step - A full, free break down, step by step for building a biped rig by hand from joint placement to corrective shapes
4) Painting Weights - An in depth look at the steps, process and basic methodology to make one of the most hated parts of rigging a lot more straightforward and manageable. Also, Maya add-ons like ngSkinTools (https://www.ngskintools.com/) are available to speed up the process even more
http://www.3dfiggins.com/
5) Forearm Twist - An older tutorials, but an overview of one way of creating a forearm twist setup to help with volume preservation
http://www.3dfiggins.com/
6) Corrective Joint Setups - An indepth look at my own approach for volume preservation
http://www.3dfiggins.com/
7) Joints vs Blendshapes - An indepth look into the endless debate of 'Joints vs Blendshapes'
8) Creating Anim Proxies - If you're planning on animating your character, playback speed is key. Here's an approach to increasing it
http://www.3dfiggins.com/
9) Mapping mocap to a Rig - Now that your character is rigged and skinned, make it move with a bit of mocap. This can be useful to test the rig, see the skinning in motion or show the client/animators the rig is ready for use.
http://www.3dfiggins.com/
10) Maya nCloth - With your character moving, learn some of the ways to get their accessories simulated
http://www.3dfiggins.com/
https://vimeo.com/channels/
12) Publicly Available AutoRigs - If the steps above are too daunting or if you're pressed for time, here's a listing of publicly available (free and paid) auto rigs to help you hit the ground running. If you'd like to build your own, continue below.
<<<LINK>>>
13) Scripting your own AutoRig - If you've followed the tutorials above, you'll have noticed early on how tedious and repetitive rigging can be. Learning to Script will speed up your workflow exponentially and open a whole new world of possibilities from building tools to problem solving. Get started here by learning how to build an AutoRig with Python for free
https://www.youtube.com/watch?
14) AutoRig Tips - Having built my own AutoRig tool set, here are a few of the points I wish I had known going into it
<<<LINK>>>
15) My AutoRigs - Speaking of my own AutoRig tool set, here's an overview of the one I wrote and still use for characters, creatures, cars, props, cameras and more
<<<LINK>>>
16) Additional Resources -
<<<LINK>>>
17) My Rigging Philosophy - Though I consider myself an Animator, I've been rigging for just as long and having worked in games, films and commercials from big studios to solo projects, here are some of my thoughts on approaching rigging and my own mindset.
<<<LINK>>>
18) How I learned to Rig - My own path was nowhere near as structured as the one list above. Here's a brief overview of my own path and things I wish I could have done differently.
<<<LINK>>>
19) How I've used rigging in my animation career -
<<<LINK>>>
Learning to rig is a great tool to have for 3d animators, especially those who wish to do their own personal projects. Even a basic understanding can let you experiment and slowly build larger more complex rigs that will improve over time. So start small, keep your expectations realistic and keep at it!
AutoRig Tips
Having your own AutoRig tool set is pretty great. It's an amazing learning experience and provides the knowledge that if you're put in a situation where you need to rig a character before you can animate, you know you can do so. One benefit of having built it yourself over using a publicly available one is that when and if something goes wrong, you know roughly where the problem is and how to fix it. You also know the limitations of the rig, maybe it's not built to do quadrupeds or tentacles, and you can plan for this when seeing the character design. There are downsides of course, not everyone has the time or interest to devote to such a large undertaking, also publicly available ones may be able to build a rig outside your current abilities or understanding. Lastly, for both your own and publicly available tools, is upkeep. Staying up to date with the latest trends, optimizations, taking advantage of new software updates and staying on top coding versions, such as making sure the tool works in the latest version of python can be a lot of work. Also, if you're using someone else's toolset, they may stop supporting it or compiling it to support the latest version of software. Having built my own AutoRig over twelve years, I see large parts of it that have fallen behind the times, but the end results still allows me to build a solid, battle tested rig to get most characters up and moving in a timely fashion, so even though it may not be cutting edge, I know it's still a viable option for the time being. So from those years, here are some tips I found that may help you.
-Write your process of building the rig down in a text document. This way, if you're not scripting the construction of the rig at the same time, you know the steps to recreate your arm setup and can read through it faster and more reliably than trying to remember. You can also write down known errors or possible options or improvements to loop back to when you do script it out. The more detailed the steps, the quicker you can get through it next time.
-Start small with building the tools. The road ahead of creating a full character rig is daunting, so start with something small and manageable to build up momentum, something like being able to select 5 locators, run a script and a basic FK control setup is created, or select 3 locators and an IK arm with pole vector is made. It's clunky and slow, but will give you the basic building blocks that you can improve upon.
-Don't build a 'Biped Rig' first. It's very tempting to start building a single script that when run creates your big rig. However, this tool will likely get very large and unruly and make updating and troubleshooting more difficult. Instead, build individual components like a spine, arm, leg and so on as smaller, separate scripts. Then you can build a wrapper script that ties them all together and goes in order to build the rig. This way you also have the components to do more atypical characters or creatures. Also, keep your scripts separate, for example kfCharacterSetup_
-Comment your scripts. A long running joke in the scripting community, but needs to be said over and over. Commenting not only helps you understand what's going on when you look back years later, but helps others that may pick up your tool. Commenting can also provide additional information such as common pitfalls, why you choose a specific workflow or general ideas for improvements for later versions. So keep commenting, as future you will appreciate it.
-A rig doesn't always need every single option, as the more complex, the slower it becomes. Keep complexity as an option, an add on or even a <<<bolt on rig>>> that an animator can create in a scene. For example, IK fingers, by default, aren't needed except for rare instances. So having them in the rig the entire time may be overkill when a bolt on script that can be used when needed may be more effective.
-Most parts of a rig's creation can be automated to some degree. From <<<cleaning the mesh>>>, to building a <<<character template>>> for joint placement, to transferring skin weights from previous characters or shared rig, a lot of steps can be consolidated but may not necessarily fall under 'rig creation'. If you're planning to build several rigs for similar characters, knowing this ahead of time and planning accordingly can save you time and effort.
-Store your control shapes in a library and use those to keep them consistent between rigs. Control shapes and colors can seem tedious when you're creating them. Far too many rigs I've worked with have been little more than default blue, nurbs circles. Though technically still as functional, the end user experience for the Animator drops considerably. They'll be staring at this rig for hours so making it as user friendly and appealing goes a long way. So a way to save time for you is to create common controls shapes and save them to a library. Once you build your rig, you can pull these known shapes in without having to create them by hand each time. The rig looks better, is more informative at a glance and a consistent visual style is achieved between rigs so Animators don't need to spend as much time refamiliarizing themself with the next one.
-Build the World control / character hierarchy first to contain your elements as each new component is built and added, this keeps your Outliner clean and saves the headache of cleaning / parenting everything at the end.
-When coloring controls, color the shape node not the transform to prevent the color disappearing when an animator puts the controls on a display layer
-keep a clean list of your tools or you'll end up rebuilding ones over and over again, pic of kfTools
-create a masterUI and use that a template so you can frankenstein future UI's together easily along with the code needed to pull information from those pieces, pic of kfMasterUI.mel
My Auto Rigs
-individual text linked to images
-all being said still old
-brad speed
-take advantage of later additions in Maya such as DG/Parallel evaluation, Matrix Math, fewer constraints, avoiding heavy nodes such as rivets
-image of kfTools Rigging
-biped builder, character setup, sub windows, stills from creation (take last character for store), car, camera, tool list
My Rigging Philosophy
1) Animators will be interacting with rigs for hours, days and weeks on end, so their interaction with the rig in terms of looks, functionality and playback speed are all very important to consider.
-few visible controls as possible that can be easily shown more or less, think of how its going to be animated
-controls shaped and colored in a meaningful way ( should know what the character is doing with the mesh hidden)
-when coloring controls, color the shape node not transform to prevent the color disappearing when an animator puts the controls on a display layer
-rig colors are important, yellow catches your eye, but don't want only yellow controls, avoid pink/white/teal as those are common shown when something is selected
2) I build rigs to be animated in a 'Grab and Go' workflow consisting of controls that represent what the mesh is doing. The goal here is to have the rig convey the motion even with the mesh hidden, while making the controls clear enough so that the Animator doesn't need to take their eye off the character to look at the channel box for custom channels or a separate UI such as a Body Picker.
-I don't build/use body pickers. Again, this is purely preference and how I started my own career, the characters never had pickers, so I've kept up with it
-I try to avoid custom channels unless it's for less used features, like an IKFK blend or in cases where the Animator requested a group for ease of animation or animation transfer.
-Being able to quickly toggle the controls (I have nurbs curves viewport toggle set to hotkey '4') removes the rig entirely from the viewport
-I have a <<<selection recall tool>>> when I animate more to retain common groups of controls, rather than using to find controls
-Rigging Dojo has a great tutorial on improving rig playback speed and optimization: https://twitter.com/riggingdojo/status/ 1470505337102942219 / https://ondemand.riggingdojo. com/ OptimizingRigsforParallelEvalu ation -Proxy meshes, layered meshes turning on hi at the end for playblasts. http://www.3dfiggins.com/writeups/ animProxy/
4) Avoid 'rigging for rigging' sake. Just because you can automate an element or add more features, it may be best to hold until they're requested. As the more complex the rigs get, the harder they are to troubleshoot, the more areas where something can go wrong and the slower the playback speed.
-Here's a whole thread on rig requests that were not taken advantage of: https://twitter.com/
riggingdojo/status/ 1460280057625292801
-I try to avoid automating motion, such as auto clavicles, moving the center of gravity/body to keep between the feet (yes that's been asked for...), etc. Even when I do build in small auto elements I make it so the effects can be dialed down or turned off entirely
-I'm also a big fan of bolt-on rig additions, not trying to solve every solution in a single rig. A common one is IK Fingers, which are so rarely used that having them in every rig is excessive. Where as I can provide a tool an animator can run in their scene they need that functionality and be done with it, https://twitter.com/
KielFiggins/status/ 1460549763594698752
5) I prefer joints over blendshapes. The reasons will likely be its own write up in the future but the summary being:
-I can automate joint creation
-I rarely work on projects (outside of films) that have the time, budget or resources for talented modeler, especially for faces
-The popularity of game engines make joints a foundation point while each handle blendshapes differently
-I'm often asked to build a rig while the model is still in progress and the model may change right up till the end
-I'm more confident in my skinning/skin transferring abilities, than my modeling abilities
-Most of the projects I'm involved with are not as cartoonly or stylized
-fingers overall for shapes for previz/transfer, fk for actual animation, layered to support bolt on IK if needed, work in conjunction can set a pose with finger group and tweak with FK
-prefer prefix for naming schemes, when an object gets duplicated numbers get added on at end, mesh_, CTRL_, rig_, for naming of left and right side, I like to have underscores around it to make search / replace easier for finding the same control on another limb, so CTRL_L_ArmIK and CTRL_R_ArmIK
-avoid custom plugins, may not be avail to client, plugging in on render farm, not compatible with version of maya being used
-build it more than 3 times, automate it - csa
-get animating early, ref the rig, layer on additional controls as needed, ship it with imperfect weights and correct it once called out, gif from incredibles about building for a need, putting it into production and having it run trials by fire. Helps avoids feature creep, don't have to polish what isn't seen, or spend time noodling skin weights
How I personally learned to rig
-4 weeks in school, lowest grade in school, back in 2004
-csa foundation
-rigging own creatures in games gave a wide range of needs (wings, alien limbs, limited joint setups)
-rigging for animation bids in comm (need to be able to rig quickly so you have more time to animate, ie get handed a character on friday night and need a short anim by monday morning)
-rigging for personal, where I went to try new approaches or idea, most do work, but at least I know instead of assuming.
-self taught
-exposed to a wide range of other types of setups and solutions where I tried to pull key bits that I liked and apply them to my own
How I've used rigging in my animation career (gifs?)
-atypical shots
-previz
-ultron dneg first on
-chandeller in king arthur
-rpo coin setup
-puppet strings on aladdin
-IK toes on Deviant on Sac
-personal projects
-stand out on a long list of animators
-put whole characters in a game since I could rig,anim, export
-been the only animator on countless projects for the same reason, nice for smaller studios/self contained projects, but also for companies to hire you back. Knowing you're able to pull double duty and only needing to hire and schedule one artist, especially nice if there's a tight turn around.
If you're a modeler looking to pose a character:
-placing joints
-paint weights
-auto rigs
If you need a character rigged to animate (your own short film, demo reel, bid/pitch), but don't want to learn how to rig (time restraints or simply not interested):
-Auto rigs
-paint weights
Rigging a game asset rip (fbx with mesh,skinning, joints)
-just as time consuming but a nice starting point and lets you see details like joint placement and skin weights