Terrain

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음

지형을 사용하면 느린 시간이 거의 없거나 동적으로 변환할 수 있는 환경을 쉽게 만들 수 있습니다.현재 각 세포에 0에서 1 사이의 숫자가 기하 도형이 세포를 차지해야 하는 양과 세포의 재료를 나타내는 4×4×4 격자에 기반하고 있습니다.점유도는 셀이 주변 셀과 어떻게 결합되는지 결정하며, 결과는 그리드 제약 조건이 없는 것처럼 보이게 합니다.

자세한 내용은 지형을 참조하십시오.

요약

속성

속성BasePart에서 상속되었습니다속성PVInstance에서 상속되었습니다

메서드

메서드BasePart에서 상속되었습니다메서드PVInstance에서 상속되었습니다

이벤트

이벤트BasePart에서 상속되었습니다

속성

Decoration

스크립팅할 수 없음
병렬 읽기

현재 잔디 지형 재료에서 잔디 애니메이션을 활성화하거나 비활성화하지만, 이 속성의 향후 수정은 추가 장식 요소를 제어할 수 있습니다.

GrassLength

스크립팅할 수 없음
병렬 읽기

잔디 지형 재료에서 애니메이션된 잔디의 길이를 지정하며, Decoration 가 활성화되어 있는 것을 가정합니다. 유효한 값은 0.1과 1 사이입니다.

MaterialColors

BinaryString
스크립팅할 수 없음
병렬 읽기

MaterialColors는 재료 색상 기능의 편집기를 나타내며, 스크립트로 편집할 수 없습니다 .

재료의 색을 가져오려면 다음을 사용하십시오: Terrain:GetMaterialColor()

재료의 색상을 설정하려면 다음을 사용하십시오: Terrain:SetMaterialColor()

MaxExtents

읽기 전용
복제되지 않음
병렬 읽기

가능한 가장 큰 편집 가능 영역의 경계를 표시합니다.

WaterColor

병렬 읽기

지형 물의 색조.

WaterReflectance

병렬 읽기

지형의 물 반사가 얼마나 불투명한지 제어합니다.

WaterTransparency

병렬 읽기

지형 물의 투명도.

WaterWaveSize

병렬 읽기

지형 물결의 최대 높이를 스터드로 설정합니다. 현재는 0과 1 사이에서 제한됩니다.

WaterWaveSpeed

병렬 읽기

지형 물 파도가 분당 몇 번 위아래로 이동하는지 설정합니다. 현재는 0에서 100 사이에서 제한됩니다.

메서드

CellCenterToWorld

지형 세포의 중심 위치 세계 좌표(x, y, z)를 반환합니다.

매개 변수

기본값: ""
기본값: ""
기본값: ""

반환

CellCornerToWorld

그리드 셀의 왼쪽 아래쪽 전방 모서리 위치(x, y, z)를 반환합니다.

매개 변수

기본값: ""
기본값: ""
기본값: ""

반환

Clear

()

지형을 지웁니다.


반환

()

CopyRegion

나중에 다시 로드할 수 있도록 지형의 일부를 TerrainRegion 개체에 저장합니다.참고: TerrainRegion 데이터는 서버와 클라이언트 사이에서 복제되지 않습니다.

매개 변수

region: Region3int16
기본값: ""

반환

코드 샘플

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

지형에서 비어 있지 않은 세포 수를 반환합니다.


반환

FillBall

()

지정된 공간에 부드러운 지형의 공을 채웁니다.

매개 변수

center: Vector3

지형 공의 중심 위치.

기본값: ""
radius: number

지형 공의 스터드 반경.

기본값: ""
material: Enum.Material

지형 볼의 Enum.Material입니다.

기본값: ""

반환

()

코드 샘플

Filling a Ball of Terrain

local Workspace = game:GetService("Workspace")
-- Creates a ball of grass at (0,0,-10) with a radius of 10 studs
Workspace.Terrain:FillBall(Vector3.new(0, 0, -10), 10, Enum.Material.Grass)

FillBlock

()

부드러운 지형 블록을 지정된 위치, 회전, 크기 및 재료로 채웁니다.

매개 변수

cframe: CFrame

지형 블록의 위치와 방향.

기본값: ""
size: Vector3

사각 블록의 스터드 크기 - 높이와 너비 모두.

기본값: ""
material: Enum.Material

지형 블록의 Enum.Material입니다.

기본값: ""

반환

()

FillCylinder

()

지정된 공간에서 부드러운 지형의 실린더를 채웁니다. 공간은 CFrame, 높이 및 반경을 사용하여 정의됩니다.


local Workspace = game:GetService("Workspace")
Workspace.Terrain:FillCylinder(CFrame.new(0, 50, 0), 5, 30, Enum.Material.Asphalt)

매개 변수

cframe: CFrame

지형 실린더의 위치와 방향.

기본값: ""
height: number

지형 실린더의 스터드 높이.

기본값: ""
radius: number

지형 실린더의 스터드 반경.

기본값: ""
material: Enum.Material

지형 실린더의 Enum.Material입니다.

기본값: ""

반환

()

FillRegion

()

부드러운 지형으로 Region3 공간을 채웁니다.

매개 변수

region: Region3
기본값: ""
resolution: number
기본값: ""
material: Enum.Material
기본값: ""

반환

()

FillWedge

()

는 주어진 및 지역의 및 크기로 쐐기 모양의 볼륨을 채웁니다.쐐기의 방향은 동일한 대체 요소 WedgePart 와 동일합니다.

매개 변수

cframe: CFrame

채울 쐐기의 위치와 방향.

기본값: ""
size: Vector3

채울 쐐기의 크기.

기본값: ""
material: Enum.Material

쐐기가 채워질 재료.

기본값: ""

반환

()

GetMaterialColor

병렬 쓰기

지정된 지형 재료에 대한 현재 지형 재료 색을 반환합니다.

매개 변수

material: Enum.Material
기본값: ""

반환

PasteRegion

()

지형 영역을 지형 개체에 적용합니다. 참고: TerrainRegion 데이터는 서버와 클라이언트 사이에서 복제되지 않습니다.

매개 변수

기본값: ""
corner: Vector3int16
기본값: ""
pasteEmptyCells: boolean
기본값: ""

반환

()

코드 샘플

Create, Copy and Paste Terrain

--[[
Note: The use of int16 variants for these API is the result of legacy code.
The underlying voxel grid system uses Vector3int32 (Vector3).
]]
local Workspace = game:GetService("Workspace")
local Terrain = Workspace.Terrain
-- Create a simple terrain region (a 10x10x10 block of grass)
local initialRegion = Region3.new(Vector3.zero, Vector3.one * 10)
Terrain:FillRegion(initialRegion, 4, Enum.Material.Grass)
-- Copy the region using Terrain:CopyRegion
local copyRegion = Region3int16.new(Vector3int16.new(0, 0, 0), Vector3int16.new(10, 10, 10))
local copiedRegion = Terrain:CopyRegion(copyRegion)
-- Define where to paste the region (in this example, offsetting by 5 studs on the X-axis)
local newRegionCorner = Vector3int16.new(5, 0, 0)
-- Paste the region using Terrain:PasteRegion
Terrain:PasteRegion(copiedRegion, newRegionCorner, true)

ReadVoxelChannels

병렬 쓰기

채널 이름에 따라 테이블 형식으로 지형 복셀 데이터의 영역을 반환합니다.

매개 변수

region: Region3

읽을 대상 지역. 복셀 그리드에 맞춰야 합니다. 지역이 너무 커면 오류가 발생합니다; 현재 제한은 4194304 복셀³입니다.

기본값: ""
resolution: number

복셀 해상도. 4여야 합니다.

기본값: ""
channelIds: Array

볼륨 데이터에서 액세스해야 하는 채널 ID(문자열) 배열.각 채널 ID는 보텍스에 저장된 데이터 유형을 나타냅니다.현재 지원되는 ID는 {"SolidMaterial", "SolidOccupancy", "LiquidOccupancy"}입니다.

기본값: ""

반환

입력의 channelIds에 따라 볼륨 데이터를 사전으로 반환합니다. 키는 각 채널 ID와 해당 값을 3D 데이터 배열로 나타냅니다.

  • SolidMaterial — 복셀의 Enum.Material 재료.더 이상 Water 가 지원되지 않으므로, 물을 포함하는 복셀의 값은 LiquidOccupancy 가 됩니다.
  • SolidOccupancy — 채널 SolidMaterial에 지정된 복셀의 재료 점유율. 이는 0(비어 있음)과 1(가득 참) 사이의 값입니다.
  • LiquidOccupancy — 복셀에서 Water 물질의 점유율을 0(물 없음)과 1(물 가득) 사이의 값으로 지정합니다. 가 1이고 가 아닌 경우, 이것은 0이 됩니다.

사전에는 각 채널 데이터의 3D 배열 크기를 나타내는 값을 포함하는 Size 키도 포함됩니다.

코드 샘플

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

병렬 쓰기

테이블 형식으로 부드러운 지형의 특정 영역을 반환합니다.

매개 변수

region: Region3

읽을 대상 지역. 복셀 그리드에 맞춰야 합니다. 지역이 너무 커면 오류가 발생합니다. 현재 한도는 4194304 복셀^3입니다.

기본값: ""
resolution: number

복셀 해상도. 4여야 합니다.

기본값: ""

반환

원시 복셀 데이터를 2D 배열로 반환합니다.

  • materials - 대상 영역의 Enum.Material 3D 배열. 또한 크기 필드가 포함되어 중첩된 배열의 크기와 동일합니다.
  • occupancies - 대상 영역의 점유 값 3D 배열. 또한 중첩된 배열의 크기 필드와 동일한 크기 필드를 포함합니다.

코드 샘플

Terrain:ReadVoxels() Code Example

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 -- Same as 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

()

ReplaceMaterial는 특정 내의 지형을 다른 재료로 교체합니다.본질적으로, 그것은 Terrain 재료에 대한 검색 및 교체 작업입니다.

제약 조건

이 메서드를 호출할 때, resolution 매개변수는 정확히 4여야 합니다.또한 지역3는 지형 재료 그리드에 맞춰야 하며, 즉Region3의 최소 및 최대 점의 구성 요소는 4로 나눌 수 있어야 합니다.Region3:ExpandToGrid()를 사용하여 지역을 이 함수와 호환되도록 만듭니다.

매개 변수

region: Region3

교체 작업이 발생할 영역.

기본값: ""
resolution: number

교체 작업이 플레이스해상도; 현재 정확히 4여야 합니다.

기본값: ""
sourceMaterial: Enum.Material

교체될 이전 재료.

기본값: ""
targetMaterial: Enum.Material

새로운 재료.

기본값: ""

반환

()

코드 샘플

Terrain:ReplaceMaterial

local Workspace = game:GetService("Workspace")
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)

SetMaterialColor

()

지정된 지형 재료의 현재 지형 재료 색을 변경합니다. 지형 재료는 기본 색상을 지정된 색상으로 이동합니다.

매개 변수

material: Enum.Material
기본값: ""
value: Color3
기본값: ""

반환

()

WorldToCell

위치 를 포함하는 그리드 셀 위치를 반환합니다.

매개 변수

position: Vector3
기본값: ""

반환

WorldToCellPreferEmpty

점 위치를 포함하는 그리드 셀 위치를 반환하여 위치가 그리드 가장자리에 있을 때 빈 그리드 셀을 선호합니다.

매개 변수

position: Vector3
기본값: ""

반환

WorldToCellPreferSolid

점 위치가 포함된 그리드 셀 위치를 반환하여 위치가 그리드 가장자리에 있을 때 비어 있지 않은 그리드 셀을 선호합니다.

매개 변수

position: Vector3
기본값: ""

반환

WriteVoxelChannels

()

보벨 채널 데이터 사전을 사용하여 지형 영역을 설정합니다.

매개 변수

region: Region3

쓰기 대상 영역. 복셀 그리드에 맞춰야 합니다. 영역이 너무 커면 오류가 발생합니다; 현재 제한은 4194304 복셀³입니다.

기본값: ""
resolution: number

복셀 해상도. 4여야 합니다.

기본값: ""
channels: Dictionary

VOXEL 데이터의 사전은 ReadVoxelChannels()의 반환 값과 유사합니다.키는 각 채널 ID와 해당 값을 3D 데이터 배열로 나타냅니다.사전은 단일 또는 여러 채널 입력을 지원할 수 있습니다.

  • SolidMaterial — 복셀의 Enum.Material 재료.더 이상 Water 가 지원되지 않으므로, 물만 포함하는 복셀은 SolidMaterial = Enum.Material.Air, LiquidOccupancy = x 으로 입력되어야 하며, x 는 0(독점)과 1(포함) 사이의 숫자입니다.
  • SolidOccupancy — 채널 SolidMaterial에서 지정된 복셀의 재료 점유율. 이는 0(비어 있음)과 1(가득 참) 사이의 값이어야 합니다.
  • LiquidOccupancy — 복셀에서 Water 물질의 점유율을 0(물 없음)과 1(물 가득) 사이의 값으로 지정합니다. 가 1이고 가 아닌 경우, 이것은 0이 됩니다.
기본값: ""

반환

()

코드 샘플

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 -- Solids cannot contain water
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

()

테이블 형식을 사용하여 부드러운 지형의 특정 영역을 설정합니다.

매개 변수

region: Region3

쓰기 대상 영역. 복셀 그리드에 맞춰야 합니다. 영역이 너무 커면 오류가 발생합니다.

기본값: ""
resolution: number

복셀 해상도. 4여야 합니다.

기본값: ""
materials: Array

Enum.Material의 3D 배열 차원은 볼셀에서 대상 영역의 크기와 정확히 일치해야 합니다.

기본값: ""
occupancy: Array

복셀 점유도의 3D 배열(0에서 1 사이의 숫자). 차원은 복셀에서 대상 영역의 크기와 정확히 일치해야 합니다.

기본값: ""

반환

()

코드 샘플

Example

local Workspace = game:GetService("Workspace")
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)
Maximum Region Size

local REGION_START = Vector3.new(-20, -20, -20)
local REGION_END = Vector3.new(20, 20, 20)
local CFRAME = CFrame.new(0, 20, 0)
local SIZE = 50
local function getRegionVolumeVoxels(region)
local resolution = 4
local size = region.Size
return (size.x / resolution) * (size.y / resolution) * (size.z / resolution)
end
local function isRegionTooLargeForReadWriteVoxels(region)
return getRegionVolumeVoxels(region) > 4194304
end
local function isRegionTooLarge(region)
return getRegionVolumeVoxels(region) > 67108864
end
-- Helper function to get an axis-aligned Region3 from the given cframe and size
local function getAABBRegion(cframe, size)
local inv = cframe:Inverse()
local x = size * inv.RightVector
local y = size * inv.UpVector
local z = size * inv.LookVector
local w = math.abs(x.X) + math.abs(x.Y) + math.abs(x.Z)
local h = math.abs(y.X) + math.abs(y.Y) + math.abs(y.Z)
local d = math.abs(z.X) + math.abs(z.Y) + math.abs(z.Z)
local pos = cframe.Position
local halfSize = Vector3.new(w, h, d) / 2
return Region3.new(pos - halfSize, pos + halfSize):ExpandToGrid(4)
end
-- Specific functions for checking individual methods
local function isRegionTooLargeForFillBall(cframe, radius)
local diameter = radius * 2
return isRegionTooLarge(getAABBRegion(cframe, Vector3.new(diameter, diameter, diameter)))
end
local function isRegionTooLargeForFillBlock(cframe, size)
return isRegionTooLarge(getAABBRegion(cframe, size))
end
local function isRegionTooLargeForFillCylinder(cframe, height, radius)
local diameter = radius * 2
return isRegionTooLarge(getAABBRegion(cframe, Vector3.new(diameter, height, diameter)))
end
local function isRegionTooLargeForFillRegion(region)
return isRegionTooLarge(region)
end
local function isRegionTooLargeForFillWedge(cframe, size)
return isRegionTooLarge(getAABBRegion(cframe, size))
end
local function isRegionTooLargeForReplaceMaterial(region)
return isRegionTooLarge(region)
end
local region = Region3.new(REGION_START, REGION_END)
print(isRegionTooLargeForReadWriteVoxels(region))
print(isRegionTooLargeForFillBall(CFRAME, SIZE))
print(isRegionTooLargeForFillBlock(CFRAME, SIZE))
print(isRegionTooLargeForFillCylinder(CFRAME, SIZE, SIZE))
print(isRegionTooLargeForFillRegion(region))
print(isRegionTooLargeForFillWedge(CFRAME, SIZE))
print(isRegionTooLargeForReplaceMaterial(region))

이벤트