В Roblox работа с террейном и материалами делается через API Workspace.Terrain, и современные методы для изменения материалов — это ReadVoxels() и WriteVoxels() (в отличие от устаревших ReadVoxelColumn / WriteVoxelColumn).
local terrain = workspace.Terrain
-- Определим регион
local region = Region3.new(Vector3.new(0, 0, 0), Vector3.new(64, 64, 64))
:ExpandToGrid(4) -- Обязательно расширяем до кратного 4, иначе будет ошибка
-- Считываем текущие воксели
local materials, occupancy = terrain:ReadVoxels(region, 4)
-- Проходим по вокселям и меняем материал
for x = 1, materials.Size.X do
for y = 1, materials.Size.Y do
for z = 1, materials.Size.Z do
materials[x][y][z] = Enum.Material.Grass
end
end
end
-- Записываем обратно
terrain:WriteVoxels(region, 4, materials, occupancy)