Taming Boundaries

Balancer accurately preserves and optimizes all types of boundaries defined by the model attributes. However, absent or excessive boundaries may dramatically deteriorate the visual appearance and optimization quality of the resulting 3D models. Thus, before optimizing your model, it is important to inspect its boundaries and repair it if necessary.

Balancer recognizes the following five types of boundaries:

  • Surface boundaries Surface boundaries
  • Texture coordinates boundaries Texture coordinates (UV) boundaries
  • Normal boundaries Normal boundaries
  • Smoothing groups boundaries Smoothing groups boundaries
  • Material or layer boundaries Material or layer boundaries

Inspecting Boundaries

To view your model boundaries

  • press All Boundaries toolbar button or
  • use the menu and select View | Boundaries | All Boundaries.

The following example demonstrates how Balancer visualizes boundaries.

Surface boundaries Normal boundaries Texture coordinates boundaries
Surface boundaries Surface boundaries Normal boundaries Normal boundaries Texture coordinates boundaries UV boundaries

Optimizing Boundaries

Balancer accurately preserves and optimizes all the boundaries for all the meshes in the LOD hierarchy.

The lower row of the following example is a simplified model with 81 triangles (21%) of the 384 original triangles.

Original with 384 triangles | All boundaries and edges Original with 384 triangles | Only shading Original with 384 triangles | Textured
Original with 384 triangles. All boundaries and edges are on. Original. Only shading. Original. Textured.
81 triangles | All boundaries and edges 81 triangles | Only shading 81 triangles | Textured
Simplified model with 81 triangles. Simplified model with 81 triangles. Only shading. Simplified model with 81 triangles. Textured.

Joining normals

Some applications export 3D models without optimizing the model attributes. The values of the model normals may be duplicated, or otherwise inaccurately defined. Balancer allows to solve this problem by joining the normals of adjacent triangles if the angle between them is less than a specified threshold degree. Join your model normals if viewing the normal boundaries reveals unnecessary or irrational normal boundaries.

To join normals

  • use the menu and select Tools | Join Normals.

To modify the threshold value

  • use the menu and modify the required threshold in Tools | Preferences | Joining.

The following example demonstrates how Balancer joins normals for various threshold values.

Original Normals joined (threshold 0 degrees) Normals joined (threshold 25 degrees)
Original After joining normals (threshold 0 degrees) After joining normals (threshold 25 degrees)

Joining texture coordinates

Similarly to the normals, the model UVs can be inaccurately defined. Balancer allows to join UVs that are closer than a specified threshold value. Join your model UVs if viewing the UVs boundaries reveals unnecessary or irrational UV boundaries.

To join UVs

  • use the menu and select Tools | Join Texture Coordinates.

To modify the threshold value

  • use the menu and modify the required threshold in Tools | Preferences | Joining.

Joining vertices

Depending on the authoring application the vertices of 3D models can be duplicated, or even cannot necessary coincide when they should share their positions between different layers or material submeshes. To accurately preserve and at the same time optimize boundaries between mesh layers or material submeshes, vertices with the same positions must be joined.

Balancer allows to join vertices that are closer than a specified threshold value. Join your model vertices if the model has surface boundaries between its layers or material submeshes.

Joining vertices typically turns surfaces boundaries into normal, UV or material boundaries, which is normal. However, the resulting unnecessary normal or UV boundaries can be eliminated by joining normals or UVs respectively.

The following example demonstrates that joining vertices can dramatically affect the model optimization.

Original Zoom in Simplified model with 26 triangles
Original with 256 triangles. Note the surface boundary between the two materials. Zoom in reveals a tiny gap between the materials. Simplified model with 26 triangles. Surface boundaries no longer visually coincide.
Original after joining vertices Zoom in Simplified model with 26 triangles
Original after joining vertices. The surface boundary turns into material boundary. Zoom in shows that the gap is closed. Simplified model with 26 triangles. Material boundaries are preserved and optimized.