public override MeshData Blockdata(Chunk chunk, int x, int y, int z, MeshData meshData) { this.chunk = chunk; meshData.useRenderDataForCol = true; if (chunk.GetBlock(x, y - 1, z).IsSolid(Direction.up)) { meshData = FaceDataDown(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.down)); } return meshData; }
public virtual MeshData Blockdata(Chunk chunk, int x, int y, int z, MeshData meshData) { this.chunk = chunk; meshData.useRenderDataForCol = true; if (!chunk.GetBlock(x, y + 1, z).IsSolid(Direction.down)) { meshData = FaceDataUp(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.down)); } if (!chunk.GetBlock(x, y - 1, z).IsSolid(Direction.up)) { meshData = FaceDataDown(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.up)); } if (!chunk.GetBlock(x, y, z + 1).IsSolid(Direction.south)) { meshData = FaceDataNorth(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.south)); } if (!chunk.GetBlock(x, y, z - 1).IsSolid(Direction.north)) { meshData = FaceDataSouth(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.north)); } if (!chunk.GetBlock(x + 1, y, z).IsSolid(Direction.west)) { meshData = FaceDataEast(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.west)); } if (!chunk.GetBlock(x - 1, y, z).IsSolid(Direction.east)) { meshData = FaceDataWest(chunk, x, y, z, meshData); meshData.uv.AddRange(FaceUVs(Direction.east)); } return meshData; }