docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class DracoEncoder

    Provides Draco encoding capabilities.

    Inheritance
    object
    DracoEncoder
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Draco.Encode
    Assembly: Draco.Encode.dll
    Syntax
    public static class DracoEncoder

    Methods

    EncodeMesh(Mesh)

    Applies Draco compression to a given mesh and returns the encoded result (one per sub-mesh)

    Declaration
    public static Task<EncodeResult[]> EncodeMesh(Mesh unityMesh)
    Parameters
    Type Name Description
    Mesh unityMesh

    Input mesh

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    EncodeMesh(Mesh, QuantizationSettings, SpeedSettings)

    Applies Draco compression to a given mesh and returns the encoded result (one per sub-mesh)

    Declaration
    public static Task<EncodeResult[]> EncodeMesh(Mesh unityMesh, QuantizationSettings quantization, SpeedSettings speed)
    Parameters
    Type Name Description
    Mesh unityMesh

    Input mesh

    QuantizationSettings quantization

    Quantization settings

    SpeedSettings speed

    Encode/decode speed settings

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    EncodeMesh(Mesh, int, int, int, int, int, int, int)

    Applies Draco compression to a given mesh and returns the encoded result (one per sub-mesh) The quantization parameters help to find a balance between encoded size and quality / precision.

    Declaration
    [Obsolete("Use EncodeMesh(Mesh,QuantizationSettings,SpeedSettings) instead")]
    public static Task<EncodeResult[]> EncodeMesh(Mesh unityMesh, int encodingSpeed = 0, int decodingSpeed = 4, int positionQuantization = 14, int normalQuantization = 10, int texCoordQuantization = 12, int colorQuantization = 8, int genericQuantization = 12)
    Parameters
    Type Name Description
    Mesh unityMesh

    Input mesh

    int encodingSpeed

    Encoding speed level. 0 means slow and small. 10 is fastest.

    int decodingSpeed

    Decoding speed level. 0 means slow and small. 10 is fastest.

    int positionQuantization

    Vertex position quantization

    int normalQuantization

    Normal quantization

    int texCoordQuantization

    Texture coordinate quantization

    int colorQuantization

    Color quantization

    int genericQuantization

    Generic quantization (e.g. blend weights and indices). unused at the moment

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    See Also
    EncodeMesh(Mesh, QuantizationSettings, SpeedSettings)

    EncodeMesh(Mesh, MeshData)

    Applies Draco compression to a given mesh/meshData and returns the encoded result (one per sub-mesh). The user is responsible for acquiring the readable MeshData and disposing it.

    Declaration
    public static Task<EncodeResult[]> EncodeMesh(Mesh mesh, Mesh.MeshData meshData)
    Parameters
    Type Name Description
    Mesh mesh

    Input mesh

    Mesh.MeshData meshData

    Previously acquired readable mesh data

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    EncodeMesh(Mesh, MeshData, QuantizationSettings, SpeedSettings)

    Applies Draco compression to a given mesh/meshData and returns the encoded result (one per sub-mesh). The user is responsible for acquiring the readable MeshData and disposing it.

    Declaration
    public static Task<EncodeResult[]> EncodeMesh(Mesh mesh, Mesh.MeshData meshData, QuantizationSettings quantization, SpeedSettings speed)
    Parameters
    Type Name Description
    Mesh mesh

    Input mesh

    Mesh.MeshData meshData

    Previously acquired readable mesh data

    QuantizationSettings quantization

    Quantization settings

    SpeedSettings speed

    Encode/decode speed settings

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    EncodeMesh(Mesh, MeshData, int, int, int, int, int, int, int)

    Applies Draco compression to a given mesh/meshData and returns the encoded result (one per sub-mesh) The user is responsible for acquiring the readable MeshData and disposing it. The quantization parameters help to find a balance between encoded size and quality / precision.

    Declaration
    [Obsolete("Use EncodeMesh(Mesh,Mesh.MeshData,QuantizationSettings,SpeedSettings) instead")]
    public static Task<EncodeResult[]> EncodeMesh(Mesh mesh, Mesh.MeshData meshData, int encodingSpeed = 0, int decodingSpeed = 4, int positionQuantization = 14, int normalQuantization = 10, int texCoordQuantization = 12, int colorQuantization = 8, int genericQuantization = 12)
    Parameters
    Type Name Description
    Mesh mesh

    Input mesh

    Mesh.MeshData meshData

    Previously acquired readable mesh data

    int encodingSpeed

    Encoding speed level. 0 means slow and small. 10 is fastest.

    int decodingSpeed

    Decoding speed level. 0 means slow and small. 10 is fastest.

    int positionQuantization

    Vertex position quantization

    int normalQuantization

    Normal quantization

    int texCoordQuantization

    Texture coordinate quantization

    int colorQuantization

    Color quantization

    int genericQuantization

    Generic quantization (e.g. blend weights and indices). unused at the moment

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    See Also
    EncodeMesh(Mesh, MeshData, QuantizationSettings, SpeedSettings)

    EncodeMesh(Mesh, MeshData, Vector3, float, int, int, int, int, int, int)

    Applies Draco compression to a given mesh/meshData and returns the encoded result (one per sub-mesh) The user is responsible for acquiring the readable MeshData and disposing it. The quality and quantization parameters are calculated from the mesh's bounds, its worldScale and desired precision. The quantization parameters help to find a balance between compressed size and quality / precision.

    Declaration
    [Obsolete("Use EncodeMesh(Mesh,Mesh.MeshData,QuantizationSettings,SpeedSettings) instead")]
    public static Task<EncodeResult[]> EncodeMesh(Mesh mesh, Mesh.MeshData meshData, Vector3 worldScale, float precision = 0.001, int encodingSpeed = 0, int decodingSpeed = 4, int normalQuantization = 10, int texCoordQuantization = 12, int colorQuantization = 8, int genericQuantization = 12)
    Parameters
    Type Name Description
    Mesh mesh

    Input mesh

    Mesh.MeshData meshData

    Previously acquired readable mesh data

    Vector3 worldScale

    Local-to-world scale this mesh is present in the scene

    float precision

    Desired minimum precision in world units

    int encodingSpeed

    Encoding speed level. 0 means slow and small. 10 is fastest.

    int decodingSpeed

    Decoding speed level. 0 means slow and small. 10 is fastest.

    int normalQuantization

    Normal quantization

    int texCoordQuantization

    Texture coordinate quantization

    int colorQuantization

    Color quantization

    int genericQuantization

    Generic quantization (e.g. blend weights and indices). unused at the moment

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    See Also
    EncodeMesh(Mesh, MeshData, QuantizationSettings, SpeedSettings)
    FromWorldSize(Bounds, Vector3, float)

    EncodeMesh(Mesh, Vector3, float, int, int, int, int, int, int)

    Applies Draco compression to a given mesh and returns the encoded result (one per sub-mesh) The quality and quantization parameters are calculated from the mesh's bounds, its worldScale and desired precision. The quantization parameters help to find a balance between compressed size and quality / precision.

    Declaration
    [Obsolete("Use EncodeMesh(Mesh,QuantizationSettings,SpeedSettings) instead")]
    public static Task<EncodeResult[]> EncodeMesh(Mesh unityMesh, Vector3 worldScale, float precision = 0.001, int encodingSpeed = 0, int decodingSpeed = 4, int normalQuantization = 10, int texCoordQuantization = 12, int colorQuantization = 8, int genericQuantization = 12)
    Parameters
    Type Name Description
    Mesh unityMesh

    Input mesh

    Vector3 worldScale

    Local-to-world scale this mesh is present in the scene

    float precision

    Desired minimum precision in world units

    int encodingSpeed

    Encoding speed level. 0 means slow and small. 10 is fastest.

    int decodingSpeed

    Decoding speed level. 0 means slow and small. 10 is fastest.

    int normalQuantization

    Normal quantization

    int texCoordQuantization

    Texture coordinate quantization

    int colorQuantization

    Color quantization

    int genericQuantization

    Generic quantization (e.g. blend weights and indices). unused at the moment

    Returns
    Type Description
    Task<EncodeResult[]>

    Encoded data (one per sub-mesh)

    See Also
    EncodeMesh(Mesh, QuantizationSettings, SpeedSettings)
    FromWorldSize(Bounds, Vector3, float)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)