Ejemplo n.º 1
0
 public void PasteTriangles()
 {
     for (int i = 0; i < triangles.Count; i++)
     {
         int         triangleIndex         = triangles[i];
         int         triangleMaterialIndex = i / 3;
         PasteVertex pasteVertex           = PasteVertexOfTriangleIndex(triangleIndex);
         mesh.triangles.AddTriangleVertexIndex(pasteVertex.indexInMesh, pasteVertex.instance, triangleMaterials[triangleMaterialIndex]);
     }
     mesh.triangles.trianglesChanged = true;
 }
Ejemplo n.º 2
0
        public void WallCopyPasteEdges(List <Edge> copyExteriorEdges, Copy copy)
        {
            for (int i = 0; i < copyExteriorEdges.Count; i++)
            {
                Edge        edge         = copyExteriorEdges[i];
                CopyVertex  copyVertexA  = copy.CopyVertexOfVertex(edge.a);
                CopyVertex  copyVertexB  = copy.CopyVertexOfVertex(edge.b);
                PasteVertex pasteVertexA = copy.PasteVertexOfCopyVertex(copyVertexA);
                PasteVertex pasteVertexB = copy.PasteVertexOfCopyVertex(copyVertexB);

                Vertex a = mesh.vertices.vertices[copyVertexA.indexFromMesh];
                Vertex b = mesh.vertices.vertices[pasteVertexA.indexInMesh];
                Vertex c = mesh.vertices.vertices[pasteVertexB.indexInMesh];
                Vertex d = mesh.vertices.vertices[copyVertexB.indexFromMesh];

                mesh.triangles.AddQuadByVertices(d.instance, c.instance, b.instance, a.instance, edge.materialIndex);
            }
        }
Ejemplo n.º 3
0
        public void PasteVertices(bool noOffset = false)
        {
            foreach (CopyVertex copyVertex in vertices)
            {
                PasteVertex pasteVertex = new PasteVertex();
                pasteVertex.copyVertex = copyVertex;

                Vector3 pastePosition = copyVertex.position;
                if (!noOffset)
                {
                    pastePosition = pastePosition + mesh.transform.rotation * new Vector3(0, 0, 0.01f);
                }

                GameObject vertexInstance = mesh.vertices.CreateVertexInstanceByLocalPosition(pastePosition);
                int        indexInMesh    = mesh.vertices.AddVertexWithInstance(pastePosition, vertexInstance, false);

                pasteVertex.instance    = vertexInstance;
                pasteVertex.indexInMesh = indexInMesh;
                pasteVertices.Add(pasteVertex);
            }
            //meshController.verticesManager.BuildVertices();
        }