I'm FanJae.
[20260527] Unity 정리 ( Overlap 계열, Check 계열 ) 본문
1. Raycast와 범위 검사의 차이
- Raycast는 특정 위치에서 특정 방향으로 광선을 쏴서 검사한다.
- 반면 Overlap 계열과 Check 계열은 특정 범위 안에 Collider가 있는지 검사하는 방식으로 사용한다.

2. Overlap 계열
- Overlap 계열은 특정 범위 안에 들어온 Collider를 가져온다.
- 즉, 범위 안에 어떤 대상이 있는지 확인할 때 사용한다.
① 대표 메서드
Physics.OverlapSphere()
Physics.OverlapBox()
Physics.OverlapCapsule()
② 사용 예시
Collider[] hits = Physics.OverlapSphere(transform.position,detectRadius,targetLayer);
foreach (Collider hit in hits)
{
Debug.Log(hit.name);
}
private void OnDrawGizmos() // // Scene 뷰를 그릴때 자동 호출
{
Gizmos.DrawWireSphere(transform.position, radius);
}

- 해당 옵션을 확인하기 위해서는 Scene 뷰의 오른쪽 윗쪽에 있는, Gizmos 를 활성화 시켜야한다.
- 이 옵션은 Scene 뷰를 그릴때 자동으로 호출해준다.

- 현재 그려지는 것을 통해, 3개 모두 OverlapSphere 영역 안에 들어왔음을 확인할 수 있다.
③ 사용 예시
- 범위 공격
- 주변 적 감지
- 아이템 자동 획득
- 폭발 범위 판정
3. Check 계열
- Check 계열은 특정 범위 안에 Collider가 있는지만 확인한다.
- 즉, 범위 안에 대상이 존재하는가?를 true / false 로 판단할 때 사용한다.
① 대표 메서드
Physics.CheckSphrer()
Physics.CheckBox()
Physics.CheckCapsule()
② 사용 예시
bool isGrounded = Physics.CheckSphere(groundCheck,position, checkRadius, groundLayer);
if(isGround)
{
Jump();
}
③ 활용 예시
- 바닥 체크
- 벽 감지
- 공격 가능 범위 확인
- 특정 구역 진입 여부 확인
4. Overlap 계열과 Check 계열의 차이

- Overlap 계열은 누가 있는지 알아야 할 때 사용할 수 있고, Check 계열은 있는지 없는지만 알면 될 때 사용할 수 있다.
5. 주의점
- Overlap 계열은 결과 배열을 반환하므로, 자주 호출하면 GC 부담이 생길 수 있다.
- 매 프레임에서 반복해서 사용해야 하는 경우 OverlapSphereNonAlloc 같은 NonAlloc 계열을 고려해 보는 것도 가능하다.
- Check 계열은 목록이 필요 없을 때(정확히는 누가 있는지는 알 필요가 없을 때) 더 단순하게 사용할 수 있다.
- LayerMask를 같이 사용하면 검사 대상을 줄일 수 있다.
6. 정리
- Overlap 계열은 범위 안의 Collider 목록을 가져온다.
- Check 계열은 범위 안에 Collider가 존재하는지만 확인한다.
- 대상 목록이 필요하면 Overlap, 존재 여부만 필요하면 Check를 사용한다.
'Unity > Unity 초격차캠프' 카테고리의 다른 글
| [20260528] Unity 정리 ( Find 계열 ) (0) | 2026.05.28 |
|---|---|
| [20260527] Unity 정리 ( UI Canvas ) (0) | 2026.05.27 |
| [20260527] Unity 정리 ( Unity Raycast 응용 : LayerMask, Tag, Raycast를 이용한 상호작용 ) (0) | 2026.05.27 |
| [20260526] Unity 정리 ( Raycast I ) (0) | 2026.05.26 |
| [20260526] Unity 정리 ( Prefab ) (0) | 2026.05.26 |