docs.unity3d.com
Version: 

    Decimate meshes based on quality criteria

    API function: algo.decimate

    Use this feature to efficiently reduce the polygon count of models while preserving visual quality as much as possible.

    Decimate to Quality

    The algorithm deletes vertices from meshes using the vertex removal technique. It uses a quality criteria to choose which vertices to delete to avoid artifacts that result from smoothing and irregularities in topology.

    In this example, the triangle count is reduced from 5 to 3 triangles: the vertex at the center of the polygon is deleted, and triangles are recalculated from the remaining vertices.

    Prerequisites

    We strongly recommend that you perform these operations before decimation, to ensure the efficiency of decimation:

    • Repair meshes, to avoid widening cracks or gaps in meshes. Read more.
    • Remove unnecessary texture coordinates. Read more.

    Parameters

    Decimation parameters are geometric tolerances. Use these parameters to find the optimal balance between the polygon count and visual quality according to your needs.

    The higher the tolerance values, the lower the polygon count but the lower the visual quality. To bypass a tolerance, set the parameter to -1 .

    Surface tolerance

    This parameter defines the maximum distance between vertices of the original model and those of the decimated surfaces.

    The unit is the unit of length of the meshes to process.

    Line tolerance

    This parameter defines the maximum distance between lineic vertices of the original model and the decimated lines. This tolerance is equivalent to the surface tolerance, but applied only to sharp edges, hard edges, and lines of interest.

    Use the line tolerance to preserve the boundaries of the original surface, where edges are sharp or hard.

    The unit is the unit of length of the meshes to process.

    This parameter proves particularly efficient with CAD models, because they contain many hard edges.

    LOD Tool

    Normal tolerance

    This parameter defines the maximum angle between the normal of each vertex and the interpolated normal of the decimated surface.

    Use this parameter to preserve the quality of the reaction of light on mesh surfaces.

    Use this parameter in combination with the surface tolerance to maintain polygons where the surface curvature is important and to preserve visual quality.

    Texture coordinates tolerance

    Use this parameter to avoid that texture coordinates be distorted during decimation.

    This example illustrates the distortion of texture coordinates on curved surfaces.

    You can specify 0.01 for most models.

    UV seams, such as sharp edges, may not be decimated enough, although they're affected by the line tolerance. In this case, delete texture coordinates before decimating meshes, to further reduce the polygon count in these areas.

    Example

    This example illustrates the decimation of a mesh with a wooden texture:

    Without texture coordinates tolerance With a tolerance of 0.001 mm

    Without any tolerance, texture coordinates move because of decimation. The wood grain is distorted.

    With a very small tolerance, for example 0.001 mm, texture coordinates are better preserved. The wood grain is less distorted.

    Version 2025.3.0.0
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your 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.
    Generated by DocFX.