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

    Class Face

    A face is composed of a set of triangles, and a material.
    Triangle indexes may point to the same vertex index as long as the vertices are unique to the face. Ie, every vertex that a face references should only be used by that face's indices. To associate vertices that share common attributes (usually position), use the @"UnityEngine.ProBuilder.ProBuilderMesh.sharedIndexes" property.
    ProBuilder automatically manages condensing common vertices in the EditorMeshUtility.Optimize function.

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

    Constructors

    Face()

    Default constructor creates a face with an empty triangles array.

    Declaration
    public Face()

    Face(IEnumerable<Int32>)

    Initialize a Face with a set of triangles and default values.

    Declaration
    public Face(IEnumerable<int> indices)
    Parameters
    Type Name Description
    IEnumerable<Int32> indices

    The new triangles array.

    Face(Face)

    Deep copy constructor.

    Declaration
    public Face(Face other)
    Parameters
    Type Name Description
    Face other

    The Face from which to copy properties.

    Properties

    distinctIndexes

    Declaration
    public ReadOnlyCollection<int> distinctIndexes { get; }
    Property Value
    Type Description
    ReadOnlyCollection<Int32>

    A collection of the vertex indexes that the indexes array references, made distinct.

    edges

    Declaration
    public ReadOnlyCollection<Edge> edges { get; }
    Property Value
    Type Description
    ReadOnlyCollection<Edge>

    Get the perimeter edges that commpose this face.

    indexes

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

    The triangle indexes that make up this face.

    Item[Int32]

    Accesses the indexes array.

    Declaration
    public int this[int i] { get; }
    Parameters
    Type Name Description
    Int32 i
    Property Value
    Type Description
    Int32

    manualUV

    Declaration
    public bool manualUV { get; set; }
    Property Value
    Type Description
    Boolean

    If this face has had it's UV coordinates done by hand, don't update them with the auto unwrap crowd.

    material

    Declaration
    [Obsolete("Face.material is deprecated. Please use submeshIndex instead.")]
    public Material material { get; set; }
    Property Value
    Type Description
    Material

    Get the material that face uses.

    smoothingGroup

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

    What smoothing group this face belongs to, if any. This is used to calculate vertex normals.

    submeshIndex

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

    textureGroup

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

    What texture group this face belongs to. Used when projecting auto UVs.

    uv

    Declaration
    public AutoUnwrapSettings uv { get; set; }
    Property Value
    Type Description
    AutoUnwrapSettings

    A reference to the Auto UV mapping parameters.

    Methods

    Contains(Int32, Int32, Int32)

    Test if a triangle is contained within the triangles array of this face.

    Declaration
    public bool Contains(int a, int b, int c)
    Parameters
    Type Name Description
    Int32 a
    Int32 b
    Int32 c
    Returns
    Type Description
    Boolean

    CopyFrom(Face)

    Copies values from other to this face.

    Declaration
    public void CopyFrom(Face other)
    Parameters
    Type Name Description
    Face other

    The Face from which to copy properties.

    IsQuad()

    Is this face representable as quad?

    Declaration
    public bool IsQuad()
    Returns
    Type Description
    Boolean

    Reverse()

    Reverse the order of the triangle array. This has the effect of reversing the direction that this face renders.

    Declaration
    public void Reverse()

    SetIndexes(IEnumerable<Int32>)

    Set the triangles that compose this face.

    Declaration
    public void SetIndexes(IEnumerable<int> indices)
    Parameters
    Type Name Description
    IEnumerable<Int32> indices

    The new triangle array.

    ShiftIndexes(Int32)

    Add offset to each value in the indexes array.

    Declaration
    public void ShiftIndexes(int offset)
    Parameters
    Type Name Description
    Int32 offset

    The value to add to each index.

    ShiftIndexesToZero()

    Finds the smallest value in the indexes array, then offsets by subtracting that value from each index.

    Declaration
    public void ShiftIndexesToZero()
    Examples
    // sets the indexes array to `{0, 1, 2}`.
    new Face(3,4,5).ShiftIndexesToZero();
    

    ToQuad()

    Convert a 2 triangle face to a quad representation.

    Declaration
    public int[] ToQuad()
    Returns
    Type Description
    Int32[]

    A quad (4 indexes), or null if indexes are not able to be represented as a quad.

    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