|Page (1) of 1 - 05/05/03||email article||print page|
Animating The Inanimate, Part TwoMighty Morphin' Al here.
As we continue our intrepid safari into the deep, dark jungle of character animation, we're going to transition from the modeling issues outlined in part one of our series to some relatively simple techniques you can use to make your usually inanimate objects anthropomorphic. And while we're on the subject of words that contain the term "morph" in them, now's as good a time as any to reveal today's featured technique: morph targets.
Now, I probably know what you're thinking. Morphing was passť right about the time the first George Bush was still president, so why are we bothering with anything even close to resembling morphing now? True, the "classic" morphing technique that so wowed everyone in the early nineties hasn't been in fashion for quite some time now. But its legacy lives on to this day, itself morphing (for lack of a better term) into a whole genre of visual effects you still see all the time, often without realizing it. But I digress, as we're just going to concentrate just on 3D morph targets today.
Morph targets -- huh?
In the simplest sense of the term, morphing refers to one object smoothly turning into another object over time. This definition also applies to morph targets, but in an even more simplistic way. A 3D object with morph targets isn't typically designed to turn into another object over time, it's designed to turn into a different version of itself over time. Let's go through a super-simple example to illustrate this. Let's say you have a pretty basic tube (fig. 1a), which you need to have bend forward and touch the ground plane (fig. 1b). The model shown in figure 1b is the morph target of the model in figure 1a, and I've told the model to turn itself into its morph target over a specified period of time.
|Figure 1: This is a tube. This is a tube on morph targets. Any questions?|
Let's look at morph targets as they relate to our calculator buddy Al. In the shot I'm planning, I'm going to need Al to look to his left, then to his right, then up in the "sky," and then go back to his usual rigid position. So, what with this article being about morph targets and all, I'm going to use morph targets to make Al do my bidding.
Now, back in the days before LightWave 6 came around (commonly known as "yore"), using morph targets was only slightly more of a pleasant experience than forcibly removing your own toenails with pliers. In order to take advantage of morph targets, you had to modify your model, kill all the polygons (leaving only points behind), and save out a separate version of the model (again, in points-only mode) for each morph target you wanted to make. All these models had to be imported into the Layout program in order to be referenced by the main model, meaning that projects can get pretty cluttered pretty fast. Fortunately, all this changed in LightWave 6, as the LightWave Object format allowed you to include morph targets in the same file as the base model. Plus, you didn't have to kill the polygons to take advantage of morph targets. Enough with the history lesson; let's give Al some morph targets and get him a-movin'.
Figure 2 shows a wireframe of Al in his regular, rigid state. What you'll also notice in the bottom of the picture is that I've got the little "M" button selected (which, surprisingly enough, stands for "morph target"), and am selecting the [new] option from the pulldown menu. That's all you need to do to add morph targets in LightWave. I'll call the first one left, and use the twist tool to twist Al to his left. The second one will be called right, and I'll twist Al to his right. The last one, up, involves using the bend tool to fold Al to a point where it appears that he's looking up. The base model, as well as the three morph targets I added, are shown in figure 3.
|Figure 2: Here's Al in the process of having morph targets added to him.|
|Figure 3: Al's base model, along with his left, right, and up morph targets.|
Pretty simple, huh? One of the nice things about morph targets is that from the three relatively innocuous states I generated for Al to assume, you can get him to pose in more ways than just the three defined states. To show what I mean, let's bring Al over to LightWave's Layout area and fire up the Morph Mixer.
The Morph Mixer is a displacement plug-in in LightWave's Layout environment that you apply to an object, one that presumably contains one or more morph targets. In our case, I've brought Al into Layout, selected the Object Properties panel, clicked the Deform tab, and added the Morph Mixer displacement plug-in, which has correctly noticed that Al has three morph targets (which it calls MORFs for some reason or other) available to it (fig. 4).
|Figure 4: The Morph Mixer plug-in (bottom) correctly showing the number of Al's morph targets in LightWave's Object Properties panel.|
The Morph Mixer plug-in, once it's applied to an object, presents you with a very simple interface consisting of percentage sliders to control each morph target (fig. 5). You can see from the image that each slider can be controlled independently of all the other sliders, and the percentages can be animated over time (that's what the little key and arrow icons are for), which opens up many interesting possibilities depending on how your model is set up to take advantage of morph targets.
|Figure 5: The Morph Mixer interface.|
Figure 6 shows how Al looks at various slider settings, which encompass not only the positions I wanted him to have, but also an example of how I mixed the sliders to create a new position.
|Figure 6: Al in various stages of morph mixing.|
Now, if I were preparing Al for an actual animation instead of a quickee-like tutorial one, I would probably do a little more than what I did here, namely getting the various morph targets looking a little more lifelike (well, as lifelike as possible considering that Al is a calculator). I'd probably also overexaggerate the movement of each of the morph targets, so I'll have a wider range than I'll actuallt need. Additionally, I'd might as well beef up the number of targets in general to get a wider range of motion available to me in the Morph Mixer.
Of course, what's an article from yours truly without a couple of caveats? First, when using morph targets, each morph target has to have precisely the same number of points as the base model. This means go ahead and push, pull, stretch, and otherwise transform the points of your morph targets as much as your little heart desires, but don't you dare get rid of any points, or else the whole thing won't work at all.
Second, sometimes you're going to need several intermediate morph target stages in order to get a smooth deformation from one state to another. Let's return to the simple tube example from before to illustrate this. Using morph targets is, in is simplest form, telling points on a model to move to another location over time, and as such, the point is going to take the path of least resistance to get there. The Morph Mixer doesn't know that a straight tube that turns into a half-donut is supposed to do so by arching over, rather than the less visually pleasing collapsing effect (fig. 7). In cases like this, you're going to need to generate one or more intermediate morph targets to achieve the desired effect (fig. 8).
|Figure 7: Without intermediate morph targets, our tube travels to a bent state in a pretty funky way.|
|Figure 8: Mr. Tube making a much smoother transition, thanks to intermediate morph targets.|
The only other thing I'll mention pretty much goes without saying (that's code for "I'm going to say this anyway"), which is that I'm using LightWave here, so be sure to consult documentation of whatever program you are using to find out how to apply this technique in your package of choice.
The last word
As we've seen, morph targets are a pretty simple, yet powerful, way to deform your characters. But what I've shown is just the tip of the iceberg. As you get more and more comfortable, you'll see how morph targets are useful in a variety of advanced situations, namely mouth movements to approximate speech. So now that we've started to get a handle on morph targets, next time we're going to get a handle on handles. Whatever do I mean? You'll just have to tune in to find out!
When not fleeing the paparazzi or spending his vast fortune associated with the fame and notoriety of being a DMN contributor, Kevin Schmitt can be found with his eyeballs glued to his computer screen, attempting to use some of the hardware and software he rants so incoherently about. An award-winning animator, artist and multimedia producer, he is currently a freelance designer located in the enormously bustling megalopolis of Charlottesville, VA. Whether you're looking to "give him the business" of either the figurative or literal type, feel free to drop him a line. He's ready to believe you!
Though the fame, riches, and notoriety of being a DMN contributor are both tantalizing and substantial, Kevin Schmitt still stubbornly insists on continuing his work as the Director of Interactive Services at EFX Media, a production house located just outside of Washington, D.C. Feel free to follow his updates and contact him through Twitter if you have something to share - he's ready to believe you!
Related Keywords:character, animation, modeling, techniques, tutorial, 3D, visual effects
Source:Digital Media Online. All Rights Reserved