> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/korean/development/api-reference/classes/worldroot.md).

# WorldRoot

WorldRoot : `Instance`

## Overview

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

## Properties

### AllowDebugDraw

`boolean`

Draw로 시작하는 디버그 드로잉 메서드들의 동작 여부를 지정하는 속성으로, Shipping 빌드에서는 기본값이 false이고 그 외(Development, Debug) 빌드에서는 기본값이 true입니다.

false로 설정하면 이후의 Draw 호출이 무시되며, 이미 그려진 디버그 드로잉도 즉시 제거됩니다.

#### Code Samples

## Methods

### Blockcast

주어진 위치(CFrame)와 크기(Extents)로 정의된 박스 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Raycast와 유사하지만, 광선 대신 박스 형태로 충돌을 감지하므로 더 넓은 영역의 오브젝트를 탐지할 수 있습니다.

#### Parameters

| `CFrame` InCFrame               | 박스의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `Vector3` InExtents             | 박스의 크기(가로, 세로, 높이)를 정의하는 벡터입니다.                                                                                                      |
| `Vector3` InDirection           | 박스가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                                                         |
| `RaycastParams` InRaycastParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `RaycastResult` | 박스의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### BlockcastSingleByChannel

주어진 위치(CFrame)와 크기(Extents)로 정의된 박스 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널(TraceChannel)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Blockcast와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                          | 박스의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                         |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `Vector3` InExtents                        | 박스의 크기(가로, 세로, 높이)를 정의하는 벡터입니다.                                                        |
| `Vector3` InDirection                      | 박스가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                           |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `RaycastResult` | 박스의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### BlockcastSingleByChannelName

주어진 위치(CFrame)와 크기(Extents)로 정의된 박스 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. BlockcastSingleByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 BlockcastSingleByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 충돌 감지를 수행하지 않습니다.

#### Parameters

| `CFrame` InCFrame                          | 박스의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                             |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `Vector3` InExtents                        | 박스의 크기(가로, 세로, 높이)를 정의하는 벡터입니다.                                                            |
| `Vector3` InDirection                      | 박스가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                               |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `RaycastResult` | 박스의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없거나 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 nil을 반환합니다. |
| --------------- | ------------------------------------------------------------------------------------------ |

#### Code Samples

### BlockcastSingleByObject

주어진 위치(CFrame)와 크기(Extents)로 정의된 박스 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 오브젝트 쿼리 파라미터를 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Blockcast와 동일한 방식으로 동작하지만, 오브젝트 타입을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                           | 박스의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                     |
| ------------------------------------------- | ------------------------------------------------------------------ |
| `Vector3` InExtents                         | 박스의 크기(가로, 세로, 높이)를 정의하는 벡터입니다.                                    |
| `Vector3` InDirection                       | 박스가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.       |
| `CollisionQueryParams` InQueryParams        | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다.   |

#### Return

| `RaycastResult` | 박스의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### BlockcastSingleByProfile

주어진 위치(CFrame)와 크기(Extents)로 정의된 박스 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 프로파일(ProfileName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Blockcast와 동일한 방식으로 동작하지만, 충돌 프로파일을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                    | 박스의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                     |
| ------------------------------------ | ------------------------------------------------------------------ |
| `Vector3` InExtents                  | 박스의 크기(가로, 세로, 높이)를 정의하는 벡터입니다.                                    |
| `Vector3` InDirection                | 박스가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.       |
| `string` ProfileName                 | 충돌 감지에 사용할 충돌 프로파일의 이름입니다. 해당 프로파일의 충돌 응답 설정에 따라 감지 대상이 결정됩니다.     |
| `CollisionQueryParams` InQueryParams | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |

#### Return

| `RaycastResult` | 박스의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### Capsulecast

주어진 위치(CFrame), 반지름(Radius), 높이(Height)로 정의된 캡슐 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. 캐릭터의 이동 경로나 충돌 예측에 적합하며, 캐릭터의 형태와 유사한 캡슐 모양으로 충돌을 감지합니다.

#### Parameters

| `CFrame` InCFrame               | 캡슐의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                                                                       |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `number` InRadius               | 캡슐의 반지름입니다.                                                                                                                          |
| `number` InHalfHeight           | 캡슐의 높이입니다.                                                                                                                           |
| `Vector3` InDirection           | 캡슐이 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                                                         |
| `RaycastParams` InRaycastParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `RaycastResult` | 캡슐의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### CapsulecastSingleByChannel

주어진 위치(CFrame), 반지름(Radius), 높이(Height)로 정의된 캡슐 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널(TraceChannel)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Capsulecast와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                          | 캡슐의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                         |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `number` InRadius                          | 캡슐의 반지름입니다.                                                                            |
| `number` InHalfHeight                      | 캡슐의 높이입니다.                                                                             |
| `Vector3` InDirection                      | 캡슐이 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                           |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `RaycastResult` | 캡슐의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### CapsulecastSingleByChannelName

주어진 위치(CFrame), 반지름(Radius), 높이(Height)로 정의된 캡슐 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. CapsulecastSingleByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 CapsulecastSingleByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 충돌 감지를 수행하지 않습니다.

#### Parameters

| `CFrame` InCFrame                          | 캡슐의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                             |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `number` InRadius                          | 캡슐의 반지름입니다.                                                                                |
| `number` InHalfHeight                      | 캡슐의 높이입니다.                                                                                 |
| `Vector3` InDirection                      | 캡슐이 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                               |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `RaycastResult` | 캡슐의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없거나 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 nil을 반환합니다. |
| --------------- | ------------------------------------------------------------------------------------------ |

#### Code Samples

### CapsulecastSingleByObject

주어진 위치(CFrame), 반지름(Radius), 높이(Height)로 정의된 캡슐 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 오브젝트 쿼리 파라미터를 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Capsulecast와 동일한 방식으로 동작하지만, 오브젝트 타입을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                           | 캡슐의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                     |
| ------------------------------------------- | ------------------------------------------------------------------ |
| `number` InRadius                           | 캡슐의 반지름입니다.                                                        |
| `number` InHalfHeight                       | 캡슐의 높이입니다.                                                         |
| `Vector3` InDirection                       | 캡슐이 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.       |
| `CollisionQueryParams` InQueryParams        | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다.   |

#### Return

| `RaycastResult` | 캡슐의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### CapsulecastSingleByProfile

주어진 위치(CFrame), 반지름(Radius), 높이(Height)로 정의된 캡슐 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 프로파일(ProfileName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Capsulecast와 동일한 방식으로 동작하지만, 충돌 프로파일을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                    | 캡슐의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                     |
| ------------------------------------ | ------------------------------------------------------------------ |
| `number` InRadius                    | 캡슐의 반지름입니다.                                                        |
| `number` InHalfHeight                | 캡슐의 높이입니다.                                                         |
| `Vector3` InDirection                | 캡슐이 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.       |
| `string` ProfileName                 | 충돌 감지에 사용할 충돌 프로파일의 이름입니다. 해당 프로파일의 충돌 응답 설정에 따라 감지 대상이 결정됩니다.     |
| `CollisionQueryParams` InQueryParams | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |

#### Return

| `RaycastResult` | 캡슐의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | --------------------------------------------------------------- |

#### Code Samples

### ClearDebugDraw

지금까지 Draw로 시작하는 메서드로 그려진 모든 디버그 드로잉(선, 도형, 문자열 등)을 즉시 제거하는 메서드입니다.

AllowDebugDraw가 false인 상태에서도 호출할 수 있습니다.

#### Parameters

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawArrow

주어진 시작점(InOrigin)에서 방향(InDirection)을 향하는 화살표 형태의 디버그 도형을 그리는 메서드입니다. 주로 디버깅 용도로 방향이나 힘의 벡터를 시각적으로 확인할 때 사용합니다.

#### Parameters

| `Vector3` InOrigin    | 화살표가 시작되는 위치입니다.                                            |
| --------------------- | ----------------------------------------------------------- |
| `Vector3` InDirection | 화살표가 향하는 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 화살표의 길이도 함께 결정됩니다. |
| `Color3` InColor      | 화살표의 색상입니다.                                                 |
| `number` InArrowSize  | 화살촉 부분의 크기입니다.                                              |
| `number` InThickness  | 화살표 몸통 선의 두께입니다.                                            |
| `number` InLifeTime   | 화살표가 월드에서 유지될 시간(초 단위)입니다.                                  |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawBox

주어진 위치와 크기로 정의된 박스 형태의 와이어프레임 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame    | 박스의 위치와 회전을 나타내는 좌표 프레임입니다.     |
| -------------------- | ------------------------------- |
| `Vector3` InSize     | 박스의 크기(가로, 세로, 높이)를 나타내는 벡터입니다. |
| `Color3` InColor     | 박스의 색상입니다.                      |
| `number` InThickness | 박스 외곽선의 두께입니다.                  |
| `number` InLifeTime  | 박스가 월드에서 유지될 시간(초 단위)입니다.       |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCamera

지정한 위치와 방향에 카메라의 시야(FOV)를 시각화하는 프러스텀 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame     | 카메라의 위치와 방향을 나타내는 좌표 프레임입니다.                         |
| --------------------- | ---------------------------------------------------- |
| `number` InFOVDegrees | 카메라의 시야각을 도(degree) 단위로 지정하며, 0에서 180 사이의 값으로 제한됩니다. |
| `number` InScale      | 카메라 프러스텀 도형의 크기 배율입니다.                               |
| `Color3` InColor      | 도형의 색상입니다.                                           |
| `number` InLifeTime   | 도형이 월드에서 유지될 시간(초 단위)입니다.                            |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCapsule

주어진 위치와 크기로 정의된 캡슐 형태의 와이어프레임 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame     | 캡슐의 위치와 회전을 나타내는 좌표 프레임입니다.                    |
| --------------------- | ---------------------------------------------- |
| `number` InHalfHeight | 캡슐의 절반 높이로, InRadius보다 작으면 InRadius 값으로 보정됩니다. |
| `number` InRadius     | 캡슐의 반지름입니다.                                    |
| `Color3` InColor      | 캡슐의 색상입니다.                                     |
| `number` InThickness  | 캡슐 외곽선의 두께입니다.                                 |
| `number` InLifeTime   | 캡슐이 월드에서 유지될 시간(초 단위)입니다.                      |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCircle

주어진 위치를 중심으로 원 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame    | 원의 위치와 방향(원이 놓일 평면)을 나타내는 좌표 프레임입니다.     |
| -------------------- | ---------------------------------------- |
| `number` InRadius    | 원의 반지름입니다.                               |
| `Color3` InColor     | 원의 색상입니다.                                |
| `number` InSegments  | 원을 구성하는 선분의 개수로, 값이 클수록 더 매끄러운 원이 그려집니다. |
| `number` InThickness | 원 외곽선의 두께입니다.                            |
| `number` InLifeTime  | 원이 월드에서 유지될 시간(초 단위)입니다.                 |
| `boolean` InDrawAxis | true로 설정하면 원의 중심 좌표축도 함께 표시합니다.          |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCircleArc

주어진 중심점을 기준으로 부채꼴 형태의 호(arc)를 그리는 메서드입니다.

#### Parameters

| `Vector3` InCenter           | 호의 중심 위치입니다.                             |
| ---------------------------- | ---------------------------------------- |
| `Vector3` InDirection        | 호가 향하는 기준 방향을 나타내는 벡터입니다.                |
| `number` InRadius            | 호의 반지름입니다.                               |
| `number` InAngleWidthRadians | 호의 전체 각도 범위를 라디안 단위로 지정합니다.              |
| `Color3` InColor             | 호의 색상입니다.                                |
| `number` InSegments          | 호를 구성하는 선분의 개수로, 값이 클수록 더 매끄러운 호가 그려집니다. |
| `number` InThickness         | 호의 두께입니다.                                |
| `number` InLifeTime          | 호가 월드에서 유지될 시간(초 단위)입니다.                 |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCone

주어진 시작점(InOrigin)에서 방향(InDirection)으로 뻗어나가는 원뿔 형태의 디버그 도형을 그리는 메서드입니다. 시야각이나 감지 범위를 시각화할 때 유용합니다.

#### Parameters

| `Vector3` InOrigin            | 원뿔의 꼭짓점 위치입니다.                                |
| ----------------------------- | --------------------------------------------- |
| `Vector3` InDirection         | 원뿔이 뻗어나가는 방향을 나타내는 벡터입니다.                     |
| `number` InLength             | 원뿔의 길이입니다.                                    |
| `number` InAngleWidthRadians  | 원뿔의 가로 방향 반각을 라디안 단위로 지정합니다.                  |
| `number` InAngleHeightRadians | 원뿔의 세로 방향 반각을 라디안 단위로 지정합니다.                  |
| `Color3` InColor              | 원뿔의 색상입니다.                                    |
| `number` InNumSides           | 원뿔의 밑면을 구성하는 변의 개수로, 값이 클수록 더 매끄러운 원뿔이 그려집니다. |
| `number` InThickness          | 원뿔 외곽선의 두께입니다.                                |
| `number` InLifeTime           | 원뿔이 월드에서 유지될 시간(초 단위)입니다.                     |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCoordinateSystem

주어진 위치와 회전을 기준으로 X, Y, Z 축을 나타내는 좌표계 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame    | 좌표계의 위치와 회전을 나타내는 좌표 프레임입니다. |
| -------------------- | ---------------------------- |
| `number` InScale     | 좌표축의 길이 배율입니다.               |
| `number` InThickness | 좌표축 선의 두께입니다.                |
| `number` InLifeTime  | 좌표계가 월드에서 유지될 시간(초 단위)입니다.   |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCrosshairs

주어진 위치와 회전을 기준으로 십자선(crosshair) 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame   | 십자선의 위치와 회전을 나타내는 좌표 프레임입니다. |
| ------------------- | ---------------------------- |
| `number` InScale    | 십자선의 크기 배율입니다.               |
| `Color3` InColor    | 십자선의 색상입니다.                  |
| `number` InLifeTime | 십자선이 월드에서 유지될 시간(초 단위)입니다.   |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawCylinder

지정한 시작점(InStart)과 끝점(InEnd)을 잇는 원기둥 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `Vector3` InStart    | 원기둥의 시작(밑면 중심) 위치입니다.                            |
| -------------------- | ------------------------------------------------ |
| `Vector3` InEnd      | 원기둥의 끝(윗면 중심) 위치입니다.                             |
| `number` InRadius    | 원기둥의 반지름입니다.                                     |
| `Color3` InColor     | 원기둥의 색상입니다.                                      |
| `number` InSegments  | 원기둥의 단면을 구성하는 선분의 개수로, 값이 클수록 더 매끄러운 원기둥이 그려집니다. |
| `number` InThickness | 원기둥 외곽선의 두께입니다.                                  |
| `number` InLifeTime  | 원기둥이 월드에서 유지될 시간(초 단위)입니다.                       |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawDonut

주어진 위치를 중심으로 도넛(원형 링) 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame      | 도넛의 위치와 방향(도넛이 놓일 평면)을 나타내는 좌표 프레임입니다.                      |
| ---------------------- | ----------------------------------------------------------- |
| `number` InInnerRadius | 도넛의 안쪽 반지름입니다.                                              |
| `number` InOuterRadius | 도넛의 바깥쪽 반지름으로, InInnerRadius보다 작으면 InInnerRadius 값으로 보정됩니다. |
| `Color3` InColor       | 도넛의 색상입니다.                                                  |
| `number` InSegments    | 도넛을 구성하는 선분의 개수로, 값이 클수록 더 매끄러운 도넛이 그려집니다.                  |
| `number` InThickness   | 도넛 외곽선의 두께입니다.                                              |
| `number` InLifeTime    | 도넛이 월드에서 유지될 시간(초 단위)입니다.                                   |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawLine

지정한 시작점(InStart)과 끝점(InEnd)을 잇는 직선을 그려 화면에 표시하는 메서드입니다. 주로 디버깅 용도로 활용됩니다.

#### Parameters

| `Vector3` InStart    | 선의 시작 위치입니다.             |
| -------------------- | ------------------------ |
| `Vector3` InEnd      | 선의 끝 위치입니다.              |
| `Color3` InColor     | 선의 색상입니다.                |
| `number` InThickness | 선의 두께입니다.                |
| `number` InLifeTime  | 선이 월드에서 유지될 시간(초 단위)입니다. |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawMesh

지정한 정점(InVertices)과 인덱스(InIndices)로 구성된 삼각형 메시 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `Array` InVertices  | 메시를 구성하는 정점 위치의 배열입니다.                               |
| ------------------- | ---------------------------------------------------- |
| `Array` InIndices   | 정점 배열을 3개씩 묶어 삼각형을 구성하는 인덱스 배열로, 전체 개수는 3의 배수여야 합니다. |
| `Color3` InColor    | 메시의 색상입니다.                                           |
| `number` InLifeTime | 메시가 월드에서 유지될 시간(초 단위)입니다.                            |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawPoint

지정한 위치에 점 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `Vector3` InPosition | 점의 위치입니다.                |
| -------------------- | ------------------------ |
| `Color3` InColor     | 점의 색상입니다.                |
| `number` InSize      | 점의 크기입니다.                |
| `number` InLifeTime  | 점이 월드에서 유지될 시간(초 단위)입니다. |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawRay

주어진 시작점(origin)과 방향(direction)을 기준으로 지정한 색상의 광선을 화면에 표시하여 시각적으로 확인할 수 있도록 해주는 메서드입니다. 주로 디버깅 용도로 활용되며, Raycast의 방향과 도달 위치를 시각적으로 파악할 때 유용합니다.

#### Parameters

| `Vector3` InOrigin    | 광선(ray)이 발사되는 출발 지점입니다.                                  |
| --------------------- | -------------------------------------------------------- |
| `Vector3` InDirection | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다. |
| `Color3` InColor      | 광선의 색상입니다.                                               |
| `number` InThickness  | 광선의 선 두께입니다.                                             |
| `number` InLifeTime   | 광선이 월드에서 유지될 시간(초 단위)입니다.                                |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

```lua
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)
```

### DrawSolidBox

주어진 위치와 크기로 정의된 채워진(solid) 박스 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame   | 박스의 위치와 회전을 나타내는 좌표 프레임입니다.     |
| ------------------- | ------------------------------- |
| `Vector3` InSize    | 박스의 크기(가로, 세로, 높이)를 나타내는 벡터입니다. |
| `Color3` InColor    | 박스의 색상입니다.                      |
| `number` InLifeTime | 박스가 월드에서 유지될 시간(초 단위)입니다.       |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawSolidPlane

주어진 위치와 방향을 기준으로 채워진(solid) 평면 형태의 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `CFrame` InCFrame   | 평면의 위치와 방향(법선 방향)을 나타내는 좌표 프레임입니다. |
| ------------------- | ---------------------------------- |
| `number` InSize     | 평면의 크기입니다.                         |
| `Color3` InColor    | 평면의 색상입니다.                         |
| `number` InLifeTime | 평면이 월드에서 유지될 시간(초 단위)입니다.          |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawSphere

주어진 중심점(InCenter)과 반지름(InRadius)으로 정의된 구 형태의 와이어프레임 디버그 도형을 그리는 메서드입니다.

#### Parameters

| `Vector3` InCenter   | 구의 중심 위치입니다.                             |
| -------------------- | ---------------------------------------- |
| `number` InRadius    | 구의 반지름입니다.                               |
| `Color3` InColor     | 구의 색상입니다.                                |
| `number` InSegments  | 구를 구성하는 선분의 개수로, 값이 클수록 더 매끄러운 구가 그려집니다. |
| `number` InThickness | 구 외곽선의 두께입니다.                            |
| `number` InLifeTime  | 구가 월드에서 유지될 시간(초 단위)입니다.                 |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawSpline

지정한 점들(InPoints)을 지나는 부드러운 곡선(Catmull-Rom 스플라인)을 그리는 메서드입니다. 4개 이상의 점을 지정해야 합니다.

#### Parameters

| `Array` InPoints             | 곡선이 지나갈 점들의 배열로, 4개 이상의 점을 지정해야 합니다.              |
| ---------------------------- | ------------------------------------------------- |
| `Color3` InColor             | 곡선의 색상입니다.                                        |
| `number` InAlpha             | 스플라인의 장력(tension)을 조절하는 값으로, 0에서 1 사이의 값으로 제한됩니다. |
| `number` InSamplesPerSegment | 각 구간을 표현할 샘플링 개수로, 값이 클수록 더 매끄러운 곡선이 그려집니다.       |
| `number` InThickness         | 곡선의 두께입니다.                                        |
| `number` InLifeTime          | 곡선이 월드에서 유지될 시간(초 단위)입니다.                         |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### DrawString

지정한 위치에 문자열을 화면에 표시하는 메서드입니다.

#### Parameters

| `Vector3` InLocation   | 문자열이 표시될 위치입니다.                |
| ---------------------- | ------------------------------ |
| `string` InText        | 표시할 문자열입니다.                    |
| `Color3` InColor       | 문자열의 색상입니다.                    |
| `number` InDuration    | 문자열이 화면에 표시될 시간(초 단위)입니다.      |
| `boolean` InDrawShadow | true로 설정하면 문자열에 그림자를 함께 표시합니다. |
| `number` InFontScale   | 문자열의 폰트 크기 배율입니다.              |

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### GetPartBoundsInBox

주어진 중심 위치(Center)와 크기(Size)로 정의된 박스 형태의 공간에서, 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. 필터링 조건이나 감지 범위 등을 세부적으로 설정하기 위해 OverlapParams를 함께 사용할 수 있습니다.

#### Parameters

| `CFrame` InCenter               | 감지할 영역의 중심 좌표입니다.                                                                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `Vector3` InSize                | 박스 형태로 설정된 감지 범위의 가로, 세로, 높이 크기입니다.                                                                                                  |
| `OverlapParams` InOverlapParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. OverlapParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `Array` | 박스의 범위에서 감지된 오브젝트들의 배열입니다. |
| ------- | -------------------------- |

#### Code Samples

```lua
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
```

### GetPartBoundsInBoxByChannel

주어진 중심 위치(Center)와 크기(Size)로 정의된 박스 형태의 공간에서, 지정한 충돌 채널(TraceChannel)을 기준으로 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. GetPartBoundsInBox와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCenter                          | 감지할 영역의 중심 좌표입니다.                                                                      |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `Vector3` InSize                           | 박스 형태로 설정된 감지 범위의 가로, 세로, 높이 크기입니다.                                                    |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `Array` | 박스의 범위에서 감지된 오브젝트들의 배열입니다. |
| ------- | -------------------------- |

#### Code Samples

### GetPartBoundsInBoxByChannelName

주어진 중심 위치(Center)와 크기(Size)로 정의된 박스 형태의 공간에서, 지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. GetPartBoundsInBoxByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 GetPartBoundsInBoxByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 감지를 수행하지 않습니다.

#### Parameters

| `CFrame` InCenter                          | 감지할 영역의 중심 좌표입니다.                                                                          |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `Vector3` InSize                           | 박스 형태로 설정된 감지 범위의 가로, 세로, 높이 크기입니다.                                                        |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `Array` | 박스의 범위에서 감지된 오브젝트들의 배열입니다. 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 빈 배열을 반환합니다. |
| ------- | ------------------------------------------------------------------ |

#### Code Samples

### GetPartBoundsInSphere

주어진 중심 위치(Center)와 반지름(Radius)으로 정의된 구 형태의 공간에서, 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. 근접 체크나 범위 효과(Area-of-Effect) 판정에 유용합니다.

#### Parameters

| `CFrame` InCenter               | 감지할 구 형태 영역의 중심 좌표입니다.                                                                                                               |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `number` InRadius               | 구의 반지름입니다.                                                                                                                           |
| `OverlapParams` InOverlapParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. OverlapParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `Array` | 구의 범위에서 감지된 오브젝트들의 배열입니다. |
| ------- | ------------------------- |

#### Code Samples

### GetPartBoundsInSphereByChannel

주어진 중심 위치(Center)와 반지름(Radius)으로 정의된 구 형태의 공간에서, 지정한 충돌 채널(TraceChannel)을 기준으로 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. GetPartBoundsInSphere와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCenter                          | 감지할 구 형태 영역의 중심 좌표입니다.                                                                 |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `number` InRadius                          | 구의 반지름입니다.                                                                             |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `Array` | 구의 범위에서 감지된 오브젝트들의 배열입니다. |
| ------- | ------------------------- |

#### Code Samples

### GetPartBoundsInSphereByChannelName

주어진 중심 위치(Center)와 반지름(Radius)으로 정의된 구 형태의 공간에서, 지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 그 영역과 겹치는 파트들을 찾아 배열로 반환합니다. GetPartBoundsInSphereByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 GetPartBoundsInSphereByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 감지를 수행하지 않습니다.

#### Parameters

| `CFrame` InCenter                          | 감지할 구 형태 영역의 중심 좌표입니다.                                                                     |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `number` InRadius                          | 구의 반지름입니다.                                                                                 |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `Array` | 구의 범위에서 감지된 오브젝트들의 배열입니다. 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 빈 배열을 반환합니다. |
| ------- | ----------------------------------------------------------------- |

#### Code Samples

### GetPartsInPart

지정된 BasePart와 겹치는(충돌하는) 모든 파트들을 찾아 배열로 반환합니다. OverlapParams를 사용하여 특정 오브젝트를 포함하거나 제외하는 등 필터링 조건을 세부적으로 설정할 수 있습니다.

#### Parameters

| `BasePart` InBasePart           | 충돌을 감지할 기준이 되는 파트입니다.                                                                                                                |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `OverlapParams` InOverlapParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. OverlapParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `Array` | 파트의 범위에서 감지된 오브젝트들의 배열입니다. |
| ------- | -------------------------- |

#### Code Samples

### PredictProjectilePathByChannel

지정한 충돌 채널(InTraceChannel)을 기준으로 발사체의 예상 경로를 계산하고 결과를 반환합니다. PredictProjectilePathByObject와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Enum.CollisionChannel` InTraceChannel      | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다. |
| ------------------------------------------- | --------------------------------------------------------------------------- |
| `PredictProjectilePathParams` PredictParams | 발사체의 시작 위치, 속도, 중력 등 경로 예측에 필요한 파라미터를 담은 객체입니다.                             |
| `CollisionResponseParams` InResponseParams  | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                    |

#### Return

| `PredictProjectilePathResult` | 발사체의 이동 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. |
| ----------------------------- | ----------------------------------------------- |

#### Code Samples

### PredictProjectilePathByChannelName

지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 발사체의 예상 경로를 계산하고 결과를 반환합니다. PredictProjectilePathByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 PredictProjectilePathByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 경로 예측을 수행하지 않습니다.

#### Parameters

| `string` ChannelDisplayName                 | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 경로 예측을 수행하지 않습니다. |
| ------------------------------------------- | --------------------------------------------------------------------------------------------- |
| `PredictProjectilePathParams` PredictParams | 발사체의 시작 위치, 속도, 중력 등 경로 예측에 필요한 파라미터를 담은 객체입니다.                                               |
| `CollisionResponseParams` InResponseParams  | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                      |

#### Return

| `PredictProjectilePathResult` | 발사체의 이동 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 빈 결과 객체를 반환합니다. |
| ----------------------------- | ------------------------------------------------------------------------------------------ |

#### Code Samples

### PredictProjectilePathByObject

오브젝트 쿼리 파라미터를 기준으로 발사체의 예상 경로를 계산하고 결과를 반환합니다.

#### Parameters

| `PredictProjectilePathParams` PredictParams | 발사체의 시작 위치, 속도, 중력 등 경로 예측에 필요한 파라미터를 담은 객체입니다.                  |
| ------------------------------------------- | ---------------------------------------------------------------- |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다. |

#### Return

| `PredictProjectilePathResult` | 발사체의 이동경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. |
| ----------------------------- | ---------------------------------------------- |

#### Code Samples

### Raycast

주어진 시작점(origin)과 방향(direction)을 기준으로 보이지 않는 광선(ray)을 발사해, 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환됩니다. 필요할 경우 RaycastParams를 설정하여 감지 대상이나 조건을 지정할 수 있으며, RaycastParams를 생략하면 기본값이 적용되어 모든 파트가 감지 대상이 됩니다.

#### Parameters

| `Vector3` InOrigin              | 광선(ray)이 발사되는 출발 지점입니다.                                                                                                              |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `Vector3` InDirection           | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                                                             |
| `RaycastParams` InRaycastParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `RaycastResult` | 광선이 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | ---------------------------------------------------------- |

#### Code Samples

```lua
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
```

### RaycastMulti

주어진 시작점(origin)과 방향(direction)을 기준으로 광선(ray)을 발사해, 경로상의 모든 오브젝트를 감지하고 결과를 배열로 반환합니다. Raycast와 달리 첫 번째 충돌만 반환하는 것이 아니라, 광선 경로상의 모든 충돌 결과를 배열로 반환합니다. 관통 효과나 다중 대상 감지에 유용합니다.

#### Parameters

| `Vector3` InOrigin              | 광선(ray)이 발사되는 출발 지점입니다.                                                                                                              |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `Vector3` InDirection           | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                                                             |
| `RaycastParams` InRaycastParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `Array` | 광선 경로상에서 감지된 모든 RaycastResult 객체들의 배열입니다. |
| ------- | ----------------------------------------- |

#### Code Samples

```lua
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 Results = Workspace:RaycastMulti(Origin, Direction, RaycastParams)
for _, Result in ipairs(Results) do
    print("Hit instance:", Result.Instance.Name)
    print("Hit position:", Result.Position)
end
```

### RaycastMultiByChannel

지정한 충돌 채널(TraceChannel)을 기준으로 광선(ray)을 발사해, 경로상의 모든 오브젝트를 감지하고 결과를 배열로 반환합니다. RaycastMulti와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                         | 광선(ray)이 발사되는 출발 지점입니다.                                                                |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `Vector3` InDirection                      | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                               |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `Array` | 광선 경로상에서 감지된 모든 RaycastResult 객체들의 배열입니다. |
| ------- | ----------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

local Origin = Vector3.new(0, 50, 0)
local Direction = Vector3.new(0, 0, -3000)
local TraceChannel = Enum.CollisionChannel.L_ECC_WeaponTrace

local Results = Workspace:RaycastMultiByChannel(Origin, Direction, TraceChannel)
for _, Result in ipairs(Results) do
    print("Hit instance:", Result.Instance.Name)
    print("Hit position:", Result.Position)
end
```

### RaycastMultiByChannelName

지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 광선(ray)을 발사해, 경로상의 모든 오브젝트를 감지하고 결과를 배열로 반환합니다. RaycastMultiByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 RaycastMultiByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 감지를 수행하지 않습니다.

#### Parameters

| `Vector3` InOrigin                         | 광선(ray)이 발사되는 출발 지점입니다.                                                                    |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `Vector3` InDirection                      | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                   |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `Array` | 광선 경로상에서 감지된 모든 RaycastResult 객체들의 배열입니다. 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 빈 배열을 반환합니다. |
| ------- | --------------------------------------------------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local Results = Workspace:RaycastMultiByChannelName(Origin, Direction, ChannelDisplayName)
for _, Result in ipairs(Results) do
    print("Hit instance:", Result.Instance.Name)
end
```

### RaycastMultiByObject

오브젝트 쿼리 파라미터를 기준으로 광선(ray)을 발사해, 경로상의 모든 오브젝트를 감지하고 결과를 배열로 반환합니다. RaycastMulti와 동일한 방식으로 동작하지만, 오브젝트 타입을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                          | 광선(ray)이 발사되는 출발 지점입니다.                                            |
| ------------------------------------------- | ------------------------------------------------------------------ |
| `Vector3` InDirection                       | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.           |
| `CollisionQueryParams` InQueryParams        | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다.   |

#### Return

| `Array` | 광선 경로상에서 감지된 모든 RaycastResult 객체들의 배열입니다. |
| ------- | ----------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local ObjectParams = CollisionObjectQueryParams.new()
ObjectParams:AddObjectTypeToQuery(Enum.CollisionChannel.L_ECC_Pawn)

local Results = Workspace:RaycastMultiByObject(Origin, Direction, nil, ObjectParams)
for _, Result in ipairs(Results) do
    print("Hit instance:", Result.Instance.Name)
end
```

### RaycastMultiByProfile

지정한 충돌 프로파일(ProfileName)을 기준으로 광선(ray)을 발사해, 경로상의 모든 오브젝트를 감지하고 결과를 배열로 반환합니다. RaycastMulti와 동일한 방식으로 동작하지만, 충돌 프로파일을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                   | 광선(ray)이 발사되는 출발 지점입니다.                                            |
| ------------------------------------ | ------------------------------------------------------------------ |
| `Vector3` InDirection                | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.           |
| `string` ProfileName                 | 충돌 감지에 사용할 충돌 프로파일의 이름입니다. 해당 프로파일의 충돌 응답 설정에 따라 감지 대상이 결정됩니다.     |
| `CollisionQueryParams` InQueryParams | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |

#### Return

| `Array` | 광선 경로상에서 감지된 모든 RaycastResult 객체들의 배열입니다. |
| ------- | ----------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local Results = Workspace:RaycastMultiByProfile(Origin, Direction, ProfileName)
for _, Result in ipairs(Results) do
    print("Hit instance:", Result.Instance.Name)
end
```

### RaycastSingleByChannel

지정한 충돌 채널(TraceChannel)을 기준으로 광선(ray)을 발사해, 경로상에서 가장 먼저 충돌하는 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Raycast와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                         | 광선(ray)이 발사되는 출발 지점입니다.                                                                |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `Vector3` InDirection                      | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                               |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `RaycastResult` | 광선이 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | ---------------------------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

local Origin = Vector3.new(0, 50, 0)
local Direction = Vector3.new(0, 0, -3000)
local TraceChannel = Enum.CollisionChannel.L_ECC_WeaponTrace

local Result = Workspace:RaycastSingleByChannel(Origin, Direction, TraceChannel)
if Result then
    print("Hit instance:", Result.Instance.Name)
    print("Hit position:", Result.Position)
else
    print("Result nil")
end
```

### RaycastSingleByChannelName

지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 광선(ray)을 발사해, 경로상에서 가장 먼저 충돌하는 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. RaycastSingleByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 RaycastSingleByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 충돌 감지를 수행하지 않습니다.

#### Parameters

| `Vector3` InOrigin                         | 광선(ray)이 발사되는 출발 지점입니다.                                                                    |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `Vector3` InDirection                      | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                   |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `RaycastResult` | 광선이 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없거나 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 nil을 반환합니다. |
| --------------- | ------------------------------------------------------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local Result = Workspace:RaycastSingleByChannelName(Origin, Direction, ChannelDisplayName)
if Result then
    print("Hit instance:", Result.Instance.Name)
else
    print("Result nil")
end
```

### RaycastSingleByObject

오브젝트 쿼리 파라미터를 기준으로 광선(ray)을 발사해, 경로상에서 가장 먼저 충돌하는 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Raycast와 동일한 방식으로 동작하지만, 오브젝트 타입을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                          | 광선(ray)이 발사되는 출발 지점입니다.                                            |
| ------------------------------------------- | ------------------------------------------------------------------ |
| `Vector3` InDirection                       | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.           |
| `CollisionQueryParams` InQueryParams        | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다.   |

#### Return

| `RaycastResult` | 광선이 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | ---------------------------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local ObjectParams = CollisionObjectQueryParams.new()
ObjectParams:AddObjectTypeToQuery(Enum.CollisionChannel.L_ECC_Pawn)

local Result = Workspace:RaycastSingleByObject(Origin, Direction, nil, ObjectParams)
if Result then
    print("Hit instance:", Result.Instance.Name)
else
    print("Result nil")
end
```

### RaycastSingleByProfile

지정한 충돌 프로파일(ProfileName)을 기준으로 광선(ray)을 발사해, 경로상에서 가장 먼저 충돌하는 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Raycast와 동일한 방식으로 동작하지만, 충돌 프로파일을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `Vector3` InOrigin                   | 광선(ray)이 발사되는 출발 지점입니다.                                            |
| ------------------------------------ | ------------------------------------------------------------------ |
| `Vector3` InDirection                | 광선의 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.           |
| `string` ProfileName                 | 충돌 감지에 사용할 충돌 프로파일의 이름입니다. 해당 프로파일의 충돌 응답 설정에 따라 감지 대상이 결정됩니다.     |
| `CollisionQueryParams` InQueryParams | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |

#### Return

| `RaycastResult` | 광선이 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | ---------------------------------------------------------- |

#### Code Samples

```lua
local Workspace = game:GetService("Workspace")

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

local Result = Workspace:RaycastSingleByProfile(Origin, Direction, ProfileName)
if Result then
    print("Hit instance:", Result.Instance.Name)
else
    print("Result nil")
end
```

### Spherecast

주어진 시작점(Origin)과 반지름(Radius)으로 정의된 구 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Raycast와 유사하지만, 광선 대신 구 형태로 충돌을 감지하므로 더 넓은 영역의 오브젝트를 탐지할 수 있습니다. 근접 무기 판정이나 넓은 영역의 충돌 감지에 유용합니다.

#### Parameters

| `Vector3` InOrigin              | 구가 시작되는 출발 지점입니다.                                                                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `number` InRadius               | 구의 반지름입니다.                                                                                                                           |
| `Vector3` InDirection           | 구가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                                                          |
| `RaycastParams` InRaycastParams | 오브젝트를 감지할지 조건을 설정 할 수 있는 설정 객체입니다. RaycastParams를 이용하여 특정 파트를 제외하거나, 충돌 그룹을 지정할 수 있습니다.이 값을 지정하지 않으면 기본값이 적용되어, 모든 오브젝트가 감지 대상이 됩니다. |

#### Return

| `RaycastResult` | 구의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | -------------------------------------------------------------- |

#### Code Samples

### SpherecastSingleByChannel

주어진 위치(CFrame)와 반지름(Radius)으로 정의된 구 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널(TraceChannel)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Spherecast와 동일한 방식으로 동작하지만, 충돌 채널을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                          | 구의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                          |
| ------------------------------------------ | -------------------------------------------------------------------------------------- |
| `number` InRadius                          | 구의 반지름입니다.                                                                             |
| `Vector3` InDirection                      | 구가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                            |
| `Enum.CollisionChannel` TraceChannel       | 충돌 감지에 사용할 충돌 채널입니다. 해당 채널에 대한 응답이 Block 또는 Overlap으로 설정된 오브젝트만 감지 대상이 됩니다.            |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다. |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                               |

#### Return

| `RaycastResult` | 구의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | -------------------------------------------------------------- |

#### Code Samples

### SpherecastSingleByChannelName

주어진 위치(CFrame)와 반지름(Radius)으로 정의된 구 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 채널의 이름(ChannelDisplayName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. SpherecastSingleByChannel과 동일한 방식으로 동작하지만, Enum.CollisionChannel 대신 채널 이름(문자열)으로 충돌 채널을 지정할 수 있습니다. 내부적으로 이름을 충돌 채널로 변환한 뒤 SpherecastSingleByChannel을 호출하며, 이름에 해당하는 채널을 찾지 못하면 충돌 감지를 수행하지 않습니다.

#### Parameters

| `CFrame` InCFrame                          | 구의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                                              |
| ------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `number` InRadius                          | 구의 반지름입니다.                                                                                 |
| `Vector3` InDirection                      | 구가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.                                |
| `string` ChannelDisplayName                | 충돌 감지에 사용할 충돌 채널의 이름입니다. 충돌 프로파일에 등록된 채널 이름을 우선으로 검색하며, 해당 이름의 채널을 찾을 수 없으면 감지를 수행하지 않습니다. |
| `CollisionQueryParams` InQueryParams       | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있으며, 지정하지 않으면 기본값이 적용됩니다.     |
| `CollisionResponseParams` InResponseParams | 각 충돌 채널에 대한 응답 방식을 지정하는 객체입니다. 지정하지 않으면 기본 응답 설정이 적용됩니다.                                   |

#### Return

| `RaycastResult` | 구의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없거나 지정한 이름에 해당하는 충돌 채널을 찾지 못하면 nil을 반환합니다. |
| --------------- | ----------------------------------------------------------------------------------------- |

#### Code Samples

### SpherecastSingleByObject

주어진 위치(CFrame)와 반지름(Radius)으로 정의된 구 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 오브젝트 쿼리 파라미터를 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Spherecast와 동일한 방식으로 동작하지만, 오브젝트 타입을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                           | 구의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                      |
| ------------------------------------------- | ------------------------------------------------------------------ |
| `number` InRadius                           | 구의 반지름입니다.                                                         |
| `Vector3` InDirection                       | 구가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.        |
| `CollisionQueryParams` InQueryParams        | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |
| `CollisionObjectQueryParams` InObjectParams | 충돌 감지 대상이 될 오브젝트 타입을 지정하는 객체입니다. 특정 오브젝트 타입만 충돌 대상으로 설정할 수 있습니다.   |

#### Return

| `RaycastResult` | 구의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | -------------------------------------------------------------- |

#### Code Samples

### SpherecastSingleByProfile

주어진 위치(CFrame)와 반지름(Radius)으로 정의된 구 형태의 공간을 지정한 방향(Direction)으로 이동시키며, 지정한 충돌 프로파일(ProfileName)을 기준으로 경로상의 오브젝트를 감지하고 결과를 RaycastResult 객체로 반환합니다. Spherecast와 동일한 방식으로 동작하지만, 충돌 프로파일을 기반으로 충돌 감지를 수행합니다.

#### Parameters

| `CFrame` InCFrame                    | 구의 초기 위치와 회전을 나타내는 좌표 프레임입니다.                                      |
| ------------------------------------ | ------------------------------------------------------------------ |
| `number` InRadius                    | 구의 반지름입니다.                                                         |
| `Vector3` InDirection                | 구가 이동할 방향을 나타내는 벡터이며, 이 벡터의 길이(크기)에 따라 감지 가능한 거리도 함께 결정됩니다.        |
| `string` ProfileName                 | 충돌 감지에 사용할 충돌 프로파일의 이름입니다. 해당 프로파일의 충돌 응답 설정에 따라 감지 대상이 결정됩니다.     |
| `CollisionQueryParams` InQueryParams | 충돌 쿼리의 세부 조건을 설정할 수 있는 객체입니다. 감지 대상이나 무시할 오브젝트 등을 세밀하게 지정할 수 있습니다. |

#### Return

| `RaycastResult` | 구의 경로에서 충돌한 첫 번째 오브젝트에 대한 정보를 담은 결과 객체입니다. 충돌이 없으면 nil을 반환합니다. |
| --------------- | -------------------------------------------------------------- |

#### Code Samples

## Events
