|
Leonardo3D DemoThis is a demo on the usage of Leonardo 3D. In it, I go through the steps of making a model of an indoor female volleyball player. You may click on all the reduced screenshot to get a larger view. To being with, I start up the application by typing modeler at the command line. The Leonardo 3D window pops up, mostly empty. The Leonardo 3D window comprises three panels. The left panel is an expandable tree widget, its items representing aspects of the character you're working on. The second is a panel of parameters associated with each item in the tree: whenever you select an item in the tree, a set of controls appear allowing you to adjust the parameters of that item. The third is the character display area. There's also a menu bar on top, and a status bar on the bottom (which, so far, has never been used).
Ok, back to the demo. Now, it's time to add a part. I'll start with the upper body. In the tree, I select "chest" (under "parts"), and click on "Load new model" in the center panel. In the dialog box that pops up, I select the file "midsection/fchestb.3ds," and click open. (The filename "fchestb" means Female Chest B-Cup.) A chest will appear in the character view, and a subitem of "chest," representing the model just loaded, will appear in the tree. Now, I load left and right forearms using file "limb/open8.3ds" (which means a limb that is open on both ends, i.e., a hollow tube, and has an octagonal cross-section). Then I load the left and right upper arms using file "limb/closed8.3ds". (This is a limb closed on the bottom end with a hemispherical dome.) I also took care to give the models decent names; this can be important when programming the character in Python. You can see that the parts don't fit together perfectly. The ends of the upper arms, for example, are too large for the chest object and protrude through the shoulder. So eventually I'll fine tune the size and position of the models. First, however, I'm going to give them some color, as it will be easier to see where the models overlap. What I do is select the material associated with the models, and adjust the ambient and diffuse color. (I'll leave specular color for later.) Roughly speaking, ambient color is color of an object in the shade, while diffuse color is the color of an object in the light, after subtracting the ambient color. One other thing I'm going to do is add some motions so I can see the joint in various angles. I select "motion" from the tree, and click on "Load new motion" in the panel to add motion. I've added three motions here: a pose motion, a run motion, and a fullrange motion. The fullrange motion moves each joint over it's typical range, and is thus very useful in making sure the parts fit together nicely. They are all found in the "basic" subdirectory. Once the motions are loaded, selecting that motion in the tree will cause the character to do that motion. Now, it's time for me to fine tune the size and position the models.
To do adjust the models, I select the model in the tree, and adjust the parameters that specify size, taper, position, and orientation of the model. The models are already oriented correctly. However, the upper arms are a little too thick, so I reduce the x- and y-factors a bit. Also, when the elbow bends, I can see the forearms projecting a little too far past the elbow, so I reduce the z-factor just a tad. Also, in most people, forearms tend to taper a little. So I adjust z-taper of the forearms a little bit, as well as z-factor and z-offset, as the tapering tends to affect the others.
Finally, I adjust the chest a little. The goal is to get it so that the arms can swing in any direction, and the hollow end of the upper arm never sticks out of the shoulder area. And, frankly, she's a little thin. I adjust yfactor to thicken her up, and that also takes care of the protruding forearm. Now, the shoulder and elbow can move to any angle, and it looks natural. Now for the lower body. I proceed much as I did with the upper body. I load a pelvic region (which is called "belly" in the parts list) from file "midsection/fhips1.3ds", thighs from "limb/open6_s33.3ds", and limbs from "limb/open6_s50.3ds". Now, looking at the above, you'll notice two or three unusual things. First of all, the hips appear way too large. The reason for this is that the hips joints are set too far apart. To fix this, I select "character" in the tree widget (where there is list of body dimensions), and set the width of the hips to seven inches (that's about 18 cm for my metric friends). Of course, this is not the actual width of the hips, but the distance between the two hip sockets, which is surprisingly smaller. The size of the belly hip models is scaled to the hip width, so reducing the hip width correspondingly reduces the hips to reasonable size. Now, you might be asking, why do you have to select "character" to set body proportions, when you haven't done that to resize the 3D models? Well, there's a difference between resizing a model, and setting body proportions. When you resize a model, all you are resizing is the 3D graphical image. The distance between the joints stays the same. When you need to change the actual distance between joints, then you have to go to "character" to change it. The second odd thing you may have noticed is that the thighs and calves have two different colors. This is because the "open8_s33.3ds" file contains two materials. (The "s33" part of the filename indicates that the break is 33% of the way down.) These models have two materials exist so I can draw spandex on the thighs and socks on the calves. The third odd thing you probably didn't notice unless you're real sharp is that I loaded two open-ended limbs. Won't you see the open ends when she runs? Ordinarily, yes. Not in this case, however, because volleyball players wear kneepads. Therefore, I load the model "armor/kneepad.3ds" into the two calf parts. (Kneepads look more natural when attached to the calf than to the thigh.) Now I adjust all the sizes and positions until they look natural. The thighs need widening, the calves need thinning and tapering, the kneepads need rescaling. The hips need a lot of work; I've found hips to be the hardest part to get right. Having done that, I set the appropriate colors. She looks pretty good. Before getting to the extremities, I think I'll give her shirt a logo. I select the chest's material in the tree, and click the button next to the label "texture": it pops up a dialog box. I select a custom file "psu15.png". For now, the models have fixed texture coordinates, but it's not too hard to rotate them. Another minor cosmetic change before we move on to the head, hands, and feet is to add some shininess to the skin. To add shininess, I set the specular color to some value (specular color is normally a gray), and set the shininess parameter. I quite a bit of shininess into the legs and somewhat less in the arms. Unfinished. . . . Hands and head to come someday. Main problem is I haven't yet made any decent models of heads and hands. I have made the shoes. I may add an aside on creating models, and finish with using the model in a program. FeedbackComments, questions? My current address is leonardo3d-23@aerojockey.com. Copyright (c) 2001-2008 Carl Banks. All Rights Reserved. |