docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class VertexHelper

    A utility class that can aid in the generation of meshes for the UI.

    Inheritance
    object
    VertexHelper
    Implements
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.UI
    Assembly: UnityEngine.UI.dll
    Syntax
    public class VertexHelper : IDisposable
    Remarks

    This class implements IDisposable to aid with memory management.

    Examples
    using UnityEngine;
    using UnityEngine.UI;
    
    public class ExampleClass : MonoBehaviour
    {
        Mesh m;
    
        void Start()
        {
            Color32 color32 = Color.red;
            using (var vh = new VertexHelper())
            {
                vh.AddVert(new Vector3(0, 0), color32, new Vector2(0f, 0f));
                vh.AddVert(new Vector3(0, 100), color32, new Vector2(0f, 1f));
                vh.AddVert(new Vector3(100, 100), color32, new Vector2(1f, 1f));
                vh.AddVert(new Vector3(100, 0), color32, new Vector2(1f, 0f));
    
                vh.AddTriangle(0, 1, 2);
                vh.AddTriangle(2, 3, 0);
                vh.FillMesh(m);
            }
        }
    }

    Constructors

    VertexHelper()

    Declaration
    public VertexHelper()

    VertexHelper(Mesh)

    Declaration
    public VertexHelper(Mesh m)
    Parameters
    Type Name Description
    Mesh m

    Properties

    currentIndexCount

    Get the number of indices set on the VertexHelper.

    Declaration
    public int currentIndexCount { get; }
    Property Value
    Type Description
    int

    currentVertCount

    Current number of vertices in the buffer.

    Declaration
    public int currentVertCount { get; }
    Property Value
    Type Description
    int

    Methods

    AddTriangle(int, int, int)

    Add a triangle to the buffer.

    Declaration
    public void AddTriangle(int idx0, int idx1, int idx2)
    Parameters
    Type Name Description
    int idx0

    index 0

    int idx1

    index 1

    int idx2

    index 2

    AddUIVertexQuad(UIVertex[])

    Add a quad to the stream.

    Declaration
    public void AddUIVertexQuad(UIVertex[] verts)
    Parameters
    Type Name Description
    UIVertex[] verts

    4 Vertices representing the quad.

    AddUIVertexStream(List<UIVertex>, List<int>)

    Add a stream of custom UIVertex and corresponding indices.

    Declaration
    public void AddUIVertexStream(List<UIVertex> verts, List<int> indices)
    Parameters
    Type Name Description
    List<UIVertex> verts

    The custom stream of verts to add to the helpers internal data.

    List<int> indices

    The custom stream of indices to add to the helpers internal data.

    AddUIVertexTriangleStream(List<UIVertex>)

    Add a list of triangles to the stream.

    Declaration
    public void AddUIVertexTriangleStream(List<UIVertex> verts)
    Parameters
    Type Name Description
    List<UIVertex> verts

    Vertices to add. Length should be divisible by 3.

    AddVert(UIVertex)

    Add a single vertex to the stream.

    Declaration
    public void AddVert(UIVertex v)
    Parameters
    Type Name Description
    UIVertex v

    The vertex to add

    AddVert(Vector3, Color32, Vector4)

    Add a single vertex to the stream.

    Declaration
    public void AddVert(Vector3 position, Color32 color, Vector4 uv0)
    Parameters
    Type Name Description
    Vector3 position

    Position of the vert

    Color32 color

    Color of the vert

    Vector4 uv0

    UV of the vert

    AddVert(Vector3, Color32, Vector4, Vector4, Vector3, Vector4)

    Add a single vertex to the stream.

    Declaration
    public void AddVert(Vector3 position, Color32 color, Vector4 uv0, Vector4 uv1, Vector3 normal, Vector4 tangent)
    Parameters
    Type Name Description
    Vector3 position

    Position of the vert

    Color32 color

    Color of the vert

    Vector4 uv0

    UV of the vert

    Vector4 uv1

    UV1 of the vert

    Vector3 normal

    Normal of the vert.

    Vector4 tangent

    Tangent of the vert

    AddVert(Vector3, Color32, Vector4, Vector4, Vector4, Vector4, Vector3, Vector4)

    Add a single vertex to the stream.

    Declaration
    public void AddVert(Vector3 position, Color32 color, Vector4 uv0, Vector4 uv1, Vector4 uv2, Vector4 uv3, Vector3 normal, Vector4 tangent)
    Parameters
    Type Name Description
    Vector3 position

    Position of the vert

    Color32 color

    Color of the vert

    Vector4 uv0

    UV of the vert

    Vector4 uv1

    UV1 of the vert

    Vector4 uv2

    UV2 of the vert

    Vector4 uv3

    UV3 of the vert

    Vector3 normal

    Normal of the vert.

    Vector4 tangent

    Tangent of the vert

    Clear()

    Clear all vertices from the stream.

    Declaration
    public void Clear()

    Dispose()

    Cleanup allocated memory.

    Declaration
    public void Dispose()

    FillMesh(Mesh)

    Fill the given mesh with the stream data.

    Declaration
    public void FillMesh(Mesh mesh)
    Parameters
    Type Name Description
    Mesh mesh

    GetUIVertexStream(List<UIVertex>)

    Create a stream of UI vertex (in triangles) from the stream.

    Declaration
    public void GetUIVertexStream(List<UIVertex> stream)
    Parameters
    Type Name Description
    List<UIVertex> stream

    PopulateUIVertex(ref UIVertex, int)

    Fill a UIVertex with data from index i of the stream.

    Declaration
    public void PopulateUIVertex(ref UIVertex vertex, int i)
    Parameters
    Type Name Description
    UIVertex vertex

    Vertex to populate

    int i

    Index to populate.

    SetUIVertex(UIVertex, int)

    Set a UIVertex at the given index.

    Declaration
    public void SetUIVertex(UIVertex vertex, int i)
    Parameters
    Type Name Description
    UIVertex vertex

    The vertex to fill

    int i

    the position in the current list to fill.

    Implements

    IDisposable
    In This Article
    Back to top
    Copyright © 2024 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)