기본 패턴
csharp
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
Debug.Log("Player entered");
}
}설명
- 물리적으로 부딪히는 반응이 필요하면
OnCollisionEnter계열을 봅니다. - 통과는 허용하되 감지만 하고 싶으면 Collider의
Is Trigger를 켜고OnTriggerEnter를 씁니다. - 일반적으로 둘 중 하나가 동작하려면 관련 오브젝트 중 적어도 하나에는
Rigidbody가 있어야 합니다.
짧은 예제
csharp
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Wall"))
{
bounceCount += 1;
}
}빠른 정리
| 상황 | 선택 |
|---|---|
| 물리 반응이 필요함 | OnCollision... |
| 영역 진입/이탈 감지 | OnTrigger... |
| 태그 비교 | CompareTag("Player") |
주의할 점
Trigger와 Collision이 전혀 호출되지 않으면 Rigidbody, Collider, Is Trigger
설정을 먼저 확인하는 습관이 가장 중요합니다.
참고 링크
2 sources