It's October so I had to make an obligatory skeleton joke.
Hey though, we're getting close to being animation-ready! There's just a few more major steps and we can start putting things together. First though, we need a little change of scenery on Maya's toolbars. Until now we've been getting by with the Modeling template, but Rigging has its own template, which we access from a dropdown menu on the top-left side of the screen:
The rigging menu option is highlighted in blue. Now we've got some different tabs to choose from, we'll head on over to "Skeleton" and select "Create Joints" from that menu.
Now we've got a crosshair, basically we click where we want joints, and the connections in-between them become the bones. Keep in mind though that your first bone may not go quite where you want it, so after placing it, rotate the perspective view to see where it was placed, and realign it to your character. This first joint will branch into all our other joints, and is considered the Core of the skeleton, so we'll call it Core_JT
'
Yep, that's way off-center. I'm going to move into side view so we can realign the Z-axis to overlap our character. Once it's aligned all following joints will align generally to where we place this one.
It doesn't need to be in a completely exact position, but keep it centered and a little above the hips, in anatomical context this is the best spot because we distribute much of our weight from the core of our body, and in general we want a central joint that all the others will grow out from. Just one more thing before we move on, you'll want to return to perspective or front view to see that the joint may also be off-center on the X-axis, so we'll want to hold the X button to activate "Snap to Grid" and move the model toward the center to snap it to 0 on the X-axis. You can only directly fix the position values from the Channel Box tab on the right if you prefer.
There we go, now we can get on with the rest of our rig. The process from here is pretty simple, anywhere you want to be able to bend, twist or stretch your character, you can add a joint and once we've bound the skin, each joint will control parts of the mesh based on its weight/influence over its assigned section of the model, which we'll need to ultimately fine-tune either with the Weight Painting tool or through the Component Editor, optimally a combination of the former, then refining the nitty gritty numbers via the latter.
With some time spent (and reusing/readjusting a copy of the newer model's rig) we have a full skeleton for this model. Now we're going to shift+click to select both our model and joint systems (the parent objects are fine and will select all children below them in the hierarchy) go to the "Skin" tab and click "Bind Skin" if there are no problems, your rig should become color-coded by each joint as shown in the picture above, and if you try moving the joints your model will move with them! Albeit maybe not in the most optimal forms.
Success! Our model can share in our moment of triumph, or maybe he's doing yoga, either way, this is pretty awesome. Still, I can see some issues with what joints affect what, our shoulder joints are making The Horror's jaws stretch slightly, which shouldn't happen and will be accentuated if we need a lot of shoulder movement down the line, so let's fix it up. The first tool we need is easy to access and becomes available once our rigged model is selected. The option "Paint Skin Weights Tool" will appear by holding right click, situated diagonally up and to the left from where you opened the menu. Select that and a new window will appear, and your model will turn black and white, where black represents areas unaffected by the selected joint, and white represents areas that are. As the name implies, all we need to do here is paint the logical areas we want to be affected by that joint. The knee joint for example should be a ring around the knee areas. Again, this isn't an exact process, just get a general gist of where things should go. You can adjust the brush size via Stroke>Radius(U) though it's very touchy depending on the size of your model, so make small numeric changes if you need a smaller brush to paint small areas. The paint sensitivity is also dependent on how dense your model's subdivisions are. If it's a pretty low-poly model, affected areas will be larger, essentially each square being a paintable spot, while a high-res model will allow for much more precise painting. Let's get a picture of what's happening with those shoulders:
The nose, mustache and ponytail appear grey because technically I've selected the base model and not those pieces of the model, so we can ignore them (though they may still adopt weights from the base model, one thing that the component editor will be very good at fixing). As for our shoulder though, it looks mostly in order, except for that very subtle smudge of gray on the side of the chin. It may not seem like much but it does have an impact, so let's get rid of it. While we're at it, we can shorten the effect radius of the shoulder joint, to leave space for the other joints to have influence. To remove this joint influence paint, hold Ctrl or Cmd while clicking, the "R" on the red selection circle should change to R-Inv, or inverse painting to remove influence between joint and mesh.
There we are, now the selection is much sharper and cleaner, not riding up on the neck or ribs joints and no longer smudging the chin. This is a tedious process but it makes a difference, we go through each joint and paint it so that its influences are clean and accurate as possible. By the end, if you scroll through your joints, their skin weights will look like this (At this point I'm switching back to my low poly model because we've caught up to it progress-wise).
Man that's fun to watch.
So what else is there? The component editor! First though, we need something to edit! I'm selecting our old model's nose, since this might provide insight to the joints influencing different objects as I mentioned before. We'll want to select the nose object, right click and select Vertex, then double click a single vertex on the nose (the small purple points) which should then highlight all vertices on the nose in yellow. Now, we'll go to the tab listed Windows>General Editors>Component Editor, this is available whether you're in the Rigging template or Modeling template.
Once the component editor opens, you'll want to scroll right until you find the Smooth Skins tab, and select it. This is where all the skin weight info is kept on a numeric level based on each vertex on our model, though because we've only selected our nose, we only see the objects affecting the nose. What may seem weird is that our ribs are affecting our nose. Yeah, that doesn't make sense! Of all our joints, the only one that should have any influence on the nose is the head joint, since it's the closest and makes the most sense (unless we made a nose joint, which would be silly).
Speaking of silly, just to make an aside, what would happen to the nose if we moved our ribs joint far off to one side?
Well that's interesting. Appears we've got some influence going on in the chin as well. Basically, the ribs joint is pulling the other objects along with them, because it has marked their vertices as affected by it. Again, most of this can be viewed and handled via the weight painting method, as it's more visually informative, but this is hands-down the best way to troubleshoot weird rig movement if it isn't immediately obvious what's causing the issue.
There's a lot of numbers on here and it may seem like a pain to fix at first, but actually it's super easy. Take each questionable joint, click and hold to highlight the top value, then scroll down all the way to the bottom. Once you release the mouse, the bottom value will be highlighted to enter a new value. Type in "0" and press enter, if done right, the suspect joint will be removed from the nose object's vertexes/smooth skin menu.
Now, our nose is free from all influence other than by the head joint itself. Let's take a look!
Viola, the chin's still looking worse for wear when we stretch the ribs joint, but the nose is immaculate! That's... Pretty much everything I wanted to cover! I don't know exactly why I went for the in-depth tutorial, but I suppose explaining my process as though I was teaching someone else is a decent way to do documentation for a project. Next time we'll look into animation, but maybe I'll approach it as a bit more of a showcase while explaining the method behind my animations, I don't think we need a presentation on how to keyframe an animation, but at the least I can explain what sort of look I'm going for, where I'm getting my timings from, what I'm moving where to achieve the best effect, etc.
For now though, I'm going to call this a post, and we'll pick this up again real soon!

















No comments:
Post a Comment