void Start() { F3_VoxelData data = new F3_VoxelData(); Face bottom = new Face( new Vector3[] { new Vector3(0,0,0), new Vector3(0,0,1), new Vector3(1,0,1), new Vector3(1,0,0), }, new int[] { 0,3,1, 1,3,2 }, new Vector2[] { new Vector2(0,0), new Vector2(0,1), new Vector2(1,0), new Vector2(1,1), }); Face right = new Face( new Vector3[] { new Vector3(1,0,0), new Vector3(1,1,0), new Vector3(1,1,1), new Vector3(1,0,0), }, new int[] { 0,1,3, 1,2,3 }, new Vector2[] { new Vector2(0,0), new Vector2(0,1), new Vector2(1,0), new Vector2(1,1), }); data.AddData(bottom.GetVoxelData()); data.AddData(right.GetVoxelData()); Mesh mesh = new Mesh(); mesh.vertices = data.GetVertices().ToArray(); mesh.triangles = data.GetTriangles().ToArray(); mesh.uv = data.GetUvs().ToArray(); mesh.RecalculateNormals(); mesh.RecalculateBounds(); mesh.Optimize(); GetComponent<MeshFilter>().mesh = mesh; GetComponent<MeshCollider>().sharedMesh = mesh; }
public void AddData(F3_VoxelData in_data) { AddData(in_data.GetVertices().ToArray(), in_data.GetTriangles().ToArray(), in_data.GetUvs().ToArray()); }