Learn an artist-friendly workflow to creature rigging and a solution-based approach to building controls for faster animation in Maya. Contains over 6 hours of project-based training for setup artists learning new methods of rigging multi-limbed creatures. Popular highlights include: Building Skeletons from Anatomy; Painting Weights for Rigid Deformations; Spring IK Solver; No-flip IK; Innovative Broken Hierarchies; MEL Scripting for Rigging and Animation; Visual Limiter Controls; Sculpt Deformer; Blend Shapes; Character Sets; Smooth Binding. Software required: Maya 8.5 and up.
Delano works avidly as an animation author at Pluralsight. Starting his career at animation studios like Shilo, Delano has developed a strong passion for his talents. His animation and rigging background help him teach and create some of the most-watched training on Pluralsight.
Introduction and Project Overview [Autogenerated] hi and welcome to creature rigging and Maya insects presented by digital tutors. My name's Delana when I'll be guiding you through the process of goading setups for insects with innovative techniques for robust, animated friendly controls that will help animators spend more time being creative. Antics are fascinating creatures with very interesting and conflicts mechanics. This creates an interesting challenge for us to create a robust rig that will be suitable for an animator toe. Have this creature perform in a way that is natural and entertaining. So this brings up a few other questions. Then we'll want to have answered first. How should one go about by building at skeleton and after the skeleton is constructed? What type of controls one need to achieve proper and flexible functionality from this creature. We have a lot of fun and informative subjects we'd like to discuss with you to strengthen your understanding of rigging, using concepts that can be utilized on a wide number of creatures in general. So no need to take up any more time. Let's get right in and start the training by for us creating a few helpful Mel scripts that will assist in making rigging workflow more comfortable. This is lesson 01 Now, our first task is going to be to work on a male strip to align and objects orientation and position to another. So this is gonna work great for aligning the orientation of a control object to the orientation of a bone. Now, the next we're gonna work on is going to allow us to match the position of one object to another, no matter where that other object lies within our scene. So it's going to get started. Well, first, start with thesis Group that will allow us to match our orientation on before we actually make this script. Let's go ahead and understand how it's gonna work if we want to align in objects, orientation toe another, A quick way to do that is, too. I'm going to create a locator for this example, but it's basically two apparent that object to the object you'd like to match. I noticed. With this locator now parented to the bone, we inherent its translation as well as rotation values or rotation coordinates. Now, if we were to zero, the translating rotate transforms of this object notice it's aligned perfectly with the bone. We can select the bone, have a go to the view with the local rotation axis. And we could see that Yes, everything is matched up now What we'd also want is for the locator to then be unparalled tid because we don't want it to be driven by the bone. Okay, we just want to align it. So knowing this, this is basically what we're going to need to have within our script to have it work where we like it too. So let's go ahead and zeroed a locator. That's why I don't work on that script. We can go to our script editor and we're basically work on a global procedure. And once it's all finished, we can tie it into a marking menu too quickly. Access it. So we'll start by typing in global Crocker global procedure. And if it's kind of hard to see, I'll go ahead and zoom in. You can zoom in by holding control and scrolling with the middle mousepad. All right, so we have our global procedure, we can give it a name. We've been called this match T R and s for match transforms. Okay. And then we'll put some contents with inside our global procedure. We also want to make sure that we add the open and close curly bracket so that everything with inside our global profit will run. So once we have, this will basically work on a selection list that will allow us to acquire both the object that we like to match as well as the object being matched to. So that's going to be string. And we can call this M T R for match translate. Rotate will make it in the ray, and we'll give it a command to list or two basically star selection list. Okay, now that we have this basically need to work on just a quick warning, that's going to say all right, if we have less than two objects selected, then go ahead and run the warning saying that we need to have to object selected, so we'll just do this for two objects. So for this, we can say if okay, and we'll put parentheses and we'll put parentheses inside of the parentheses. And outside of the second set of parentheses will type size. So if the size of our and Marty String, we can copy that and paste it. If that size is going to be less than two, okay, we'll come out of the parentheses altogether. Put another open Carly bracket, go a few lines down to close it, and then what we can even do is work on offsetting the if as well as this close curly bracket for the F. Okay, just to keep things a little bit more organized, I can say if our size is going to be less than two. Okay, then we'll hit Tab a few times and we'll typing are warning message. So that's going to be warning, followed by open close quotes. And then we could even put a semicolon at the end of that told, Will know to run this If this is the case and we can say must select two objects, even put an exclamation mark to show the importance of that if you like. Okay, so now, well, basically set up the last half of this that says Okay, if we do have two objects in our selection, then run what we need to run. So that's going to be after the close call. Lee Brackett for the F Statement will type in else if and then we'll do what we've done before using the both set of parentheses. If the size of our selection list, which again there's our string and Marty will copy that, paste it if it's going to be equal to, and that's gonna be two equal signs. Two open Crawley bracket go a few more lines down close curly bracket. Now we need to basically do what we've done, too, have our object matched to the other. So remember, we first want to parent. We could leave it as that, since the first selection is going to be parented to the second. So just type in parent and underneath the next command we're gonna want to run is basically going to allow us to zero out the translate and rotate values of our first selection. That does get parented, so that's going to be as follows. It's going to be set at her, followed by oven. Close parentheses will put our semicolon and then within the parentheses will type in our strength, and Marty followed by plus open close quote, followed by the attributes to set to zero. So that's going to be our translate X. Okay, So this is basically saying our first selection. Plus, it's translate X. We want to set that 20 So now we could basically copy This will paste it a few more times. Okay, five more times. So I already have three. So that's just three more that's going to take care of our rotation. And then we could basically switch these around the ah, I would say, the translator X We switched to why and also Z and for the rotation. We're going to need our set of teeth and then we'll switch what we need so that we have our rotation Y and Z also set to zero. Now we also want to make sure that we have the right object that is going to be set to zero. That's going to be our first selection. That gets parented, so we'll just make sure we add the make sure we tell my exactly what object we'd like to set to zero. Well, just copy that. Paste, paste, paste, paste and paste. Okay, great. So now that that's done, we basically want to make sure that we select that object that's parented an unparalled tid. So to assure that we do have it selected, we can type in select, followed by Marty. First election, which is zero. And then to finish off. We can basically say parent W or unfair int parent to the world. Okay, great. So watch this. Now, if we were to select all of this and I got them back this up a little bit more too much but if we were to select all of this would control a impress control. Enter. Okay, Now we have this global procedure run within the background. And if we were to run this now, we can select our first locator and watch what happens if we just type in our global procedure name. That's going to be match T R N s can enter notice would get a warning that says we must select two objects. OK, so what happens if we select the locator and then we select our bone? Now, if we run it, we can just go to our command line hit Thea, Pero notice we not only have this locator match to our bone, they would also notice it's not parented to our bone at all. Great. Well, now that that's done, what we'll do is stop the lesson here, and then the next lesson we're going to work on our snap script, and then we'll make sure that they're going to be stored within a marking menu too quickly access them both.