Tutorial Home / Optimise and Test (General Guidelines)

Importing and Optimising 3D Models

These notes are intended as general guidelines for optimising Synthetic Environments. The specific process of optimisation varies considerably depending on your preference of 3D modelling tools or CAD data source.

Reduce the polygon count
Use either the in-built polygon reduction tools of your favourite 3D application, or use a utility like Lodestar, Raindrop Geomagic Decimate or Rational Reducer. (3D Studio MAX has a modifier called Optimise and Rhino allows you to preview and adjust the number of polygons before exporting NURBS surfaces to VRML).

Reduce detail
Especially in curved surfaces. If even a basic structure has 10 cylindrical columns, each with 24 sides, a top and a bottom that equates to roughly 1000 polygons just for these few columns! For example, if the columns extend from floor to ceiling then the top and bottom caps could be removed altogether, reducing the polygon count by half.

Build only what will be seen
For example, if an external view only is required structures such as floors, inner wall linings and room subdivisions can be left out. If the interior is required it should ideally be exported as a separate model (in this way we can switch between interior and exterior based on the location of the user). Think of the "Old West" movie sets where building facades only are used. The same principle applies in the creation of Synthetic Environments.

Modularity
Export as separate objects, although some objects can and should be grouped together by like material and/or similar geometry. This simplifies the further dissection of the VRML model and the application of textures and materials.

Modification After Export (in Cosmo Worlds)

Scale
The entire model needs to be scaled relative to the user (avatar) to allow accurate navigation. Many CAD and architectural packages export in millimetres whereas VRML uses metres so models may need to scaled down by a factor of 1000!

Position
The model should be placed at the world centre for easy import into a larger scene.

Polygon Reduction (see also Rational Reducer)
Delete unnecessary detail. Exchange complex geometry (meshes) for VRML primitive objects. Use the Crease Angle slider to give the illusion of a smooth shaded surface rather than faceted look.

Filesize Reduction
Exchange complex geometry for VRML Primitives (cones, spheres, cylinders, boxes and text). Examine the model for similar complex geometry and create Clones where applicable. Clones share the same geometry and material characteristics but can be scaled and moved independently (eg. clone the wheels of a car, the columns and balustrades of a building etc).

Optimisation
Create Levels of Detail (LODs) to improve performance eg. Columns can change to rectangular boxes at a distance. Divide the model into smaller localised groups of objects (however this may increase the overall polygon count). A good balance between polygon count and efficient scene optimisation is required. Also turning collision detection off or creating Collision Proxies for complex geometry will accelerate real-time rendering.

Materials and Texturing (see also About Textures)
Add small textures to selected areas for realism. Avoid the temptation to texture everything! Use a combination of textures, materials, lighting (and colour-per-vertex if available in your authoring application).

Other Hints to Optimise Your Virtual Worlds

Restructure the scene graph

return to Tutorial Home