WorldRoot

WorldRoot : Instance

Overview

3D 공간에서 물체를 감지하거나 시뮬레이션하는 기능을 수행하는 클래스입니다.

Properties

Methods

Raycast

주어진 시작점(origin)과 방향(direction)을 기준으로 보이지 않는 광선(ray)을 발사해, 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환됩니다.

필요할 경우 RaycastParams를 설정하여 감지 대상이나 조건을 지정할 수 있으며, RaycastParams를 생략하면 기본값이 적용되어 모든 파트가 감지 대상이 됩니다.

Parameters

Vector3 InOrigin

광선(ray)이 발사되는 출발 지점입니다.

Vector3 InDirection

광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.

RaycastParams InRaycastParams

어떤 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다.

RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.

이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다.

Return

RaycastResult

Code Samples

local Workspace = game:GetService("Workspace")

local Origin = Vector3.new(0, 50, 0)
local Direction = Vector3.new(0, 0, -3000)

local RaycastParams = RaycastParams.new()
RaycastParams.FilterType = Enum.RaycastFilterType.Exclude 
RaycastParams.FilterDescendantsInstances = 
{ 
    Workspace.Part
}

local Result = Workspace:Raycast(Origin, Direction, RaycastParams)
if Result then
    print("Result Position : ", Result.Position)
    print("Result Name : ", Result.Instance.Name)
else
    print("Result nil")
end

GetPartBoundsInBox

주어진 중심 위치(Center)와 크기(Size)로 정의된 박스 형태의 공간에서, 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다.

이때 실제 파트의 형상이 아닌 외곽 경계 상자(Bounding Box)를 기준으로 판단되기 때문에, 구형, 원통형, 또는 복잡한 MeshPart처럼 정육면체가 아닌 형태는 정확도가 다소 낮을 수 있습니다.

필터링 조건이나 감지 범위 등을 세부적으로 설정하기 위해 OverlapParams를 함께 사용할 수 있습니다.

Parameters

CFrame InCenter

감지할 영역의 중심 좌표입니다.

Vector3 InSize

박스 형태로 설정된 감지 범위의 가로, 세로, 높이 크기입니다.

OverlapParams InOverlapParams

어떤 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. OverlapParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.

이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다.

Return

array

Code Samples

local Center = Vector3.new(0, 50, 0)
local Size = Vector3.new(1000, 1000, 1000)
local Cframe = CFrame.new(Center)
local PartsInBox = workspace:GetPartBoundsInBox(Cframe, Size)

for _, obj in ipairs(PartsInBox) do
    print(obj.Name)
end

GetPartBoundsInSphere

Returns an array of parts within a sphere defined by center and radius. Useful for proximity checks and area-of-effect queries. Uses bounding boxes, so complex shapes may be approximated.

Parameters

CFrame InCenter

number InRadius

OverlapParams InOverlapParams

Return

array

Code Samples

GetPartsInPart

Returns an array of parts that overlap with the specified BasePart. Filtering can be customized via OverlapParams to include/exclude certain objects.

Parameters

BasePart InBasePart

OverlapParams InOverlapParams

Return

array

Code Samples

DrawRay

주어진 시작점(origin)과 방향(direction)을 기준으로 지정한 색상의 광선을 화면에 표시하여 시각적으로 확인할 수 있도록 해주는 메서드입니다.

주로 디버깅 용도로 활용되며, Raycast의 방향과 도달 위치를 시각적으로 파악할 때 유용합니다.

Parameters

Vector3 InOrigin

광선(ray)이 발사되는 출발 지점입니다.

Vector3 InDirection

광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.

Color3 InColor

광선의 색상입니다.

number InThickness

광선의 선 두께입니다.

number InLifeTime

광선이 월드에서 유지될 시간(초 단위)입니다.

Return

void

Code Samples

local Workspace = game:GetService("Workspace")

local Origin = Vector3.new(0, 50, 0)
local Direction = Vector3.new(0, 0, -1000)
local Color = Color3.fromRGB(255, 0, 0)
local Thickness = 5
local LifeTime = 1.5

Workspace:DrawRay(Origin, Direction, Color, Thickness, LifeTime)

Events

Last updated