[Unity] 물리 탐지 함수(Ray, Sphere, Box, Capsule)
물리 탐지 함수란?
Unity에서는 Physics 클래스를 통해 특정 방향이나 범위에 충돌체(Collider)가 존재하는지 검사할 수 있다.
물리 탐지 함수는 크게 Cast, Overlap, Check로 구분할 수 있다.
1. Cast
특정 방향으로 광선이나 도형을 이동시키며 충돌체를 탐지한다.
| 함수 | 탐지 형태 |
|---|---|
| Raycast | 광선 |
| SphereCast | 구 |
| BoxCast | 직육면체 |
| CapsuleCast | 캡슐 |
Physics.Raycast(origin, direction, out hit, distance);
Physics.SphereCast(origin, radius, direction, out hit, distance);
- Raycast: 총알 명중 판정, 시야 검사
- SphereCast: 넓은 범위의 전방 장애물 탐지
- BoxCast: 일정한 크기의 공간을 따라 장애물 탐지
- CapsuleCast: 캐릭터 이동 경로 검사
2. Overlap
특정 공간과 겹치는 Collider들을 반환한다.
| 함수 | 탐지 형태 |
|---|---|
| OverlapSphere | 구 |
| OverlapBox | 직육면체 |
| OverlapCapsule | 캡슐 |
Collider[] colliders =
Physics.OverlapSphere(transform.position, 5f);
주로 범위 공격이나 주변 적 탐색 등에 사용한다.
3. Check
특정 공간에 Collider가 존재하는지 bool 값으로 반환한다.
| 함수 | 탐지 형태 |
|---|---|
| CheckSphere | 구 |
| CheckBox | 직육면체 |
| CheckCapsule | 캡슐 |
bool detected =
Physics.CheckSphere(transform.position, 5f);
주로 건물 설치 가능 여부나 특정 공간의 장애물 존재 여부를 확인할 때 사용한다.
정리
- Cast: 특정 방향으로 이동하며 충돌 검사
- Overlap: 특정 공간에 겹치는 Collider 반환
- Check: 특정 공간에 Collider가 존재하는지 확인
추가로 RaycastAll, SphereCastAll처럼 이름에 All이 붙으면 여러 충돌 결과를 반환한다.
상황에 따라 탐지 형태와 필요한 반환 정보를 고려하여 적절한 함수를 선택하면 된다.



![[Unity] PC 세이브 데이터 Android로 옮기기](https://data.develog.develrocket.com/upload/develog/muchan/1792206352286-hd4xz4/_____2026-10-17_114953.png)