33 lines
784 B
C#
33 lines
784 B
C#
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
||
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
public class ProceduralMeshData {
|
||
|
|
public Vector3[] Vertices;
|
||
|
|
public Vector3[] Normals;
|
||
|
|
public Vector4[] Tangents;
|
||
|
|
public List<int[]> Indices = new List<int[]>();
|
||
|
|
public List<List<Vector4>> Uvs = new List<List<Vector4>>();
|
||
|
|
|
||
|
|
public void ApplyToMesh(Mesh m)
|
||
|
|
{
|
||
|
|
m.Clear();
|
||
|
|
m.subMeshCount = Indices.Count;
|
||
|
|
|
||
|
|
m.vertices = Vertices;
|
||
|
|
|
||
|
|
for (int i = 0; i < Indices.Count; ++i)
|
||
|
|
{
|
||
|
|
m.SetIndices(Indices[i], MeshTopology.Triangles, i);
|
||
|
|
}
|
||
|
|
|
||
|
|
m.normals = Normals;
|
||
|
|
m.tangents = Tangents;
|
||
|
|
|
||
|
|
for (int i = 0; i < Uvs.Count; ++i){
|
||
|
|
m.SetUVs(i, Uvs[i]);
|
||
|
|
}
|
||
|
|
m.UploadMeshData(false);
|
||
|
|
}
|
||
|
|
}
|