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