public AddData ( |
||
verts | ||
uvs | ||
tris | int | |
norms | ||
tan | ||
subMesh | int | |
return | void |
public void AddData(Vector3[] verts, Vector2[] uvs, int[] tris, Vector3[] norms, Vector4[] tan, int subMesh)
{
if (MeshOverflow(verts.Length))
{
_overflow.AddData(verts, uvs, tris, norms, tan, subMesh);
return;
}
int indiceBase = vertices.Count;
vertices.AddRange(verts);
uv.AddRange(uvs);
tangents.AddRange(tan);
if (!subTriangles.ContainsKey(subMesh))
subTriangles.Add(subMesh, new List<int>());
int newTriCount = tris.Length;
for (int t = 0; t < newTriCount; t++)
{
int newTri = (indiceBase + tris[t]);
triangles.Add(newTri);
subTriangles[subMesh].Add(newTri);
}
}
/// <summary> /// Add new mesh data - all arrays are ordered together /// </summary> /// <param customName="verts">And array of verticies</param> /// <param customName="uvs">And array of uvs</param> /// <param customName="tris">And array of triangles</param> /// <param customName="subMesh">The submesh to add the data into</param> public void AddData(Vector3[] verts, Vector2[] uvs, int[] tris, Vector3[] norms, Vector4[] tan, int subMesh) { if (MeshOverflow(verts.Length)) { _overflow.AddData(verts, uvs, tris, norms, tan, subMesh); return; } int indiceBase = vertices.Count; vertices.AddRange(verts); uv.AddRange(uvs); tangents.AddRange(tan); if (!subTriangles.ContainsKey(subMesh)) { subTriangles.Add(subMesh, new List <int>()); } int newTriCount = tris.Length; for (int t = 0; t < newTriCount; t++) { int newTri = (indiceBase + tris[t]); triangles.Add(newTri); subTriangles[subMesh].Add(newTri); } }