Contents page

Index

V. Hierarchies and Complex objects


-------------------------------------------------------------------------
                    V. Hierarchies and Complex objects
-------------------------------------------------------------------------

With complex models, sometimes you don't want to make one huge, mungo object to represent the entire model. You might want to make a forest object that has 20 trees in it, and it seems silly to carve the whole thing out of one block. Or, you might be building an object that is logically a bunch of separate parts, like a clock with a face, a pendulum, two hands, and a frame.

Another important ability you might want is to be able to give different parts of a complex object different attributes, or colors. Imagine lets you color and define the look of your objects in different ways, and you can even tell it to make different parts of the same object look different. But when you're building something like a window, the glass panes are considerably different than the wood frames; it is easier to define each as a separate object then somehow group them together.

There is a function that lets you do exactly this- group objects together. When you have a model that you want to make (and keep!) in separate sections, Imagine allows you to establish a group of objects which will stay together. It allows you to treat the group as an entire ensemble (if you want to move everything, or apply a command to the whole set), or you can pick out one particular object and deal with it independently.

Grouping is very easy to do. If you want to group two objects together, you click on one object, then press the shift key and click on the other. Remember that this is just the method of picking more than one object at once. When you have multi-picked the objects, you select "group" from the Object menu. A purple line will appear joining the axes of the objects. The first object that was selected becomes the "parent" of the group. If you group more than two objects, the purple "group" lines all run from each "child" object to the parent object. This lets you see which axis to click on to pick the entire group. Sometimes it is nice to assign a lone axis as the parent of a group, especially when no part of a group really doesn't lend itself to being a parent.

Splitting a group back into it's component parts is also easy; just pick the group by clicking on the parent. The entire group will become picked, and selecting "Ungroup" from the Object menu will split the group. The purple joining lines will disappear, and each child will be independent again.

Once a group is made, it can be treated almost identically to an ungrouped object. You can pick it (by clicking on the parent) and the entire group will become highlighted. You can then move, scale, or rotate the entire group as a whole. If you click on a CHILD object, the child will be picked, but not the group. You can then move, scale, or rotate it independently of the group, assign it individual attributes, or perform a command on it independently of the rest of the group. Even when you move the child object around, it will STAY grouped; you must use "ungroup" to ungroup objects. There are modes where you can pick parents separate from their children; this is described in the next section.

In addition, you can make groups of groups. Or groups of groups of groups. This is done exactly the same as before; you can pick one group, multi-pick a second, and group them. Having these multi-layer groups is sometimes very useful. One excellent example would be in modeling a human figure. You might make a finger group that contains all of the knuckles, a hand group including a palm, four finger groups, and a thumb group, an arm group consisting of a hand group, a wrist, a forearm, and an elbow, and a body group consisting of a head group, a torso, two leg groups, and two arm groups. This kind of nested grouping is called a "hierarchy", where the body is the great-granddaddy of a knuckle. One great advantage is obvious when you want to move an arm. You pick the arm, and rotate it around the shoulder. All of the arm's children follow it, so the arm moves as a whole. You do NOT have to move 15 knuckles, a palm, a wrist, a forearm, and so on. If you want to adjust a finger, you can manipulate it and the knuckles will move together, but the arm will be unaffected. If you move the main parent body group, everything follows along as if the body were just one solid object, as opposed to dozens of parts. Hierarchies are obviously suited for complex models.

Groups are useful when you have sub-parts of an object you want to keep together. Sometimes grouping simple objects is still useful even if there is no hierarchy to follow, since the individual objects are free to move apart from the parent, and can easily be assigned different attributes.

For example, if you're designing a human face, you might cause the eyeballs in the head to be an additional grouped object as opposed to just molded into the main face. Later, if you wanted to change the eye (make it a different color, or replace it with a different type of eye (chrome eyeballs! Cool!)) you can easily select the eye and change or replace it. This advantage compounds the other advantages of grouping; you can later animate the eyes looking in different directions, and you can easily change the attributes or texture of the eye while leaving the face undisturbed.

                         -> Return to Alphabet <-

Back to Ian Smith's HomePage