Beispiel #1
0
 void MakeCube(float cubeScale, Vector3 cubePos, int x, int z, VoxelMeshDataRW data)
 {
     for (int i = 0; i < 6; i++)
     {
         if (data.GetNeighbor(x, z, (Direction)i) == 0)
         {
             MakeFace((Direction)i, cubeScale, cubePos);
         }
     }
 }
Beispiel #2
0
    void GenerateVoxelMesh(VoxelMeshDataRW data)
    {
        vertices  = new List <Vector3>();
        triangles = new List <int>();

        for (int z = 0; z < data.Depth; z++)
        {
            for (int x = 0; x < data.Width; x++)
            {
                if (data.GetCell(x, z) == 0)
                {
                    continue;
                }

                MakeCube(adjScale, new Vector3(x * scale, 0, z * scale), x, z, data);
            }
        }
    }