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}; } }