Pivot Points:
Adjusting every single pivot point might seem like a bit of a tedious task, but it's far quicker and easier than the detaching process we've just been through. Again a bit of logical thinking will need to be used here. I find it to be ten times easier if you're moving pivot points on the local axis, this way... for all of those oddly positioned meshes, you can slide its pivot point around the normal of the object without it going off on the wrong axis.
Though in the case of using a Broken Mesh, the normals of all of the objects will be the same, even after we centre the pivots to each object. So you needn't worry about using it too much for now.
Just as a demonstration, I've created a simplified bone structure of my character using primitives and placed dots where the pivot points of each object are at. I have also included the direction of linking.
In this diagram, take notice of the chest object receiving links from two directions, this will make this object the master. And we will be able to link another object to it later on (A Spline controller, for example). The purple block that is linked to it controls the movement of the upper half of the body, whilst the pelvis area that is also linked to it, controls the lower part of the body. So by rotating the middle piece, we can rotate everything. You'll also notice I have included the clavicle in this example, this is because I want to show you how important it is.
The idea of it is that when one arm is raised, the shoulder area lifts up with it as well, as it would in reality. But when an arm is lowered, the shoulder still retains its shape and does not get pulled down with the arm.
Righty then, with all that out of the way, lets actually do something progressive.
Select all of your Broken Mesh pieces, then go to the hierarchy tab and select ' Affect Pivot Only ' followed by ' Center to Object ', this will... as it clearly states... move the pivot points to the centres of your selected objects. Very handy.
Also, just as a precautionary measure, Deselect the 'Affect Pivot Only' button, and go to the Utilities tab (the hammer icon). With all of your Broken Mesh still selected click the 'Reset Xform' button, followed by 'Reset Selected'. Now right click to open to the quad menu and convert your object back to an Editable Mesh/Poly. I apply the Reset Xform just incase some odd scaling/manipulation has occurred on my mesh. And attempting to animate scaled meshes can result in unwanted effects.
 |
|
With all of our Broken Mesh objects still selected, go back to the Hierarchy tab and select 'Affect Pivot Only' again, because we must now go around our Broken Mesh and place all of the pivots in logical places, constantly thinking about how it will all be linked together afterwards. ( See diagram above on help for pivot placement and link directions, we wont be linking anything up just yet though. ) |
Below is an example animation of how I go about moving my pivot points around.
You'll notice I use the ' move transform type in ' to copy coordinates across from one object to another, I do this because half of my mesh is the same as the other half anyway, and I know the centre of my mesh is in the centre of the world, so in order for me to be precise with my pivot positioning, I move one where it needs to be and copy over whatever data I need from it, and put it on the opposing side. One important thing to consider though is that for this example, the X axis on my right foot is in the minus, whereas over on the right foot, it would be in the positive, so where the pivot is at “-1.454” on the right, it would just be “1.454” on the left. This method will NOT work if the dead centre of your object is not at the centre of the world. It also only works on symmetrical objects, obviously.
I am also rotating my pivot slightly to face the 'normal' direction of my object, this will come in handy later if I'm to be rotating joints on the local axis. If you're not entire sure about the placement of a pivot on a certain object, come out of 'Affect Pivot Only' mode and and rotate it around to see if that's the kind of movement that you're after. Sticking to anatomically correct pivots is all good, but in most cases you will need to adjust them slightly dependant on your character, at the end of the day you need to go with what works best for the mesh, not necessarily what works best in reality.
Adjusting the pivot points on the hands is what I find to be the most tedious job of all, all those finger joints, which... dependant on the model will have roughly the same pivot placements anyway (
not position, but the same along certain Axis' ). So a wise man by the name of
John Pope made a painlessly simple script that can automatically align the pivot points of multiple objects along any of the three Axis'. You don't have to use this script, you can quite easily adjust the pivots individually. But if you are interested in adopting the tactics of third-party scripts to aid the process, then I'll show you how I'd go about it.
First of all, this script works based off of Max' world space, so if your object is rotated or skewed, you're going to have difficulty using it... like me:
Luckily, like with anything in the world of 3D Max, there is a workaround. (
Note : If your hand model is 'roughly' correctly aligned, you don't need to follow these steps. )
To start with, I need to rotate my hand so that is is straight with the 3D world (
make sure you turn on the Angle Snap ( see : Useful Shortcuts) for this ), I then have to select all of my fingers (
I've excluded the thumb from this equation ) and reset their XForm (
Via the Utilities Tab ). I do this because otherwise the pivot points will be able to move way outside of the object itself. You can see an objects area/brackets when it is selected. ( and for future reference, you can toggle the bracket with the “ J ” key ) resetting the XForm after I rotated my hand ensured that its selection brackets would straighten out a little bit more. I'd then convert the selected fingers back to an Editable Mesh/Poly to collapse the stack. We're now ready to play with Johns script. Which you can download here:
[
Download John Pope's Pivot Align Script] - Extract the script from the .zip file and place it in the 'Scripts' folder in the installation directory of 3ds Max. To run the script in Max, go to the “ MAXScript ” menu at the top and select “ Run Script... ” then select the script.
Now for me, it was just a simple case of selecting all of my fingers, running the script and aligning them all on the minimum X axis, by default the pivots were already in the centre due to Max's ' Center To Object ' button in the Hierarchy tab. So I didn't need to align the pivots on the Z axis, as near enough the middle was good enough for me. The pivots still need some tweaking in certain areas, but I've just saved myself a lot of time.
If you can't quite get your head around Johns script, try it out on a box, you'll see that it really is beautifully simple to use.
If you had to rotate the hand like I did, then you'll be needing to put it back exactly where you found it, and if you took my advice and turned on the Angle Snaps tool, this wont be a problem. We'll be using this in conjunction with the Snaps Tool set to vertex (
Right click the Snaps icon to bring up its options, also ensure that 'Axis Constraints' in the Snap options is turned off ). I know that I rotated my hand by exactly 30 degrees, and with the Angle Snap on, it turns in increments of 5 degrees, so getting back to exactly 30 is not a problem.
"Simply" repeat these steps for the other hand. (
And don't forget about pivoting the thumb bones either )
Once all of your pivot points are in place, we can move onto linking up all of our objects, this is a nice and easy procedure, and takes no time at all really. So...
Hop To It.