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

    Class Submesh

    A set of indexes and material.

    Inheritance
    Object
    Submesh
    Namespace: UnityEngine.ProBuilder
    Syntax
    [Serializable]
    public sealed class Submesh

    Constructors

    Submesh(Mesh, Int32)

    Create new Submesh from a mesh, submesh index, and material.

    Declaration
    public Submesh(Mesh mesh, int subMeshIndex)
    Parameters
    Type Name Description
    Mesh mesh

    The source mesh.

    Int32 subMeshIndex

    Which submesh to read from.

    Submesh(Int32, MeshTopology, IEnumerable<Int32>)

    Create new Submesh.

    Declaration
    public Submesh(int submeshIndex, MeshTopology topology, IEnumerable<int> indexes)
    Parameters
    Type Name Description
    Int32 submeshIndex

    The index of this submesh corresponding to the MeshRenderer.sharedMaterials property.

    MeshTopology topology

    What topology is this submesh. ProBuilder only recognizes Triangles and Quads.

    IEnumerable<Int32> indexes

    The triangles or quads.

    Properties

    indexes

    Declaration
    public IEnumerable<int> indexes { get; set; }
    Property Value
    Type Description
    IEnumerable<Int32>

    Indexes making up this submesh. Can be triangles or quads, check with topology.

    submeshIndex

    Declaration
    public int submeshIndex { get; set; }
    Property Value
    Type Description
    Int32

    The index in the sharedMaterials array that this submesh aligns with.

    topology

    Declaration
    public MeshTopology topology { get; set; }
    Property Value
    Type Description
    MeshTopology

    What is the topology (triangles, quads) of this submesh?

    Methods

    GetSubmeshes(IEnumerable<Face>, Int32, MeshTopology)

    Create submeshes from a set of faces. Currently only Quads and Triangles are supported.

    Declaration
    public static Submesh[] GetSubmeshes(IEnumerable<Face> faces, int submeshCount, MeshTopology preferredTopology = null)
    Parameters
    Type Name Description
    IEnumerable<Face> faces

    The faces to be included in the resulting submeshes. This method handles groups submeshes by comparing the material property of each face.

    Int32 submeshCount

    How many submeshes to create. Usually you will just want to pass the length of the MeshRenderer.sharedMaterials array.

    MeshTopology preferredTopology

    Should the resulting submeshes be in quads or triangles. Note that quads are not guaranteed; ie, some faces may not be able to be represented in quad format and will fall back on triangles.

    Returns
    Type Description
    Submesh[]

    An array of Submeshes.

    Exceptions
    Type Condition
    NotImplementedException

    Thrown in the event that a MeshTopology other than Quads or Triangles is passed.

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    String
    Overrides
    Object.ToString()
    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