Mesh.triangles Manual     Reference     Scripting  
Scripting > Runtime Classes > Mesh
Mesh.triangles

var triangles : int[]

Description

An array containing all triangles in the mesh.

The array is a list of triangles that contains indices into the vertex array. The size of the triangle array must always be a multiple of 3. Vertices can be shared by simply indexing into the same vertex. If the mesh contains multiple sub meshes (materials) the triangle list will contain all triangles of all submeshes. When you assign triangle array, subMeshCount is set to 1. If you want to have multiple sub meshes, use subMeshCount and SetTriangles.

It is recommended to assign a the triangle array after assigning the vertex array in order to avoid out of bounds errors.

JavaScripts
// Builds a mesh containing a single triangle with uv's.

function Start () {
gameObject.AddComponent("MeshFilter");
gameObject.AddComponent("MeshRenderer");
var mesh : Mesh = GetComponent(MeshFilter).mesh;

mesh.Clear();
mesh.vertices = [Vector3(0,0,0), Vector3(0,1,0), Vector3(1, 1, 0)];
mesh.uv = [Vector2 (0, 0), Vector2 (0, 1), Vector2 (1, 1)];
mesh.triangles = [0, 1, 2];
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void Start() {
gameObject.AddComponent("MeshFilter");
gameObject.AddComponent("MeshRenderer");
Mesh mesh = GetComponent<MeshFilter>().mesh;
mesh.Clear();
mesh.vertices = new Vector3[] {new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0)};
mesh.uv = new Vector2[] {new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1)};
mesh.triangles = new int[] {0, 1, 2};
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def Start():
gameObject.AddComponent('MeshFilter')
gameObject.AddComponent('MeshRenderer')
mesh as Mesh = GetComponent[of MeshFilter]().mesh
mesh.Clear()
mesh.vertices = (Vector3(0, 0, 0), Vector3(0, 1, 0), Vector3(1, 1, 0))
mesh.uv = (Vector2(0, 0), Vector2(0, 1), Vector2(1, 1))
mesh.triangles = (0, 1, 2)