ZModeler2 Lesson#1: Objects Browser and hierarchy.

Objects Browser.

Select File\New in main menu to clear the scene. A message box will apper, prompting to save the file: select "No" there. Once scene cleared, press Box primitive button in toolbar and create small box in lower-left corner of front view. Then create a taller box above this box. Finally, create a third wide box above or near the tall box. Something like below image should in result. You have created three boxes. Now take a look at objects bowser (by default it's in lower-right corner). There are three lines entitled "Box" (these are your three boxes: the top one is the first box you've created and the one in the bottom is the last one you've created. There are small check-marks near each label - these are visible/invisible indicator. you can click on this checkmark to show/hide according object. Two buttons in the bottom entitled "Show All" (will place checks near all lables) and "Hide All" (will remove checks near all labels). These buttons, as you guess, make all objects visible and invisible accordingly.

We shall now rename objects. To rename an object click on the label to select it (on the image the first lable already selected) and click once again (or hit Enter button) - you will have an input box where you can rename object. Rename them to "Box1", "Box2" and "Box3" accordingly.


Hierarchy is a set of parent-child relations between objects. If you create, for example, a car, then driver's door object is a child for the car's body or chassis object; door's glass and side mirror are children for door object. Each object can have several children objects, but it can have only one parent object. If no parent available, then object considered to be a "root" and listed in objects browser just like our three "Box1"..."Box3" labels.

Objects browser allows you to edit hierarchy of objects with an ease of "Drag&Drop" operation. Click and drag "Box2" label over "Box1" label; then drop it and expand a Plus sign next to "Box1" label. "Box2" is now a child of "Box1".
Second important hierarchy operation, which is also performed in objects browser is a sorting of objects. In some cases you need objects not just be a child of it's parent, but to be in a proper order with other children nodes. Order of nodes affects order of rendering (in most cases both in ZModeler and in game your will export to), so setting proper order of objects might help you to avoid some transparency problems. Sorting of objects performed with a so-called "Drag&Insert" operation. Drag a "Box3" label between "Box1" and "Box2" in commands bar and a "divider" line will appear, showing that insertion will occure when you release (drop) a label. What you should admit here is when insertion "divider" is drawen, there is one item highlighted (either above it or below divider) - this highlighted item shows the "level" at wich insertion will occure. On the left image this is a "level" of "Box2" - this means that that inserted item will have the same parent as "Box2" and item will be inserted before "Box2" object (exactly what has occured when you release the button and drop "Box3" label). If "Box1" would be highlighted during this "Drag&Sort" operation, "Box3" will be inserted on the level of "Box1" and after it (below) - In our case no changes would occure - Box3 was on the same level as Box1 and was after it. You can practice with dragging and sorting to get used how this works. Finally, drag "Box3" over "Box2" to make it a child of "Box2". This is the final hierarchy you should achieve:

No visual changes have occured in scene, and to understand more clearly of what has actually change, select Modify\Rotate tool and make sure to check "affect children" option in it, uncheck "Base to pivot" and try to rotate first (bottom-left) box. You will notice that it's rotated with it's children:

And then try to rotate "Box2" with the same options. Notice that "Box3" rotates with "Box2" and "Box1" remains unchanged - all these rotations are with respect to parent-child relations you have defined earlier.