Adverti horiz upsell
Organic Modeling and Animation - Part Three (Anima
Organic Modeling and Animation - Part Three (Anima
sdb1987, updated 2005-10-13 00:08:34 UTC 84,616 views  Rating:
(1 rating)
Page 3 of 4

The above technique, while generating a decent result, is not perfect. The final solution to this is to apply some SetDrivenKey relationships between the rotation of the hip joint and the position of the lattice points. The methodology for setting up SetDrivenKey was illustrated in part two for forward kinematic controls and would be the same here. The hip joint would be the 'driver' and the lattice points would be the 'driven'. The great thing about this is how multiple relationships can be generated between the same driver and driven. Thus when the hip rotates in the positive X direction, the lattice points can assume one shape, while when the hip rotates in the negative X direction, they can do something completely different.


Figure Fifteen

With the legs and hip region finished, the rest of the character can be set up. The above lattice technique is good for the shoulders, knuckles and head/neck region. Figure 15 shows various areas of Lanker's body with all the lattices visible and tweaked. When animating, however, it is nice to turn off the display of the lattices to clean up the window by using Display/Hide/Deformers/Lattices.

Section Two: Organizing a Custom Workflow for Animating

Once the surface attachments have been finalized and the kinematic controls set, animation can begin. Two issues will present themselves at this point, however, one being performance and the other, workflow. While Maya's performance is impressive, it still can not playback animation on high-res characters in real-time. Furthermore, the number of controls set for the character's body can become confusing to select and keyframe when animating. The kinematics discussed in part two of the series included both forward and inverse kinematic controls created via IK handles, Selection Handles, Custom Attributes and Set Driven Key.

These controls are keyframed, from a basic point of view, by moving the marker on the timeslider to the desired frame, selecting the object and invoking Keys/Set Key. But the drawback to this basic approach appears when there are several objects in the scene which are often keyed at the same time, such as the multiple controls for a character's leg (ball_roll, toe_roll, heel, knee orientation). Features which can automate this process are Quick Select Sets, Hotkeys/ Hotkey driven Marking Menus and Scripts.

A Quick Select Set, implemented by selecting objects and invoking Edit/Sets/Create Quick Select Set, is a way of organizing separate objects into a group which, when selected, selects the members of the set. The difference between this and physically grouping the objects together is that grouping objects affects how they can be animated as they are now all children of a new transform node. A Quick Select Set is just a way of organizing things so that if 'select MyFootControlSet' is typed in the command line, several objects will be picked in one step, ready for keyframing.


Figure Sixteen

A complementary technique to this is the use of custom Hotkeys. While most programs will have some built in hotkeys such as command-O for File/Open, Maya allows for 'custom command objects' within the hotkey editor located in Windows/CustomizeUI/Hotkeys (figure 16). A script can thus be written and then associated with a hotkey. For example, we can have 'L' be a single key hotkey which executes 'select MyFootControlSet'. Or we could change the command to 'SetKeyframe MyFootControlSet' to have it automatically keyframe the members of the set without needing to select them first.


Figure Seventeen


Figure Eighteen


Figure Nineteen

Also very cool is the ability to create custom hotkey driven marking menus. The hotbox seen in figure 17 is activated by holding down the space bar and offers quick access to all the tools within Maya. The hotbox is an example of a built in hotkey driven menu. But what the user can do is to have other keyboard keys pop up custom menus which may contain custom command objects, or scripts. Thus a hotkey can pop up a menu which contains items such as 'pick head', 'pick left wrist', 'keyframe all body controls', and so on. Hotkey driven marking menus are created first within the marking menu editor located at Windows/CustomizeUI/Marking Menus (figure 18). By clicking on 'create marking menu set', an editor window appears with empty zones which can be modified by clicking with the right mouse button on an unassigned zone and choosing 'edit command'. Once the set as been designed, the set should be assigned to the hotkey editor by selecting the set within the marking menu editor and selecting this option. If the hotkey editor is now opened, this set will be available for assignment in the UserDefined section. Figure 19 shows as example of a custom hotkey driven marking menu.

Once a methodology for selecting scene and character elements has been chosen, the next desirable choice is to create a low-resolution version of the character to increase performance. By doing this, we will then animate using the low-res version and render from the high-res version.There are two methodologies for this type of workflow in Maya: having separate project files for the low-res and high-res models, or using Layers.


Figure Twenty


Figure Twenty-One


Figure Twenty-Two

As mentioned earlier, when animating in PowerAnimator, one had little choice but to split a character into several low-res files if one wanted to be able to click Play on the timeslider and achieve acceptable performance. This is an option as well in Maya, but, amazingly, is not necessary. The reason for this stems from the fact that when an object is made invisible, Maya breaks connections to it from a performance standpoint. The technique to use due to this is to split a character into Layers. A Layer is similar to our QuickSelectSets in the sense that they offer a means of organzing several objects together. Just like Layers in Photoshop, using the layer editor (accessed via Edit/Layers/Layer Editor) we can easily hide or show the selected layer. Figure 20 shows the Layer Editor for a project in which I have organized both the environment and Lanker into different components to optimize playback and interactive performance. I can therefore toggle quickly between the low-res body, high-res body, hands, head and so on. Even though the project contains quite a bit of data when everything is visible and textures displayed as seen in figure 21, yielding a playback speed of @ 2 fps, when I toggle off all but the bare minimum layers needed to animate the body as seen in figure 22, my playback jumps to the desired 30 fps. I can then create a hotkey which toggles the high-res/low-res models to quickly check my high-res surface deformations as I'm animating the low-res model.