Ejemplo n.º 1
0
 public static void MirrorZ(Vertex[] vertices, ProceduralObject obj)
 {
     for (int i = 0; i < vertices.Length; i++)
     {
         vertices[i].Position.z = -vertices[i].Position.z;
     }
     obj.flipFaces = !obj.flipFaces;
     VertexUtils.flipFaces(obj);
     if (obj.normalsRecalcMode == NormalsRecalculation.None && !obj.IsPloppableAsphalt())
     {
         obj.normalsRecalcMode = NormalsRecalculation.Default;
     }
     obj.RecalculateNormals();
 }
Ejemplo n.º 2
0
 public static void flipFaces(ProceduralObject obj)
 {
     for (int m = 0; m < obj.m_mesh.subMeshCount; m++)
     {
         int[] triangles = obj.m_mesh.GetTriangles(m);
         for (int i = 0; i < triangles.Length; i += 3)
         {
             int temp = triangles[i];
             triangles[i]     = triangles[i + 1];
             triangles[i + 1] = temp;
         }
         obj.m_mesh.SetTriangles(triangles, m);
     }
     obj.RecalculateNormals();
 }