private void addVertix(VoxelProduct.Product main, Vector3 p, Color c, Vector3 normal) { VoxelDrawData.Vertice v = new VoxelDrawData.Vertice(); v.position = p; v.normal = normal; v.color = c; main.draw.vertices.Add(v); }
private void addVertix(Vector3 p, Color c, Vector3 normal) { VoxelDrawData.Vertice v = new VoxelDrawData.Vertice(); v.position = p; v.normal = normal; v.color = c; v.uv1 = Vector2.zero; v.uv2 = Vector2.zero; product_.draw.vertices.Add(v); // Debug.Log (product_.draw.vertices[0]); }
public Vertex(VoxelDrawData.Vertice v, int input_id) { id = input_id; position = v.position; color = v.color; normal = v.normal; neighbor_vertices = new List <Vertex>(); adjacent_faces = new List <Triangle>(); cost = int.MaxValue; collapse = null; is_continuous_polygon = true; can_move = true; }
public static Dictionary <Vector3, Dictionary <Color, Dictionary <Vector3, Point> > > Draw2Mesh(VoxelDrawData draw) { Dictionary <Vector3, Dictionary <Color, Dictionary <Vector3, Point> > > mesh = new Dictionary <Vector3, Dictionary <Color, Dictionary <Vector3, Point> > >(); // = new Dictionary<Vector3, Point>(); List <VoxelDrawData.Vertice> vex = draw.vertices; for (int i = 0; i < vex.Count; ++i) { VoxelDrawData.Vertice v = vex[i]; if (!mesh.ContainsKey(v.normal)) { mesh [v.normal] = new Dictionary <Color, Dictionary <Vector3, Point> > (); } if (!mesh [v.normal].ContainsKey(v.color)) { mesh [v.normal] [v.color] = new Dictionary <Vector3, Point> (); } Point point = new Point(); point.vertice = v; mesh [v.normal] [v.color][v.position] = point; } List <int> trx = draw.triangles; for (int i = 0; i < trx.Count; i += 3) { VoxelDrawData.Vertice a = vex [trx [i]]; VoxelDrawData.Vertice b = vex [trx [i + 1]]; VoxelDrawData.Vertice c = vex [trx [i + 2]]; Dictionary <Vector3, Point> m = mesh [a.normal] [a.color]; Point A = m [a.position]; Point B = m [b.position]; Point C = m [c.position]; A.link.Add(B); A.link.Add(C); B.link.Add(A); B.link.Add(C); C.link.Add(A); C.link.Add(B); } return(mesh); }
public Pack(int i, VoxelDrawData.Vertice v) { index = i; vertice = v; }