Quazar3D: Master Tutorial

3D Modeling workflow for Quazar3D  »  Introduction and general information

Introduction and general information



1. File naming

It is best to avoid any special signs when naming files, for the better part this type of work is done in programs that use English language and they don't necessarily support custom signs and letters. Use only lowercase letters and instead of a space use underscore "_". The same rules apply to naming textures.

Diffuse map: object_name_diff.tga (eg. wall_detail_diff.tga)
Specular map: object_name _spec.tga (eg. wall_detail_spec.tga)
Normal map: object_name.nrm.tga (eg. wall_detail_nrm.tga)

Following suffixes: _diff, _spec, _nrm are recommended, they help to connect maps to proper materials. If there is a need to store a file with ambient occlusion use _ao suffix. Similarly when rendering a template of a uv map use _wire suffix. Other types of map should be named in the same manner: object_name + suffix at the end.

To summarize: use short, compact names, suffixes at all files (short, _ao instead of ambient_occlusion) and underscores ("_") instead of spaces.


It is recommended to make sure that names don't have spaces at the end, they will be invisible but the software will still take them into consideration and that might become a problem.

Avoid repetition when naming files and materials, use unique names. It matters a lot when a scene in Quazar3D is built from several different FBX files. It will become easier to eliminate repeating names such as "object001', "plane003" etc. The presence of many objects with the same names but with different parameters and materials may cause problems. It is particularly important to avoid such situation when many people are working on the same project and their work is merged in one scene in Quazar3D.

Use a tool called "rename objects" for fast and elegant object naming in 3ds Max (Tools -> Rename objects).

2. Scene preparation

Scene scale, units.

Prior to modelling check the units system in which 3ds Max works (Customize -> Unit Setup). Change Display Unit Scale to meters and in System Unit Setup change the unit to meters. Skipping the second step will result in rescaling object's proportions in Quazar3D after import by 2.53.

In the first window only displayed units are set, units set here are ignored by Quazar3D, they concern only to the manner in which the program communicates. The second window of System Unit Setup shows on which units 3ds Max operates.


To make work easier in Quazar3D make sure to maintain the same units and coordinates in space when working in 3d Studio. It is very important because it simplifies updating and changing single objects in Quazar3D. Example: a scene is created in 3d Studio, it shows a furnished room. The scene is imported to Quazar3D and it is determined that we want to change the geometry of one of wardrobes. The new wardrobe is created in 3d Studio in the same place where the old one was. Only one object needs to be imported and it will show in a proper place in Quazar3D. No need to move it to a proper place or import the entire scene, which would destroy any changes done to e.g. materials in Quazar3D.

3. Structure

There are several tools used for preview, for example HardwareLighting, Xoliul shader or 3point shader, this is acceptable until files are uploaded to a server. Too many shaders and render types make life difficult when a new person wants to join in on a project, or someone has to reconnect 60 materials in a scene from ArchiCAD design to a standard material because only this material passes through the exporter.
To maintain an organized folder structure in Quazar3D it is best to remember that every new file imported creates a new folder and subfolders for meshes and textures. That is why it is wise to limit the number of imported fbx files or manually remove unused folders if the scene was updated with new files countless times.


1. TheoryWhen updating textures or objects changes are not visible, save and restart the project.

Tricount not Polycount. The engine calculates in triangles, an object can have 8000 triangles and 1000 polygons, only the first matter. Try to have as little triangles as possible.

Geometry. Use triangles and quads, make sure to have logical smooth groups (at least automatic, to avoid excessively sharp edges), avoid parallel planes placed closely together (problems with z-buffer, resulting in flickering). One rule applies here, the neater the geometry the more comfortable work (excluding turbosmooth, Boolean and others).

Mapping. Every object with a surface in Quazar3D (that is not a bone or a supporting object) needs to be mapped, it can be a simple box mapping. Graphical engines, Quazar3D included, calculate lighting by mapping and lack of this can result in strange light dispersal on a simple surface. Basic mapping should be done on the first channel. The second channel can be used for ambient occlusion map or a light map, which can be created directly in Quazar3D.

Note! UVW Map is something completely different than UVW Unwrap. By default use the second one and in the window UVW Edit check all UV Face ("3", then "ctrl+a"), press Mapping -> Normal Mapping and set Box Mapping. Such solution is extreme as every object should have a properly prepared UV map.


2. Exporting objects

Scale of objects. It is very important to reset the scale of all objects.


A simple reset of scale from tools in 3ds Max is enough. The downside is that this operation does not work on groups and in a limited manner on hierarchies. While selecting an object with a wrong scale go to Hierarchy in Command Panel and press reset scale in a dropdown menu Adjust Transform.


To reset grouped objects ungroup them, reset scale and then group them together again. In special cases when the object is incorrectly displayed reset its Xform. To do this enter Utilities tab and press reset Xform.
Note: Xform reset in 3ds Max cannot be undone, so use it carefully. Do not export instances of objects, as they are not supported by Quazar3D.


3. Types of objects

Export files to FBX format. Use built in FBX importer in 3ds Max, in the most current supported version (at this time: 2012.0).

Supported objects in a FBX exporter in 3ds Max:
Editable Poly
Editable Mesh
Dummy (node)
Groups (groups seen as an empty node with linked objects)

While exporting static meshes it is recommended to use an editable mesh. If the exporter encounters an object of a different class it will try to convert it automatically to an editable poly. Effects of such process may be different depending on a type of object. From a teapot object it will make a mesh, from a spline it will try to make vertexes connected with edges. If a spline has "show" turned on in viewport it will be converted to an editable poly.


Description of option and their state (on/off):

Smoothing Groups: on, exports smooth groups of the model.
Split per-vertex Normals: on, if only hard edges are requires (motionbuilder etc. is of no interest).
Tangents n Binormals: on, creates tangents and binormals from UV date and normal geometries.
Turbosmooth: on, preserves original mesh plus information of TS modificator.
Preserve Instances: depending on a scene, saves information on instances of a given object in an fbx file.
Selection Sets: on, not supported save of mesh subselection.
Convert Deforming Dummies to bones: on, changes all objects (including geometry) used as bones in 3ds Max into standard bones.
Triangulate: on, mesh triangulation, this is better done by the exporter than the engine.

Surfaces, also known as Material ID. If the object is attached and has one texture, select all its walls and set Material ID to 1.
Object hierarchy. When exporting more complicated static scenes it is best to remember about proper linking of objects, using common sense and logic. If the scene consists of a floor, a table on a floor and 4 cups and a teapot on the table link everything in such manner that moving elements will consume the smallest amount of time.

4. Export of materials

Scanline is set to use standard materials from the material editor because only such materials pass through the exporter. Try not to use multimaterials which can generate dozens of copies in Quazar3D material libraries. Best solution here, is to use one object = one material, it allows for the maximum efficiency and work comfort. Precise material settings should be done in Quazar3D because materials may appear different in 3ds Max than in Quazar3D.

5. Export of textures

Supported formats of textures: .tga .psd .bmp .png .jpg.It is advised to use .tga or optionally .png for export and final textures should be in a .dds format.

Do not use .jpg, .gif, .jpg200, .apng, .tiff ctc. files due to the compression loss and uncommon method of saving color channels. In case of textures without alpha channel use 8 bit for a color channel (RGB by 8 bits, gives 24 bit color format), without compression and saving layers. Such requirements are best met by TGA and BMP files and also PSD (alpha will not be visible while using PSD format).

To transfer the alpha channel along with diffuse use a 32 bit TGA file, or a PNG file with checked "interlaced" while saving. For the texture with alpha to become visible in Quazar3D make sure to check option "alpha test'. It is not recommended to use 32bit TGA and PNG files without an alpha channel for the purpose of reducing their size. Remember that all textures should have resolution that is a power of two, for example: 128x128 256x256 2048x2048 or 256x512 1024x2048 etc. Textures with resolutions like 800x600, 200x500, and 1235x437 should never appear.


1. Theory

Remember about restrictions of fbx and smesh files:

  • one vertex may share its weights between 4 bones in total.
  • maximal amounts of bones per one vertex/surface is 64, assuming bones do not have null wages. Upon exceeding this number, remaining bones will be attributed null wage.
  • precision of wages in Quazar3D regardless of 3ds Max is 0.004. This comes from quantization of the value saved in CHAR type in which the wage is saved for a given vertex, that results with a range of 0-255 (8bit value), so 1/255 = 0.004.
  • types of wage falloffs may pass through the exporter with less precision than in 3ds Max.
  • imported smesh created from a bone animation in a fbx file will always have a [1 1 1] scale, even if its bones / skinned objects had a different scale. This does not mean that one can stop minding the scale of objects.


2. Export

Animation to Quazar3D can be exported in couple of ways:

Without skin (Spline): the simplest manner, make an animation of the object (keys pos/rot/scale) and then while importing the object to Quazar3D it automatically receives an animated spline as a parent which animates it. Pivot is located in a proper place. Each element of the hierarchy is a separate object/spline.

With a skin: during import of such animation the pivot is where the bone "parent" is placed, additionally the entire hierarchy becomes one object.

Objects without animations. Make sure that they do not have rotation. Sometimes a copied object can appear in a wrong location (especially when it is skinned later on). It is best to reset Xform and collapse the object.

It sometimes happens that static objects connect themselves to an animation (spline). It is best to connect them to a support object.

Example of animation export without skin (spline)

Animation on spline is used to make simple animations, just transformation. After import to Quazar3D the hierarchy looks like this:


Quazar3D creates its own hierarchy of animated objects. To avoid possible complications while exporting large amounts of animated objects, connect supporting objects in 3ds Max. It is important that no animation is connected to a parent object.


(Objects with red frame are animated).



Two animated objects at the top of the hierarchy will link with each other while importing to Quazar3D (neighboring objects). Link them to something that is not animated (e.g. Helpers).



Avoid placing hierarchy like shown in illustration above, where placing objects Gear01, Gear02 and Gear03 will not work properly because they are placed on the same level. Gear01 and Pin01 will work properly because they are equivalent, so they should be linked to a support object which is not animated.



If there is a need to make an animation of objects linked with each other, remember that every object is animated separately. If one object has an animation from 30-50 and the second one from 60-120 then animation will not be synchronized. Each object in the hierarchy needs to have the first and the last key in the same place. In this case at 30 and 120 in both objects.


To properly implement a skin deformation to Quazar3D use a system of supporting objects (helpers):


Create an object with a skin (before skinning add and collapse Xform), helpers (geometry or anything else) and a parent (parent is not skinned).

Select helpers and a parent, enter Bone Tools, set Bone On and deselect Freeze Length and Auto-Align.


Link helpers -> parent.

In case of problems turn off inherit for helpers in Link Info and set in parent Bone Tools: Stretch from Scale to None.

Everything connected to the parent bone becomes one object which has the parent's pivot of every bone and its name:


There may be many elements connected to one parent or separate parents, both ways work. When the parent animates it has a pivot of the first exported frame. The length of animations doesn't have to match, Quazar3D will load it as one object and run the animation from the first to the last key. There is also a possibility of exporting a skin from 3ds Max 2010 by the use of a plugin, it gives the possibility of separate mesh and animation export and selection of a pivot, additional animation can be divided into several .sanim files.


Remember to reset Xform after each change to objects. In the exporter set Convert Deforming Dummies to Bones.

Working importer settings: