What Global Illumination Means
Photon-based Global Illumination, or GI, takes the theory of Final Gathering another a step further by creating a much more realistic light effect. It creates light rays photons, actually that bounce on multiple surfaces to create a natural bounce light in the scene. Whereas Final Gathering is a quick, even lighting solution, GI gives you much more control over the detail and amount of realism, though frequently at the expense of render time. The big benefit to GI, of course, is that the light...
Final Renders
We have created several animations with Impressionist Paint thus far. Three images from one animation, which demonstrates our scaled stroke width, are shown in Figure 2.20. A frame from a more complex animation is shown in Figure 2.21. This image demonstrates several features of the Impressionist Paint system. First, although the scene appears fairly complex in terms of shading, it is derived from a reasonably simple scene, as shown in Figure 2.16. When using Impressionist Paint, we only...
Basic Particle Motion
Now we have completed the setup work. It's time to move on to creating some expressions to control the particles' movement First, we'll add runtime expressions to the particles to get them to move around over time. Select the startPtPars set of particles, press the Down arrow key to select the startPt-ParsShape node, and open the Expression Editor. Choose Window Animation Editors Expression Editor . Click the Runtime before Dynamics button and type the following expression. float offsetV speed...
CG Cinematography
You probably already have a solid knowledge of CG cinematography basics. For our purposes here, I'm going to give some background information to get us all using the same language. If you're already a camera jockey, you might want to skip this section and go straight to the how-tos later in the chapter. Most CG feature films use keyframed animation rather than motion capture. Keyframed animation lets the animator exaggerate a character's movements, and it is this exaggeration that translates...
Dynamic Curves and Animation
The intent here is to make the curves dynamic. Both cords will become dynamic, and both will be locked down at both ends. Even the short ear-bud cord will be locked at both ends. This way only the middle parts of the curves will be dynamic, and we will be able to animate the ends to match the footage of the guy dancing around. To create the dynamic curves, follow these steps 1. Select both the curves, and choose Hair Make Selected Curves Dynamic. The new output curves appear in magenta, as...
Scene Setup
First we're going to create the shapes that emit the arcs and create a group of particles on each shape from which the electric arc will be emitted. 1. Open a new scene in Maya and create two hemispherical NURBS surfaces, as shown in Figure 8.11. Alternatively, you can model any NURBS shape you want for this exercise. It's best to create the surfaces with UV bounds of 0 to 1. 2. Select one of your objects, and then choose Particles Emit from Object . In the option window, choose Edit Reset...
Saving Your Work
After you simulate the garment, the cloth updates in real time without recalculating because the cache is stored in memory. This information is saved on disk through a Maya file format that has the .mcc extension. By default, the .mcc file is stored in the same folder with the same name as the scene file. In previous versions of Maya, the cpSolver had an attribute that listed the path to the cache file. Maya 6 has the expanded notion of a cpCache node. The most important thing to keep in mind...
Creating and Applying the HandDrawn Texture
The process begins with UV mapping. For this chapter, we'll texture a human male figure as an example. Our main concern when mapping is to minimize distortion of the texture. This is accomplished by keeping the polygon faces in the Texture Editor proportional, as they are on the model. For example, if a face on the model's chest is one-half the size of the face below it, the same proportions should hold true for the corresponding faces in the Texture Editor. Also, a polygonal face should keep...
Alternative Uses for Maya Cloth
Up to this point, you have learned how to create a cloth garment by constructing panel curves and seaming them together. You also learned how to create a workable collision environment for clothing animation. Sometimes though, in a 3D production, the work of a clothing animator does not just center on skirts and other garments it can also involve props, accessories, and even jewelry. Cloth simulation is a great way to deform anything that behaves in a similar manner to cloth. You can animate...
Edge Loops
A more complex idea that relates to construction is the concept of edge loops. Edge loops are related to animation flow, because they follow the muscle construction in the actual face, and the face naturally moves along the path of these muscles. But the edge loop concept takes the idea of animation flow and expands on it to cover the construction of muscle groups, bone areas, and areas of fat along the surface of the face. Muscle edge loops are placed around areas of the face that will move...
Using the Partial Crease Command
Choose Subdiv Surfaces Partial Crease Edge Vertex to create sharp, angular areas along selected edges and vertices within the smooth subdivision model. If the model needs details that would normally be created by adding geometry, this command adds the detail without adding geometry. Usually it will not be necessary to go any finer than level 0 to use this command to create creases along the skin of the model. The edges along the lines that require detail are selected first. Figure 9.63 shows...
Extruding Rows of Polygons
When the model gets to the point where there are just large areas to create with little detail, such as the top of the head and the neck, the Extrude Edge command is helpful. The next few figures show the detailed step-by-step process of creating extruded rows that will be clean and line up with the rest of the model. By selecting contiguous edges manually or by selecting one edge and choosing Edit Polygons Selection Select Contiguous Edges see Figure 9.23 , select a row of edges where the...
About This Book
One thing worth noting is that Maya Secrets of the Pros, Second Edition is not for the neophyte. If you don't know the difference between a manipulator handle and a spline curve, you're probably better off getting another book first like, say, Maya 5 Savvy from Sybex . If, however, you're an advanced hobbyist or especially a professional who makes your living doing 3D graphics, this book is definitely for you we built it from the start to be for you In fact and this is worth pointing out in...
Interacting with Collision Objects
Building a garment is only one aspect of working with Maya Cloth. You also want the garment to interact with other objects in the scene. If the character kneels, the cloth should rest on the ground plane. If the character sits, the cloth should conform to the shape of the chair. One character's garment might affect the garment for a second character. Cloth allows virtually any NURBS Non-Uniform Rational B-Spline , subdivision, or polygon surface to be made into a collision object. To make a...
Always Learning Gzp
We covered a lot of ground in this chapter the process of creating a wireframe cage from an edge loop layout, the process of using the polygon-by-polygon modeling technique to create an organic model, and the process of using subdivision levels to create degrees of details. Subdivision modeling is quickly becoming the industry standard for creating beautiful organic models. These techniques are powerful and fast and are far superior to the techniques that preceded them. The problem is, digital...
Building the Bracelet Garment
We'll now build a cloth garment that will be used to deform the bracelet around the left wrist of our character. Follow these steps 1. Open bracelet_sim.ma. You will see our character standing in the neutral position at the origin. 2. We will deform the bracelet model you see around the left wrist. Select a part of the bracelet, and press the F key to center it in your view. 3. Choose Create NURBS Primitives Square. 4. Select the new NURBS square's group node, and press the W key to invoke the...
Creating the Panels
The garment in Figure 1.2 is created from 4 panels stitched together and simulated to a relaxed state. The first decision to make is the number of panels. Why not 2, 6, or 16 Building a garment with fewer panels does require less work to set up and is easier to manage if changes are needed down the road, but the garment's requirements ultimately drive panel construction. Sometimes extra panels are necessary to put more fabric in a specific location, to control tessellation resolution or to...
Flexibility
Flexibility is a one of the hardest things to achieve with a character pipeline. You want to create a pipeline that can handle many possibilities. Luckily, since you're creating the pipeline and guidelines to follow, you can ensure certain things most important where to keep and name scene files for geometry, rigs, animation files, and so on. You can take all the known factors and hard-code them into your rules and scripts. Keeping things generic is also a good general rule of thumb. Your...
Polygons and Subdivision Surfaces
Using Conceptual Art Laying Out the Views in 2D 230 Laying Out the Image Planes in 3D 235
Illuminating Global Illumination
A sphere or plane or any other surface for the matter with a self-illuminated incandescent surface shader and or an LDR or HDR file texture is used to create a single lighting scheme similar to a light dome. This scheme evenly lights a scene and creates natural soft shadows on the CG elements. Using a single color on the incandescence of the sphere creates a simple one-color light and is often used for evenly lighting models. The Final Gathering render bounces the light though only once off...
Cloth Constraint
Cloth Constraints bind one cloth garment to another. If your garments are layered, it may be worthwhile to consider solving the garments in sequence, with the first garment simulated by itself and the second garment mesh constrained to the output of the first garment. The advantage is reduced solver complexity, but the down side is that the garments do not interact. If the garments are of equal weight, then a cloth constraint is the appropriate choice. It is also useful in special cases where...
The Ring
Now we'll take a quick look at how to kick up dust for a rolling object such as an inner tube. Following in the same vein as the previous exercise on creating rain splashes in a pond, we'll use collisions to create new particles from our ground plane. An effect such as this is tremendously useful for creating a sense of impact when an object travels rolls, slides, bounces, and so on along a path such as a dirt road, snow, or the like. In theory, the exercise is fairly straightforward we'll use...
Preparing the Garment for Simulation
When you run the simulation on the garment, the solver calculates the position of each vertex for each frame based on the forces applied to it. Although the skirt will settle in the general vicinity of the model's waist, the goal is for the top of the skirt to wrap around at a specific location, along the skirtAttachCurve. Fortunately, Maya provides methods to manipulate the cloth with great accuracy. In this section, you will create a series of transform constraints that will guide individual...
Cleanliness
Cleanliness is just a matter of keeping things organized. The cleaner, the easier. Delete unnecessary geometry and history. For geometry, my main rule of thumb is to delete all history and freeze transformations. Brush nodes can be created by certain procedures that don't necessarily create Paint Effects, and they are not always automatically deleted from the scene. These nodes can build up in the scene and make it heavy. Polygon tweaks can easily become a mass of nodes that are unnecessary to...
Transform Constraint
You can use transform constraints when a set of cloth vertices must travel to a certain location or follow a particular path. Imagine tossing a towel into a basket. By constraining a small set of vertices, you not only guide the trajectory but also dictate timing and speed. The solver calculates the motion for the section of the garment that is not affected by the constraint. Pay particular attention to the timing such that the cloth feels like it is being driven by a natural force, e.g., the...
Simulating and Relaxing the Bracelet
Now that all our settings have better default values, and our collision environment is ready, it's time to simulate and relax the garment for propagation to files for animation. Click Play to begin the simulation. You should see the expanded cloth mesh begin to collapse around the wrist of the character and move around as it settles to a near stop. After the bracelet settles, it should look similar to Figure 1.41. If simulation stops or appears to quit, make sure your Playback preferences are...
Connecting the Car Top to the Animation
You can now simply group the top of the car to this second follicle to create instant secondary motion for the car's suspension system. Follow these steps 1. Select the top of the car, and group it under the new follicle hairSystem2Follicles node , as shown in Figure 7.26. 2. If you play back the animation, you'll see the top of the car rear back when you start up see Figure 7.27 and swing around as the animation on the bottom plays. You can play with translation as well as rotation the top of...
Krishnamurti M Costa
Krishnamurti M. Costa, aka Antropus, is a 32-year-old, Brazilian, self-taught CG artist. Kris is a character animator on The Barnyard, a CG feature written and directed by Steve Oede-kerk and distributed by Nickelodeon Movies Paramount Pictures. He started working in computer graphics about 12 years ago. He won the Anima Mundi Festival the biggest animation festival in Latin America as an animator and art director. He is also working on a short-movie called SenzaAzione, still in progress, as a...
Modeling Standards
Modeling standards change from studio to studio. In some cases, for example, it's fine for a subdivision model to have a lot of triangles, and in other cases triangles are strictly forbidden. Figure 9.1 Detailed front and side views of a character Figure 9.1 Detailed front and side views of a character Figure 9.3 A star condition in a poly gon layout Figure 9.3 A star condition in a poly gon layout Generally, if it looks good in animation and lighting, you'll be allowed some freedom in the...
Compositing the Passes
We can now use the rendered frame s from this scene to supplement the ambient or diffusion pass in our compositing package of choice. The difference is primarily in how the layer is combined with other rendering passes. For our purposes, we just want to use it as a way to darken the less-accessible areas of our model. In Photoshop or After Effects, we multiply or overlay this layer over our full RGB render and adjust the opacity of the layer until we're satisfied see Figure 4.17 . In other...
Simple Tools You Should Be Using
Now let's look at some scripts I wrote that make things simple when dealing with characters and character setup. You can use smattrUp.mel and smattrDwn.mel to move user-created channels in the Channel box. Ordinarily, you would have to open the Maya file in ASCII format and reorder these attributes by hand or re-create them in the correct order. Using these scripts, all you need do is select the attribute in the Channel box, and then run either smattrUp or smattrDwn. The attribute moves up or...
Lighting CGI Props
The lighting setup will consist of three lighting nodes A spotlight, with its intensity turned down to 0, to prevent Maya from using a default light. In many cases, you want to use Maya lights to replicate specific lights within the environment these can often produce sharper shadows than provided by the IBL solution alone. A raytraced distant light is often used for direct sunlight in exterior daylight scenes. A mental ray IBL node. This creates the subtle ambient-colored lighting with soft...
Adding the Curve
Now that we have particles moving along the surface of our hemispheres, it's time to add the curve that will arc between them. First, however, we need to add a few more custom attributes to the arcGrp node so that we can properly control the curve via expressions. 1. Select the arcGrp node, and then add the following int attributes default values in parentheses startPtId 0 endPtId 0 numCrvCVs 50 maxHeight 30 crvDegree 1 offAmp 1 When finished, the arcGrp Channel box should look like Figure...
Deforming the Bracelet Model
After the cloth has been properly simulated and a cache file has been saved, the next step is deforming the actual bracelet model, which consists of a strand surface and multiple beads. To accomplish this, you use a wrap deformer on the strand surface. A MEL script handles sticking the beads to the strand surface throughout the animation. Using Maya's wrap deformer is an excellent way to animate a high-resolution garment model based on the simulation of cloth. This works on skirts, vests,...
Setting Up the Antenna 1
Flexible curves that are simple to control is a terrific asset, let me demonstrate by showing you the same soft body example as previously, but using dynamic curves. 1. Load an earlier version of your car before you added soft body dynamics to it, or just select the particle system grouped under curvel and delete it while at frame 1 to get rid of the soft bodies in the scene. Then select the copy of that curve aptly called copyOfcurvel we made as the soft body goal found grouped under car_grp...
A Practical Approachthe Droid
For a quick venture into ambient occlusion, we'll render a CGI robot droid in several passes and composite them back together in Phostoshop to show the flexibility of ambient occlusion as well as rendering in layers for different lighting passes. Follow these steps 1. Open Droid_Setup.mb, as shown in Figure 4.10. Cute, huh This scene is already set up with mental ray for Maya rendering, and several raytraced spotlights are arranged in a basic three-point lighting rig. Notice that there is...
Mesh Constraint
Mesh constraints are similar to transform constraints in that the vertices affected are directly controlled by the object constraining them however, a mesh constraint only works Figure 1.28 Inside the box is an example of a vertex constrained. SHAPES ti a n si ormE onsttaint S h apel Si e 0 532 Constraint Weight 1 Is Soil off Stiffness 100 Figure 1.29 Transform constraint attributes with collision objects. The end result is that the garment follows the collision object's motion. This is...
Avoiding Cloth Problems During Character Animation
One of the most effective ways to help the simulation along is to take extra care during animation. The forces generated by collision objects are strong and tend to overwhelm everything else. For example, it is virtually impossible for a field to be strong enough to force the cloth through a collision object. Therefore, it is imperative that the animation of collision objects works in a predictable fashion. A common problem is that the character is often animated to the camera, which means that...
Creating an Energy Vortex
Our second example creates an energy ring vortex that might be used to good effect in a science fiction movie. Here, we will use noise to punch holes in particles emitted from a ring, creating an effect that might look like a band of energy being emitted by a circular gate in space. 1. Open a new scene in Maya and create a NURBS torus. Rotate the torus upright 90 degrees in X , scale it out to about 10 units in each direction, and set the makeNurbTorusl sections to 16 and heightRatio to 0.03....
Work Flow with Cloth
When you are working with Maya Cloth, as you would with real cloth, you must have a plan before you start to sew. As part of the planning phase, you need a clear idea about the garment you will be creating. Many studios have artists whose job is to visualize and then produce concept drawings of characters and their costumes. Emulating the look and feel evoked from these concept drawings is the goal of the cloth animator. If you are working on your own design, collect reference photos of items...
Implementing Impressionist Paint
The scripts that implement Impressionist Paint are written in MEL. Figure 2.18 provides a visual description of what the scripts do. When the Paint button is clicked in the GUI see Figure 2.17 , the system of scripts creates strokes for each object individually. First, particles are emitted from each object's surface to identify the starting points for the curves strokes . Next, spline curves are created at each particle location according to the specified parameters. Figure 2.18 The stages of...
The Impressionist Paint Process
To create a system capable of producing an impressionist style, we must first understand how an artist creates an impressionist painting. At first glance, the freedom displayed in impressionist works would seem to defy a systematic approach however, impressionist painters do adhere to certain rules when creating their pieces Use of nonuniform brush strokes Emphasis on painting light on objects Application of primary colors Reliance on visual color mixing Avoidance of black and harsh outlines...
The Import Pipeline
In this type of pipeline, each member of the team imports the file into their current scene to rig, animate, or light the scene. This style is similar to an unmanaged pipeline, but the processes necessary for updating can be MEL-coded to ease transfer. You must follow certain routines to make this process possible without creating too much garbage in the scenes. You must set up models, rigs, and animated characters in such a way that automating the import process is possible. For example, you...
Methods and Strategies for IBL
Several IBL rendering techniques can find their place in just about any Maya production pipeline. Most of these techniques require the use of the mental ray for Maya a renderer that is included with the latest releases of Maya . 3D rendering is all about faking it. Before we had the computing power and programming invention, we had to do without radiosity. Now we have better, faster routines and faster processors to handle them. You'll find that old-school three-point lighting with supplemental...
Setting Up the Rig
From the CD, open the file Hair_Walk_Start.mb. A rig of a biped with a simple walk animation is already applied to the rig. Figure 6.15 shows the file loaded in the persp view. To begin adding secondary movement controls to the rig, follow along 1. From the Create menu, select the EP Curve tool. We will trace a curve along the thigh bone of the right leg in the next step. 2. Holding down the V key snap to point , click once on the right_hip joint and once again on the right_knee joint. Press...
Stephen K Mann 1
A character pipeline is really just the process of getting your character through its stages of evolution, from concept to modeling to rigging to animation, and then passed on to lighting. Three main data transfers take place one between modeling and rigging, one from rigging to animation, and one from animation to lighting. But the pipeline might have any number of transfers. In this chapter, pipeline simply refers to the processes that make that transfer happen. Of primary importance is how...
Button Constraint
The Button constraint can be used for adding any rigid objects, such as pins, lapels, nametags, badges, and, of course, buttons. Note that these objects cannot be collision objects because this would create a cycle where the collision object would affect the cloth solve and the cloth solve would affect the position of the collision object. Because the solver cannot factor in the button object, clipping can occur if the garment were to fold heavily. The easiest way to manage this problem is to...
Using Springs to Create Ripples
The goal object of the plane makes the particles bounce back into place, but there are no ripples in the surface. This is simply because the movement of one particle does not affect the movement of the others. The goal object merely pulls the out-of-place particles back to their original location at their respective CV. Creating ripples calls for the use of springs. Soft Body dynamic springs connect individual particles of the same particle object together in a few ways. Follow these steps to...
Separate Ambient Occlusion Pass
Ambient occlusion can also be rendered as a separate element and combined with other render passes in the compositing stage. This allows for the best flexibility, but higher render times. It is wiser to begin here and then move on to baking ambient occlusion passes to the shaders themselves. Using ambient occlusion as a separate render pass is often more popular in production, usually because breaking up a scene into separate elements for effective baking can be risky in a proven studio work...
Creating Guide Locators on the Skirts Waist
First, you need to create some guide locators to designate the destination of each cloth vertex on the guide curve. Follow these steps 1. Use the scene file you have been working on or open skirt_garmentBuilt.mb, which has been prepared for this step. 2. Open the Script Editor and source attachLocators.mel. 3. You may need to edit the script if the names you gave for your cloth mesh and attach curve do not match the names in these steps. If so, edit the first two lines of code in the script....


























