I am trying to make a chunk loading system, but how to I make it so that the chunks avoid loading inside each other.
video of issue
robloxapp-20200907-1900083.wmv (208.5 KB)
script
local function plainsBiome()
local chunkXSize = 48
local chunkYSize = 48
local chunkZSize = 48
local seed = math.random(0,100000000)
local noiseScale = 20
local amplitude = 1
local blockSize = 3
for x = 0, chunkXSize do
for y = 0, chunkYSize do
for z = 0, chunkZSize do
local xNoise = math.noise(y/noiseScale, z/noiseScale, seed) * amplitude
local yNoise = math.noise(x/noiseScale, z/noiseScale, seed) * amplitude
local zNoise = math.noise(x/noiseScale, y/noiseScale, seed) * amplitude
local density = xNoise + yNoise + zNoise + y
local densityX = xNoise + yNoise + zNoise + x
local densityZ = xNoise + yNoise + zNoise + z
if density < 10 and -density < 10 then
local part = Instance.new("Part")
part.Anchored = true
part.Size = Vector3.new(blockSize, blockSize, blockSize)
part.CFrame = CFrame.new(x * blockSize, y * blockSize, z * blockSize)
if part.Position.Y < 50 then
part.BrickColor = BrickColor.new("Forest green")
end
part.TopSurface = Enum.SurfaceType.Smooth
part.BottomSurface = Enum.SurfaceType.Smooth
part.Parent = workspace.Blocks
end
end
end
wait()
end
end
local function hillsBiome()
local chunkXSize = 48
local chunkYSize = 48
local chunkZSize = 48
local seed = math.random(0,100000000)
local noiseScale = 15
local amplitude = 8
local blockSize = 3
for x = 0, chunkXSize do
for y = 0, chunkYSize do
for z = 0, chunkZSize do
local xNoise = math.noise(y/noiseScale, z/noiseScale, seed) * amplitude
local yNoise = math.noise(x/noiseScale, z/noiseScale, seed) * amplitude
local zNoise = math.noise(x/noiseScale, y/noiseScale, seed) * amplitude
local density = xNoise + yNoise + zNoise + y
local densityX = xNoise + yNoise + zNoise + x
local densityZ = xNoise + yNoise + zNoise + z
if density < 10 and -density < 10 then
local part = Instance.new("Part")
part.Anchored = true
part.Size = Vector3.new(blockSize, blockSize, blockSize)
part.CFrame = CFrame.new(x * blockSize, y * blockSize, z * blockSize)
if part.Position.Y < 60 then
part.BrickColor = BrickColor.new("Forest green")
end
part.TopSurface = Enum.SurfaceType.Smooth
part.BottomSurface = Enum.SurfaceType.Smooth
part.Parent = workspace.Blocks
end
end
end
wait()
end
end
wait(5)
plainsBiome()
hillsBiome()