private VoxelGrid CreateChunk(int x, int y)
        {
            VoxelGrid grid = Instantiate(voxelGridPrefab) as VoxelGrid;

            grid.Initialize(gridResolution, chunkSize);
            grid.transform.parent        = transform;
            grid.transform.localPosition = new Vector3(
                x * chunkSize - halfSize,
                y * chunkSize - halfSize);
            return(grid);
        }
Example #2
0
        private void CreateChunk(int i, int x, int y)
        {
            VoxelGrid chunk    = Instantiate(voxelGridPrefab) as VoxelGrid;
            var       chunkPos = new Vector2Int(x, y);

            chunk.Initialize(this, voxelResolution, chunkResolution, chunkPos, chunkSize * transform.lossyScale.x, maxFeatureAngle);
            chunk.transform.parent        = transform;
            chunk.transform.localPosition =
                new Vector3(x * chunkSize - halfSize, y * chunkSize - halfSize);
            chunks[i] = chunk;
            if (x > 0)
            {
                chunks[i - 1].xNeighbor = chunk;
            }
            if (y > 0)
            {
                chunks[i - chunkResolution].yNeighbor = chunk;
                if (x > 0)
                {
                    chunks[i - chunkResolution - 1].xyNeighbor = chunk;
                }
            }
        }