Ghi chú phát hành
Học
Lớp công cụ
Terrain
Không Thể Tạo

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Phương Pháp
AutowedgeCell(x: number,y: number,z: number):boolean
Đã Lỗi Thời
AutowedgeCells(region: Region3int16):()
Đã Lỗi Thời
Clear():()
ConvertToSmooth():()
Đã Lỗi Thời
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
Đã Lỗi Thời
GetWaterCell(x: number,y: number,z: number):Tuple
Đã Lỗi Thời
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):()
Đã Lỗi Thời
SetCells(region: Region3int16,material: Enum.CellMaterial,block: Enum.CellBlock,orientation: Enum.CellOrientation):()
Đã Lỗi Thời
SetWaterCell(x: number,y: number,z: number,force: Enum.WaterForce,direction: Enum.WaterDirection):()
Đã Lỗi Thời
WriteVoxelChannels(region: Region3,resolution: number,channels: Dictionary):()
WriteVoxels(region: Region3,resolution: number,materials: {any},occupancy: {any}):()
Thành viên kế thừa

Tài Liệu Tham Khảo API
Thuộc Tính
Decoration
Không Thể Viết Kịch Bản
Đọc Song Song
Các khả năng: Environment
Terrain.Decoration:boolean

GrassLength
Không Thể Viết Kịch Bản
Đọc Song Song
Các khả năng: Environment
Terrain.GrassLength:number

IsSmooth
Đã Lỗi Thời

MaterialColors
Không Thể Viết Kịch Bản
Đọc Song Song
Các khả năng: Environment
Terrain.MaterialColors:BinaryString

MaxExtents
Chỉ Đọc
Không Sao Chép
Đọc Song Song
Các khả năng: Environment
Terrain.MaxExtents:Region3int16

WaterColor
Đọc Song Song
Các khả năng: Environment
Terrain.WaterColor:Color3

WaterReflectance
Đọc Song Song
Các khả năng: Environment
Terrain.WaterReflectance:number

WaterTransparency
Đọc Song Song
Các khả năng: Environment
Terrain.WaterTransparency:number

WaterWaveSize
Đọc Song Song
Các khả năng: Environment
Terrain.WaterWaveSize:number

WaterWaveSpeed
Đọc Song Song
Các khả năng: Environment
Terrain.WaterWaveSpeed:number

Phương Pháp
AutowedgeCell
Đã Lỗi Thời

AutowedgeCells
Đã Lỗi Thời

CellCenterToWorld
Các khả năng: Environment
Terrain:CellCenterToWorld(
Tham Số
Lợi Nhuận

CellCornerToWorld
Các khả năng: Environment
Terrain:CellCornerToWorld(
Tham Số
Lợi Nhuận

Clear
Các khả năng: Environment
Terrain:Clear():()
Lợi Nhuận
()

ConvertToSmooth
Đã Lỗi Thời

CopyRegion
Các khả năng: Environment
Terrain:CopyRegion(region:Region3int16):TerrainRegion
Tham Số
Lợi Nhuận
Mẫu mã
Địa hình: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
Các khả năng: Environment
Terrain:CountCells():number
Lợi Nhuận

FillBall
Các khả năng: Environment
Terrain:FillBall(
center:Vector3, radius:number, material:Enum.Material
):()
Tham Số
center:Vector3
radius:number
material:Enum.Material
Lợi Nhuận
()

FillBlock
Các khả năng: Environment
Terrain:FillBlock(
cframe:CFrame, size:Vector3, material:Enum.Material
):()
Tham Số
cframe:CFrame
size:Vector3
material:Enum.Material
Lợi Nhuận
()

FillCylinder
Các khả năng: Environment
Terrain:FillCylinder(
cframe:CFrame, height:number, radius:number, material:Enum.Material
):()
Tham Số
cframe:CFrame
height:number
radius:number
material:Enum.Material
Lợi Nhuận
()

FillRegion
Các khả năng: Environment
Terrain:FillRegion(
region:Region3, resolution:number, material:Enum.Material
):()
Tham Số
region:Region3
resolution:number
material:Enum.Material
Lợi Nhuận
()

FillWedge
Các khả năng: Environment
Terrain:FillWedge(
cframe:CFrame, size:Vector3, material:Enum.Material
):()
Tham Số
cframe:CFrame
size:Vector3
material:Enum.Material
Lợi Nhuận
()

GetCell
Đã Lỗi Thời

GetMaterialColor
Ghi Song Song
Các khả năng: Environment
Terrain:GetMaterialColor(material:Enum.Material):Color3
Tham Số
material:Enum.Material
Lợi Nhuận

GetWaterCell
Đã Lỗi Thời

PasteRegion
Các khả năng: Environment
Terrain:PasteRegion(
region:TerrainRegion, corner:Vector3int16, pasteEmptyCells:boolean
):()
Tham Số
pasteEmptyCells:boolean
Lợi Nhuận
()
Mẫu mã
Tạo, Sao chép và Dán Địa hình
local Terrain = workspace.Terrain
-- Tạo một vùng địa hình đơn giản
local initialRegion = Region3.new(Vector3.zero, Vector3.one * 10)
Terrain:FillRegion(initialRegion, 4, Enum.Material.Grass)
-- Sao chép vùng đó
local copyRegion = Region3int16.new(Vector3int16.new(0, 0, 0), Vector3int16.new(10, 10, 10))
local copiedRegion = Terrain:CopyRegion(copyRegion)
-- Định nghĩa nơi để dán vùng này
local newRegionCorner = Vector3int16.new(5, 0, 0)
-- Dán vùng này
Terrain:PasteRegion(copiedRegion, newRegionCorner, true)

ReadVoxelChannels
Ghi Song Song
Các khả năng: Environment
Terrain:ReadVoxelChannels(
region:Region3, resolution:number, channelIds:{any}
Tham Số
region:Region3
resolution:number
channelIds:{any}
Lợi Nhuận
Mẫu mã
Địa hình: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, { "ChiếmChỗRắn", "VậtLiệuRắn", "ChiếmChỗLỏng" })
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
Ghi Song Song
Các khả năng: Environment
Terrain:ReadVoxels(
region:Region3, resolution:number
Tham Số
region:Region3
resolution:number
Lợi Nhuận
Mẫu mã
Địa hình: ĐọcVoxel()
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 -- Cũng giống như 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
Các khả năng: Environment
Terrain:ReplaceMaterial(
region:Region3, resolution:number, sourceMaterial:Enum.Material, targetMaterial:Enum.Material
):()
Tham Số
region:Region3
resolution:number
sourceMaterial:Enum.Material
targetMaterial:Enum.Material
Lợi Nhuận
()
Mẫu mã
Địa hình:ThayThếVậtLiệu
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
Đã Lỗi Thời

SetCells
Đã Lỗi Thời

SetMaterialColor
Các khả năng: Environment
Terrain:SetMaterialColor(
material:Enum.Material, value:Color3
):()
Tham Số
material:Enum.Material
value:Color3
Lợi Nhuận
()

SetWaterCell
Đã Lỗi Thời

WorldToCell
Các khả năng: Environment
Terrain:WorldToCell(position:Vector3):Vector3
Tham Số
position:Vector3
Lợi Nhuận

WorldToCellPreferEmpty
Các khả năng: Environment
Terrain:WorldToCellPreferEmpty(position:Vector3):Vector3
Tham Số
position:Vector3
Lợi Nhuận

WorldToCellPreferSolid
Các khả năng: Environment
Terrain:WorldToCellPreferSolid(position:Vector3):Vector3
Tham Số
position:Vector3
Lợi Nhuận

WriteVoxelChannels
Các khả năng: Environment
Terrain:WriteVoxelChannels(
region:Region3, resolution:number, channels:Dictionary
):()
Tham Số
region:Region3
resolution:number
channels:Dictionary
Lợi Nhuận
()
Mẫu mã
Địa hình: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 -- Chất rắn không thể chứa nước
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
Các khả năng: Environment
Terrain:WriteVoxels(
region:Region3, resolution:number, materials:{any}, occupancy:{any}
):()
Tham Số
region:Region3
resolution:number
materials:{any}
occupancy:{any}
Lợi Nhuận
()
Mẫu mã
Địa hình: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, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.