Documentation

​
​

Development

User Acquisition

Monetization

Industry

Asset Transformer Studio

2026.5.0

Supported
​

User Manual

Python API

Changelog

Asset Transformer Studio

2026.5.0

Supported
​

​
​
Get started
  • About Asset Transformer Studio
  • Getting started
  • Additional Resources
User Interface
  • Overview
  • Menu Bar
  • Toolbars
  • Window
  • Customizing the User Interface
Data Preparation Fundamentals
  • Overview
  • General Information
  • Typical Data Preparation Workflow
  • About 3D Models Types
  • About the Product Structure (Tree)
  • About Occurrences
  • About Instances & Prototypes
  • About Face and Vertex Normals
  • About UVs
  • About Tessellation
  • About Decimation
    • Decimate To Quality
    • Decimate To Target
  • About Animation
  • Glossary
Working With Asset Transformer Studio
  • Overview
  • Videos and Tutorials
  • Supported File Formats
  • Importing Files
  • Exporting Files
  • Scripting With the Python API
  • Interrupting a Process
  • Plugins
  • Errors in Asset Transformer Studio
Python API Reference
  • Overview
Changelog
  • Changelog
  1. Asset Transformer Studio
  2. Data Preparation Fundamentals
  3. About Decimation

Decimate To Quality

How to use the Decimate To Quality function in Asset Transformer Studio
Read time 4 minutes
Last updated 9 hours ago

The Decimate To Quality function is used to efficiently reduce a model's polycount, whilst preserving as much as possible its visual quality.
It works by smartly deleting vertices of the meshes (Vertex removal technique), using quality criteria to prevent smoothing artifacts and topological irregularities.
Vertex removal technique
The function is available from the Optimize Mesh menu.

Parameters

The algorithm uses a combination of 4 main parameters, which are geometrical tolerances to obtain the lightest model possible whilst keeping acceptable quality:

Parameter

Description

Surfacic toleranceDefines the maximum distance between vertices of the original model and resulting simplified surfaces.
Surfacic tolerance
Lineic toleranceDefines the maximum distance between lineic vertices of the original model and resulting simplified lines. The
Lineic tolerance
preserves the boundaries of the original surface (where the edges are "sharp", or "hard").
Lineic tolerance
Thanks to the Lineic control, the Decimate To Quality function is particularly adapted for CAD models, which generally contain a lot of hard edges!
Normal toleranceDefines the maximum angle existing between the original normals and those interpolated on the simplified surface. The
Normal tolerance
setting preserves the quality of how the light reacts on the surface of a mesh. Combined with the
Surfacic tolerance
setting, it will act as a quality controller, keeping polygons where the surface curvature is important.
Normal tolerance
Texture Coordinates tolerancePreserves the UV (or Texture Coordinates) whilst decimating a mesh (0.01 is a good value). The higher the value, the more aggressive the decimation. Use
-1
to bypass this tolerance.
UV tolerance
Note: UV seams (like sharp edges) remain "significant" edges for the algorithm and are affected by the Lineic tolerance. To allow further polygon reduction, delete UVs prior to decimating.

Presets

Preset

Description

Low (default)The meshes will not be much decimated. Good for removing some useless polygons left behind after a Remove Holes process for example.
MediumThe meshes will be more decimated. Visible consequences might start showing but the result will be acceptable for meshes not visible from a reasonable distance.
StrongThe meshes will be heavily decimated. They might show some artifacts: good to use for objects far from the camera.

Example

Let's see a practical example with the Buggy model below (3DXML model, courtesy of Dassault Systèmes), which contains 140,846 triangles:
Buggy model original
Buggy model wireframe
Note
Prior to performing a decimation, it's best to repair the model first. Set the parameter
Orient
to false if you are happy with the polygon face orientation.

Surfacic Tolerance

The surfacic tolerance is the maximum distance between the original model and the simplified one.
The higher the tolerance, the lower the quality, but the higher the polygon reduction.
Decimation with surfacic tolerance = 0.1 mm: the polycount is reduced to 66,636 but the quality is quite good:
Surfacic 0.1mm
Surfacic 0.1mm wireframe
Decimation with surfacic tolerance = 1 mm: the polygon count is now reduced to 7,155 but the quality is poor, and causes a lot of lighting problems:
Surfacic 1mm
Surfacic 1mm wireframe
To obtain a very low polycount without destroying visual quality, the algorithm can control normal distortion during the decimation process.

Normal Distortion Tolerance

The normal distortion tolerance is the maximum angle between a normal at each vertex of the original model and its corresponding normal on the simplified one.
Decimation with surfacic tolerance = 1 mm and normal distortion tolerance = 5 degrees: the polycount is reduced to 9,525 with an almost imperceptible quality loss:
Surfacic + Normal
Surfacic + Normal wireframe
Finally, the high surfacic tolerance (1mm) produces a significant aliasing visible on sharp edges:
Sharp edges aliasing
Sharp edges aliasing wireframe

Lineic Tolerance

This tolerance is equivalent to the surfacic tolerance but it is applied only on sharp edges (or hard edges) or on lines of interest.
Decimation with surfacic tolerance = 1 mm, normal distortion tolerance = 5 degrees and lineic tolerance = 0.1 mm: the polycount is reduced to 13,126 with an almost imperceptible quality loss, even on sharp edges. The quality is better than using only a surfacic tolerance of 0.1 mm with a triangle count widely inferior (13,126 against 66,636):
All three tolerances
All three wireframe

Summary

The best way to decimate a model using the Decimate To Quality function is to combine the 3 main parameters to obtain the lightest model while keeping an acceptable quality.

Parameters combination

Quality

Triangles

Reduction %

Surfacic 1mm-7,15594
Surfacic 0.1mm+66,63652
Surfacic 1mm + Normal 5°++9,52593
Surfacic 1mm + Normal 5° + Lineic 0.1mm+++13,12690
Original Mesh++++140,8460

About the Texture coordinates tolerance

As explained above, this parameter prevents the UVs from being too distorted at decimation.
Decimation without texture coordinates tolerance: the wooden textures move because the underlying UVs get distorted:
UV distortion
Decimation with texture coordinates tolerance = 0.001: the wooden texture moves far less because the underlying UVs are preserved:
UV preserved

API function parameters

Check the API Reference to learn how to use this function in Python code.

Related topics

  • About Tessellation
  • Decimate To Target
  • About 3D Models Types

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.

  • On this page
    • Parameters

    • Presets

    • Example

      • Surfacic Tolerance

      • Normal Distortion Tolerance

      • Lineic Tolerance

      • Summary

      • About the Texture coordinates tolerance

    • API function parameters

    • Related topics