Beispiel #1
0
 public ColliderGenerator(Transform parent, Array3UshortOpt data, Settings settings)
 {
     Data              = data;
     this.Settings     = settings;
     tesselationFactor = 1;
     transform         = parent;
 }
Beispiel #2
0
        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));
        }