Class MeshUtility | ProBuilder | 4.3.1
docs.unity3d.com
    Show / Hide Table of Contents

    Class MeshUtility

    Functions for generating mesh attributes and various other mesh utilities.

    Inheritance
    Object
    MeshUtility
    Namespace: UnityEngine.ProBuilder
    Syntax
    public static class MeshUtility

    Methods

    CollapseSharedVertices(Mesh, Vertex[])

    Merge coincident vertices where possible, optimizing the vertex count of a UnityEngine.Mesh.

    Declaration
    public static void CollapseSharedVertices(Mesh mesh, Vertex[] vertices = null)
    Parameters
    Type Name Description
    Mesh mesh

    The mesh to optimize.

    Vertex[] vertices

    If provided these values are used in place of extracting attributes from the Mesh.
    This is a performance optimization for when this array already exists. If not provided this array will be automatically generated for you.

    Compile(ProBuilderMesh, Mesh, MeshTopology)

    Compile a UnityEngine.Mesh from a ProBuilderMesh.

    Declaration
    public static void Compile(ProBuilderMesh probuilderMesh, Mesh targetMesh, MeshTopology preferredTopology = null)
    Parameters
    Type Name Description
    ProBuilderMesh probuilderMesh

    The mesh source.

    Mesh targetMesh

    Destination UnityEngine.Mesh.

    MeshTopology preferredTopology

    If specified, the function will try to create topology matching the reqested format (and falling back on triangles where necessary).

    CopyTo(Mesh, Mesh)

    Copy source mesh values to destination mesh.

    Declaration
    public static void CopyTo(Mesh source, Mesh destination)
    Parameters
    Type Name Description
    Mesh source

    The mesh from which to copy attributes.

    Mesh destination

    The destination mesh to copy attribute values to.

    Exceptions
    Type Condition
    ArgumentNullException

    Throws if source or destination is null.

    DeepCopy(Mesh)

    Performs a deep copy of a mesh and returns a new mesh object.

    Declaration
    public static Mesh DeepCopy(Mesh source)
    Parameters
    Type Name Description
    Mesh source

    The source mesh.

    Returns
    Type Description
    Mesh

    A new UnityEngine.Mesh object with the same values as source.

    GenerateTangent(Mesh)

    Generate tangents and apply them.

    Declaration
    public static void GenerateTangent(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh

    The UnityEngine.Mesh mesh target.

    GetIndexCount(Mesh)

    Get the number of indexes this mesh contains.

    Declaration
    public static uint GetIndexCount(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh

    The source mesh to sum submesh index counts from.

    Returns
    Type Description
    UInt32

    The count of all indexes contained within this meshes submeshes.

    GetPrimitiveCount(Mesh)

    Get the number of triangles or quads this mesh contains. Other mesh topologies are not considered.

    Declaration
    public static uint GetPrimitiveCount(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh

    The source mesh to sum submesh primitive counts from.

    Returns
    Type Description
    UInt32

    The count of all triangles or quads contained within this meshes submeshes.

    GetVertices(Mesh)

    Creates a new array of vertices with values from a UnityEngine.Mesh.

    Declaration
    public static Vertex[] GetVertices(this Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh

    The source mesh.

    Returns
    Type Description
    Vertex[]

    An array of vertices.

    Print(Mesh)

    Print a detailed string summary of the mesh attributes.

    Declaration
    public static string Print(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh
    Returns
    Type Description
    String
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • 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 on 18 October 2023