ZModeler2 Lesson #3: User selection, Parts separation, Dummy helpers.

User selection.

While modelling, and mostly when modelling is done, you might face to a problem of a way too complex mesh. In certain cases you might need to select certain areas constantly (to hide them or to change material or properties). There could be a case when you would like zmodeler to "remember" such a selections to allow quickly select "car's front", "windows", "hood" etc. This can be done with User Selection floater.

Open Files/les2_04.z3d file. This is complete BMW mesh. Pick in main menu View\Floaters\User Selection - it will show you "User Selection" floater:

Switch BMW to polygons level and select front bumper polygons (Select\Separated can do it fine). Then type "front bumper" in Name: field and press Add button. "front bumper" label will appear in the list. Press Hide button - selected polygons will hide. If you have missed certain polygons while selecting (you will see them now - they remain visible), select them too and press Add to selection. This button will add selected polygons to currently selected item in the list ("front bumper"). Hit "Hide" button again. Repeat the same until all front bumper polygons are hidden this way. Then press Show and then Select button. This will show and select according polygons. Make sure selected mode is On and switch to vertices level (according vertices will be selected). Press "Add to selection" button again.

From this moment on you have a user-defined selection named "front bumper": it remembers polygons and vertices for you. You can show/hide it on either polygons or vertices level; you can select/deselect it's elements (polygons or vertices).

Make the same with "rear bumper" and with any other parts you like. I've made the following parts:

From this moment on, I can easily select, show and hide these parts on vertices and polygons level. What so special about this, if it could be done by detaching these parts into separate objects (with Modify\Submesh\Detach tool)? The benefits are the following:

With "user selection" parts separation you don't need to phisically split object onto pieces. Moreover, parts you define can overlap in any manner. For example, you can select rear half of the mesh (half of the har) and make a "Rear" group out of this selection - you can hide half of the car now. At the same moment, you can unhide "rear bumper".

"User selection" parts separation is widely used during "area-mapping" approach in UV-Mapping. The areas you split can be stored in "user selection" in case you will need to fine-tune their mapping again.

The main disadvantage of storing user selection this way - is that it depends on the mesh. If you delete some vertices or polygons, it can easily mess your stored selection groups (mess selection, not the mesh itself). User selection saves order numbers of vertices and polygons, so even a little mesh operation (welding a pair of vertices) can cause selection to be messed.

Parts Separation.

Parts separation is what you should be very familiar with. Simply put, don't model everything into one object! One of the worst things to happen is to be afraid to have too many objects in your Z-Modeler file and ending up with a car's exterior, interior, suspension, trim, windows, and driver all modeled into a single part. The most common and really annoying mistake is to model interior in the same object as exterior of the car, even worse, placing polygons over existen exterior vertices. Even if you are limited (by game restrictions) to have less or even few parts, you should split to parts for more convenient modelling workflow. This makes simple to edit only what is need to be edited at every moment. However, the parts are not separated at random. For example, the bumpers are usually a separate part, just as they would be on a regular car. The spoiler is also separated, as are the headlights, windows, and the interior. However, you can go too far with this. Separating everything will only make you have hundreds of objects.

With the mesh separated to different parts, you can adjust hierarchy of parts (e.g. you can place side mirrors and side glasses to be children of according side doors). When set properly, you can easily hide "branches" of hierarchy in objects browser.

Another benefit of parts separation is in sharing parts among files. You can load parts from a file into current scene via File/Merge command and you can load only parts you need.

Dummy helpers.

Dummy helper of simply a dummy is a generic object used for special game-specific needs. In most of cases, dummies are unneeded while modelling, but they are a case for proper exporting. Dummy object is usually a mounting point for special effects (like headlight and taillight effects, smoke emitters etc.) and can be created as the final touch. Another quite common case for dummies usage is a "grouping" of objects in hierarchy. This is what you can use while modelling.

Assume you have several objects separated from the mesh. You can create a dummy helper named "front stuff" and make to be a parent for all these objects. From this moment on, you can hide dummy helper and it will hide it's children too. Thus you can easily manipulate visibility of dozen of unrelated objects.

Creating and editing dummies.

To create dummy object, click on drop-down arrow in Geometry toolbar and pick Dummy Helper item there. Then click this button and dummy helper object will be created in (0,0,0) point. By default, it's drawn as small solid blue box. You can move, rotate and scale this object to place it properly. Dummy objects have local axes too, so you should pay attention to local axes if they affect the game. For example, if this dummy is an emitter (smoke emitter), it "throws" smoke in direction of one of the axes. Read filter-specific docs in such a case.

Dummy properties.

Dummy node can be one of two types: either box or a sphere and it can be shaded either solid or in wire-frame. To change these settings, right-click on a dummy object and pick "Properties" in context menu. Dummy nodes have specific settings, they are on the left image. The most recently used settings are "Shape", "Color" and "Solid". You can change them in Dummy node(s) branch of Selection properties box. Scale properties can be either hand-written in according boxes, or achieved by scaling dummy objects with Modify\Scale tool. Finally, Stored values dialog box property is available. When "stored values" are selected, a dialog box appears where user-defined properties can be set for the dummy. These are supported but not used by any filter at the moment.

Converting to dummy.

Well, it's not a secret that ZModeler is used by most of you as "covertion" tool only. While converting from one format to another, according changes should be made, and setting up dummies is one of them. In certain cases you might have a complete scene with all objects set properly, but dummy nodes are wrong. They are wrong, because they are not actually dummies, but a generic mesh objects (boxes or "diamonds"). This can lead to incorrect exporting. To change such an object into dummy, right-click on it and pick Convert To\Dummy in context menu.