Meer informatie
Engine-klasse
Terrain
Niet maakbaar

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.


Samenvatting

Methoden
AutowedgeCells(region: Region3int16):()
Verouderd
Clear():()
ConvertToSmooth():()
Verouderd
FillBall(center: Vector3,radius: number,material: Enum.Material):()
FillBlock(cframe: CFrame,size: Vector3,material: Enum.Material):()
FillCylinder(cframe: CFrame,height: number,radius: number,material: Enum.Material):()
FillRegion(region: Region3,resolution: number,material: Enum.Material):()
FillWedge(cframe: CFrame,size: Vector3,material: Enum.Material):()
GetCell(x: number,y: number,z: number):Tuple
Verouderd
GetWaterCell(x: number,y: number,z: number):Tuple
Verouderd
PasteRegion(region: TerrainRegion,corner: Vector3int16,pasteEmptyCells: boolean):()
ReadVoxelChannels(region: Region3,resolution: number,channelIds: {any}):Dictionary
ReadVoxels(region: Region3,resolution: number):Tuple
ReplaceMaterial(region: Region3,resolution: number,sourceMaterial: Enum.Material,targetMaterial: Enum.Material):()
SetCell(x: number,y: number,z: number,material: Enum.CellMaterial,block: Enum.CellBlock,orientation: Enum.CellOrientation):()
Verouderd
SetCells(region: Region3int16,material: Enum.CellMaterial,block: Enum.CellBlock,orientation: Enum.CellOrientation):()
Verouderd
SetWaterCell(x: number,y: number,z: number,force: Enum.WaterForce,direction: Enum.WaterDirection):()
Verouderd
WriteVoxelChannels(region: Region3,resolution: number,channels: Dictionary):()
WriteVoxels(region: Region3,resolution: number,materials: {any},occupancy: {any}):()
Overgenomen leden

API-referentie
Eigenschappen
Decoration
Niet scriptbaar
Parallel lezen
Mogelijkheden: Environment
Terrain.Decoration:boolean

GrassLength
Niet scriptbaar
Parallel lezen
Mogelijkheden: Environment
Terrain.GrassLength:number

IsSmooth
Verouderd

MaterialColors
Niet scriptbaar
Parallel lezen
Mogelijkheden: Environment
Terrain.MaterialColors:BinaryString

MaxExtents
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Mogelijkheden: Environment
Terrain.MaxExtents:Region3int16

WaterColor
Parallel lezen
Mogelijkheden: Environment
Terrain.WaterColor:Color3

WaterReflectance
Parallel lezen
Mogelijkheden: Environment
Terrain.WaterReflectance:number

WaterTransparency
Parallel lezen
Mogelijkheden: Environment
Terrain.WaterTransparency:number

WaterWaveSize
Parallel lezen
Mogelijkheden: Environment
Terrain.WaterWaveSize:number

WaterWaveSpeed
Parallel lezen
Mogelijkheden: Environment
Terrain.WaterWaveSpeed:number

Methoden
AutowedgeCell
Verouderd

AutowedgeCells
Verouderd

CellCenterToWorld
Mogelijkheden: Environment
Terrain:CellCenterToWorld(
Parameters
Teruggaves

CellCornerToWorld
Mogelijkheden: Environment
Terrain:CellCornerToWorld(
Parameters
Teruggaves

Clear
Mogelijkheden: Environment
Terrain:Clear():()
Teruggaves
()

ConvertToSmooth
Verouderd

CopyRegion
Mogelijkheden: Environment
Terrain:CopyRegion(region:Region3int16):TerrainRegion
Parameters
Teruggaves
Codevoorbeelden
Terrain:CopyRegion()
local terrainRegion = workspace.Terrain:CopyRegion(workspace.Terrain.MaxExtents)
workspace.Terrain:Clear()
task.wait(5)
workspace.Terrain:PasteRegion(terrainRegion, workspace.Terrain.MaxExtents.Min, true)

CountCells
Mogelijkheden: Environment
Terrain:CountCells():number
Teruggaves

FillBall
Mogelijkheden: Environment
Terrain:FillBall(
center:Vector3, radius:number, material:Enum.Material
):()
Parameters
center:Vector3
radius:number
material:Enum.Material
Teruggaves
()

FillBlock
Mogelijkheden: Environment
Terrain:FillBlock(
cframe:CFrame, size:Vector3, material:Enum.Material
):()
Parameters
cframe:CFrame
size:Vector3
material:Enum.Material
Teruggaves
()

FillCylinder
Mogelijkheden: Environment
Terrain:FillCylinder(
cframe:CFrame, height:number, radius:number, material:Enum.Material
):()
Parameters
cframe:CFrame
height:number
radius:number
material:Enum.Material
Teruggaves
()

FillRegion
Mogelijkheden: Environment
Terrain:FillRegion(
region:Region3, resolution:number, material:Enum.Material
):()
Parameters
region:Region3
resolution:number
material:Enum.Material
Teruggaves
()

FillWedge
Mogelijkheden: Environment
Terrain:FillWedge(
cframe:CFrame, size:Vector3, material:Enum.Material
):()
Parameters
cframe:CFrame
size:Vector3
material:Enum.Material
Teruggaves
()

GetCell
Verouderd

GetMaterialColor
Parallel schrijven
Mogelijkheden: Environment
Terrain:GetMaterialColor(material:Enum.Material):Color3
Parameters
material:Enum.Material
Teruggaves

GetWaterCell
Verouderd

PasteRegion
Mogelijkheden: Environment
Terrain:PasteRegion(
region:TerrainRegion, corner:Vector3int16, pasteEmptyCells:boolean
):()
Parameters
pasteEmptyCells:boolean
Teruggaves
()
Codevoorbeelden
Maak, Kopieer en Plak Terrein
local Terrain = workspace.Terrain
-- Maak een eenvoudig terrein gebied
local initialRegion = Region3.new(Vector3.zero, Vector3.one * 10)
Terrain:FillRegion(initialRegion, 4, Enum.Material.Grass)
-- Kopieer het gebied
local copyRegion = Region3int16.new(Vector3int16.new(0, 0, 0), Vector3int16.new(10, 10, 10))
local copiedRegion = Terrain:CopyRegion(copyRegion)
-- Definieer waar het gebied geplakt moet worden
local newRegionCorner = Vector3int16.new(5, 0, 0)
-- Plak het gebied
Terrain:PasteRegion(copiedRegion, newRegionCorner, true)

ReadVoxelChannels
Parallel schrijven
Mogelijkheden: Environment
Terrain:ReadVoxelChannels(
region:Region3, resolution:number, channelIds:{any}
Parameters
region:Region3
resolution:number
channelIds:{any}
Teruggaves
Codevoorbeelden
Terrain:ReadVoxelChannels()
local REGION_START = Vector3.new(-20, -20, -20)
local REGION_END = Vector3.new(20, 20, 20)
local function printRegion(terrain, region)
local channelOutput = terrain:ReadVoxelChannels(region, 4, { "SolidOccupancy", "SolidMaterial", "LiquidOccupancy" })
local size = channelOutput.Size
for x = 1, size.X do
for y = 1, size.Y do
for z = 1, size.Z do
print(
("(%2i, %2i, %2i): %.2f %s %.2f"):format(
x,
y,
z,
channelOutput.SolidOccupancy[x][y][z],
channelOutput.SolidMaterial[x][y][z].Name,
channelOutput.LiquidOccupancy[x][y][z]
)
)
end
end
end
end
local region = Region3.new(REGION_START, REGION_END)
printRegion(workspace.Terrain, region)

ReadVoxels
Parallel schrijven
Mogelijkheden: Environment
Terrain:ReadVoxels(
region:Region3, resolution:number
Parameters
region:Region3
resolution:number
Teruggaves
Codevoorbeelden
Terrain:ReadVoxels()
local REGION_START = Vector3.new(-20, -20, -20)
local REGION_END = Vector3.new(20, 20, 20)
local function printRegion(terrain, region)
local materials, occupancies = terrain:ReadVoxels(region, 4)
local size = materials.Size -- Hetzelfde als occupancies.Size
for x = 1, size.X, 1 do
for y = 1, size.Y, 1 do
for z = 1, size.Z, 1 do
print(("(%2i, %2i, %2i): %.2f %s"):format(x, y, z, occupancies[x][y][z], materials[x][y][z].Name))
end
end
end
end
local region = Region3.new(REGION_START, REGION_END)
printRegion(workspace.Terrain, region)

ReplaceMaterial
Mogelijkheden: Environment
Terrain:ReplaceMaterial(
region:Region3, resolution:number, sourceMaterial:Enum.Material, targetMaterial:Enum.Material
):()
Parameters
region:Region3
resolution:number
sourceMaterial:Enum.Material
targetMaterial:Enum.Material
Teruggaves
()
Codevoorbeelden
Terrain:ReplaceMaterial
local terrain = workspace.Terrain
local region = Region3.new(Vector3.new(-20, -20, -20), Vector3.new(20, 20, 20))
local resolution = 4
local materialToReplace = Enum.Material.Grass
local replacementMaterial = Enum.Material.Asphalt
terrain:ReplaceMaterial(region, resolution, materialToReplace, replacementMaterial)

SetCell
Verouderd

SetCells
Verouderd

SetMaterialColor
Mogelijkheden: Environment
Terrain:SetMaterialColor(
material:Enum.Material, value:Color3
):()
Parameters
material:Enum.Material
value:Color3
Teruggaves
()

SetWaterCell
Verouderd

WorldToCell
Mogelijkheden: Environment
Terrain:WorldToCell(position:Vector3):Vector3
Parameters
position:Vector3
Teruggaves

WorldToCellPreferEmpty
Mogelijkheden: Environment
Terrain:WorldToCellPreferEmpty(position:Vector3):Vector3
Parameters
position:Vector3
Teruggaves

WorldToCellPreferSolid
Mogelijkheden: Environment
Terrain:WorldToCellPreferSolid(position:Vector3):Vector3
Parameters
position:Vector3
Teruggaves

WriteVoxelChannels
Mogelijkheden: Environment
Terrain:WriteVoxelChannels(
region:Region3, resolution:number, channels:Dictionary
):()
Parameters
region:Region3
resolution:number
channels:Dictionary
Teruggaves
()
Codevoorbeelden
Terrain:WriteVoxelChannels()
local region = Region3.new(Vector3.new(0, 0, 0), Vector3.new(64, 32, 64))
local RESOLUTION = 4
local OCC_EPSILON = 1 / 256
local function generateRandomTerrainInRegion(regionInput)
local region = regionInput:ExpandToGrid(4)
local size = region.Size / 4
local solidMaterials = {}
local solidOccupancies = {}
local waterOcc = {}
for x = 1, size.X do
table.insert(solidMaterials, {})
table.insert(solidOccupancies, {})
table.insert(waterOcc, {})
for y = 1, size.Y do
table.insert(solidMaterials[x], {})
table.insert(solidOccupancies[x], {})
table.insert(waterOcc[x], {})
for z = 1, size.Z do
local mat = if math.random() < 0.5 then Enum.Material.Air else Enum.Material.Sand
local occ = 0
local water = math.random()
if mat == Enum.Material.Sand then
occ = math.random() / 2 + 0.5
if occ > 1 - OCC_EPSILON then
water = 0 -- Vaste stoffen kunnen geen water bevatten
end
else
occ = 0
end
table.insert(solidMaterials[x][y], mat)
table.insert(solidOccupancies[x][y], occ)
table.insert(waterOcc[x][y], water)
end
end
end
return { SolidMaterial = solidMaterials, SolidOccupancy = solidOccupancies, LiquidOccupancy = waterOcc }
end
local regionContent = generateRandomTerrainInRegion(region)
workspace.Terrain:WriteVoxelChannels(region, 4, regionContent)

WriteVoxels
Mogelijkheden: Environment
Terrain:WriteVoxels(
region:Region3, resolution:number, materials:{any}, occupancy:{any}
):()
Parameters
region:Region3
resolution:number
materials:{any}
occupancy:{any}
Teruggaves
()
Codevoorbeelden
Terrain:WriteVoxels()
local terrain = workspace.Terrain
local resolution = 4
local region = Region3.new(Vector3.new(0, 0, 0), Vector3.new(16, 28, 20)):ExpandToGrid(resolution)
local materials = {
{
{
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
},
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud },
{ Enum.Material.Air, Enum.Material.Air, Enum.Material.Air, Enum.Material.Air, Enum.Material.Air },
},
{
{
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
},
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Mud, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Mud },
{ Enum.Material.Air, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Air },
},
{
{
Enum.Material.CrackedLava,
Enum.Material.Sand,
Enum.Material.Sand,
Enum.Material.Sand,
Enum.Material.CrackedLava,
},
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Mud, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Mud },
{ Enum.Material.Air, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Snow, Enum.Material.Air },
},
{
{
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
Enum.Material.CrackedLava,
},
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock, Enum.Material.Rock },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand, Enum.Material.Sand },
{ Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud, Enum.Material.Mud },
{ Enum.Material.Air, Enum.Material.Air, Enum.Material.Air, Enum.Material.Air, Enum.Material.Air },
},
}
local occupancies = {
{
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 0.5, 0.5, 0.5, 0.5, 0.5 },
{ 0, 0, 0, 0, 0 },
},
{
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 0.5, 1, 1, 1, 0.5 },
{ 0, 1, 1, 1, 0 },
},
{
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 0.5, 1, 1, 1, 0.5 },
{ 0, 1, 1, 1, 0 },
},
{
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 1, 1, 1, 1, 1 },
{ 0.5, 0.5, 0.5, 0.5, 0.5 },
{ 0, 0, 0, 0, 0 },
},
}
terrain:WriteVoxels(region, resolution, materials, occupancies)

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.