CompuServe Thread

Bones Rules Part 1

1 messages in this thread
#5178From: Tim Wilson [Crestline]Jan 25, 1995 2:03 PM
++++ I encourage your feedback and suggestions so we can iron out any confusion in these instructions. But I would suggest that you put them in another Bone thread because this one will probably be deleted from time to time to be corrected and expanded. These instructions are intended to augment, NOT replace, Impulse's intrustructions. Use them at your own risk. This is not a tutorial. Instead, I have tried to lump related topics together, as best I could. These instructions are very complicated, so you might want to familiarize yourself with the basics of modeling, states, and working with simple hierarchies, before you attempt to use Bones. Then you may want to start with something simple, like a leg or an arm, rather than jumping head first into making a Jurassic Park dinosaur and boning it. ++++ PART 1. MODELING AND BONING A FIGURE (Uploaded 1/25/95, 10:30 AM PST) X. Design Your Geometry and Bones to Work Together. You can't do either your modeling or your boning totally independantly of one another. You will have to go back and forth between the two, until you come up with an optimum design for the geometry, and figure out the appropriate layout of the bones. Drawings will help, especially to locate articulation points in the model, and will make the job of building the skeleton easier. X. Geometry should be built to accomadate interpolation around a joint. It's not necessary to use regular cross-sections at joints but this may help you when defining the Big Bone and Small Bone Subgroups. X. Design your geometry to look as good as possibly through the widest range of motion. X. If possible Bone the object with the limbs bent halfway through there normal range of motion. For example model your knee or elbow slighly bent rather than straight, and bone them that way. This way when you bend the joint it will look acceptable through a wider range of motion. X. If it's too difficult to bone the limbs with them partially bent, then design the geometry the way you think you can bone the figure most easily or logically. You may find it easier if the limbs are aligned at more logical angles. For example, if you model a hand with the fingers bent in a natural position you may find it very difficult to get the bones setup right. The fingers can be more easily boned if there are aligned at more regular angles to the world axes. Then once they are boned you can bend the fingers into a more relaxed shape. Realize however that by designing your geometry with the limbs set at regular angles you may sacrifice some of the aesthetics of the model. X. Put in enough points or cross-sections at the joints so when the limb is bent it won't start to look facted. The new smooth tesellation that may be coming in 3.2 should be helpful for this. X. Realize that polygon gemoetry is not infinity flexible, and that the range of movement in joints is going to be somewhat limited. Even though you may try to design your geometry for the widest possible range of motion as described above, when you move limbs into extremem posistions, it will be hard to avoid `crimping' because Imagine's bones routine just isn't as smart as Alias's. However, remember that your design does not have to be 100% perfect, because you can tweek the geometry is some poses and use a little morphing in combinatin with the bone deformation to get the bent joint to look better. X. Once you've got your basic modeling done, layout your bones in the positions where you want them, before you begin to define the Bones Subgroups. Bones are good not just for limb joints but also spinal, tail and neck articulations especially if these are modelled with cross sections. X. A BONE is simply a naked AXIS linked to your geometry. X. When possible, each Bone should have its Z axis pointed towrad the child below it in the hierarchy. This is more of a guideline than a rule. Obviously if you are branching out from a back bone into two arms, you can't have the parent back bone pointing towards the next articulation in the spine, AND the shoulder joints as well. X. Group Bones Serially. You must go down through the hierarchy progressively grouping each child object to its its parent. Every parent and child pair must be grouped indivually. Pick the parent object first such as the Elbow, then Pick the child object such as the Wrist, and execute the Group command. You cannot simply PICK ALL the bones and then GROUP them at once. Serial grouping establishes the hierarchy. You know the old song… the hip joint is connected to the knee jont, which is connected to the foot joint, which is connected to the ball of the foot. The shoulder joint is connected it to the elbow, which is connected to the wrist, etc. X. Once your skeleton is built, Group the skeleton to your gemoetry, by selectiing your GEOMETYR FIRST andthen the main axis (or Bone) in your skeleton, and then performing the GROUP command. This will make the Geometry the main parent of everything. The Geometry's axis is not used to manipulet any part of the figure. It is used to translate and rotate the WHOLE through space. So you might want to position sthe Geometry's axis strategically for that purpose, either near the feet or in the middle of the Pelvis or Center of Gravity. (You can also have a dummy axis grouped as parent to your geometry so you could have an axis on the ground connetected to your Geometry's axis in the middle of the pelvis. This can make some types of motion easier.) X. Assign a Big and Small Subgoup to each Bone. This may seem obvious but each bone MUST have subgroups defined otherwise the model will not work AT ALL. X. The Small Bone Subgroup represents the area of the limb's geometry that you want to rotate totally, when the joint is moved. (Just a note of clarification. What the term `Small Bone Subgroup' ACTUALLY means is the *small subgroup* for the bone, NOT, I REPEAT, NOT the *subgroup* for the small bone…. There are no *small* and *big* bones…… What you are defining is a *small subgroup* and a *big subgroup*, to GO WITH each particular bone.) X. The Big Bone Subgroup includes the area of the limb that you want to rotate totally, PLUS the area of geometry that will bend when the joint is moved. X. Just so you know, the Big Bone Subgroup MINUS the Small Bone Subgroup is the area where the geometry will bend, stretch or interpolate around the joint. Your bone should be roughly centered inside this area of interpolation. X. Knowing how large to make the bending area for a particular joint is something that comes through experimentation. A good rule of thumb is to make the bending area roughly as long as the object is wide. But this does not apply in all cases. X. Assigning Bones can be done in two different ways . In 3.0, you must MAKE the SUBGROUPS first in PICK FACE mode, then pick your bone and use the BONES SUBGRPS command in the STATES menu to assign them to the Bones. X. In 3.1, you can use `Quick Bones' to assign the Subgroups. Again you go into PICK FACE mode, outline your Subgroups and then in the FUNCTIONS menu select either the MAKE SMALL BONE SUBGRP, or MAKE BIG BONE SUBGRP command, and then simply click the mouse on the axis you want the subgroups assigned to. (DANGER WIL ROBINSON!!!!!!! Be careful in Version 3.1 if you use the new Quick Bones because the MK SML BONE SUBGRP and MK BIG BONE SUBGRP commands' names are reversed (at least in my copy they are). I rectified this by assigning GADGETS to both commands and simply reversing the names. Tthen they worked OK.) X. If you are using 3.0 name your Bones Subgroups logically when you create them, otherwise you won't remember which subgroup goes with which bone; And also so they are easy to sort out late, if you have to make changes. If you are using the Quick Bones in 3.1, the naming of Subgroups will be taken care of automatically, and will be derived the BONE'S name. So make sure to name your Bones logically as well. X. Check to see if your Bone subgroups are correctly assigned. Once you've made your assignments you can check to see if they're set up right by going into the STATES pull down menu and selecting BONES SUBGRP. See what names are shown for the BIG SUBGROUP and the SMALL SUBGROUP. Then hit BROWSE and locate the names and compare the number of faces for each. Obviously the BIG subgroup should have more faces than the SMALL subgroup. It doesn't make any diffrence what method you use to assign the bones. In the final analysis, the only thing that matters is what's show in the BONES SUBGROUP requestor. X. The CHECK OBJECT command will also tell you if there are any errors in the basic structure of the Bones. X. Lock your textures to the DEFAULT state. Please note that Locked Altitude Brushes do not work correctly with Boned objects in 3.0 – 3.11. X. You may find that the default state you created for boning is not suitable for applying Brushes (and Textures which have a regular pattern). For example you might want the limbs to be straight instead of bent so you can apply a cylindrical map to them. If this is the case, you can alter the DEFAULT state AFTER you've done all your Boning, and are satisfied with the way they work. Create a duplicate state of your original default state so you can come back to it if necessary; Call it something like NORMAL. Then straighten out the limbs and UPDATE the DEFAULT STATE. Now you should be able to apply your Brushes more easily and LOCK them to the surface. (PART 2 will be on CREATING POSES FOR MOVEMENT)