public ColliderGenerator(Transform parent, Array3UshortOpt data, Settings settings) { Data = data; this.Settings = settings; tesselationFactor = 1; transform = parent; }
public Tuple <Array3UshortOpt[, , ], Vector3Int> SplitModelInChunkLModel(ushort factor) { int sizeChunk = 4 << factor; var nbChunkModel = chunkModelNb((uint)sizeChunk); var chunkModels = new Array3UshortOpt[nbChunkModel.x, nbChunkModel.y, nbChunkModel.z]; var checkCreated = new bool[nbChunkModel.x, nbChunkModel.y, nbChunkModel.z]; for (int x = 0; x < XSize; x++) { for (int y = 0; y < YSize; y++) { for (int z = 0; z < ZSize; z++) { if (!checkCreated[x / sizeChunk, y / sizeChunk, z / sizeChunk]) { chunkModels[x / sizeChunk, y / sizeChunk, z / sizeChunk] = new Array3UshortOpt(factor); checkCreated[x / sizeChunk, y / sizeChunk, z / sizeChunk] = true; } chunkModels[x / sizeChunk, y / sizeChunk, z / sizeChunk][(uint)(x % sizeChunk), (uint)(y % sizeChunk), (uint)(z % sizeChunk)] = this[x, y, z]; } } } return(new Tuple <Array3UshortOpt[, , ], Vector3Int>(chunkModels, nbChunkModel)); }