Legacy Documentation: Version 5.4
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Mesh.triangles

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public var triangles: int[];
public int[] triangles;

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 a triangle array, the subMeshCount is set to 1. If you want to have multiple sub-Meshes, use subMeshCount and SetTriangles.

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

#pragma strict
// Builds a Mesh containing a single triangle with uvs.
// Create arrays of vertices, uvs and triangles, and copy them into the mesh.
public class meshTriangles extends MonoBehaviour {
	// Use this for initialization
	function Start() {
		gameObject.AddComponent.<MeshFilter>();
		gameObject.AddComponent.<MeshRenderer>();
		var mesh: Mesh = GetComponent.<MeshFilter>().mesh;
		mesh.Clear();
		// make changes to the Mesh by creating arrays which contain the new values
		mesh.vertices = [new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0)];
		mesh.uv = [new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1)];
		mesh.triangles = [0, 1, 2];
	}
}
// Builds a Mesh containing a single triangle with uvs.
// Create arrays of vertices, uvs and triangles, and copy them into the mesh.

using UnityEngine;

public class meshTriangles : MonoBehaviour {

// Use this for initialization void Start () { gameObject.AddComponent<MeshFilter>(); gameObject.AddComponent<MeshRenderer>(); Mesh mesh = GetComponent<MeshFilter>().mesh;

mesh.Clear(); // make changes to the Mesh by creating arrays which contain the new values 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}; } }