Unity

OnTriggerStay 작동 안할때 - Unity Rigidbody Sleep Mode

yeoul0714 2025. 1. 31. 16:37

개발과정에서 OnTriggerStay2D 를 이용해 일정시간 간격으로 데미지를 주는 로직을 개발하였다.

 

그런데 분명 Collider의 범위안에 있음에도 처음 몇초간은 함수가 작동하다가

 

일정 시간이 지나면 OnTriggerStay2D함수가 작동하지 않는 문제가 발생했다.

 

그런데 RigidBody2D 는 일정시간 움직임이 없을시 sleep 모드에 들어가고 그에 따라 감지가 되지 않았던 것이다 .

 

Edit > ProjectSetting > Physics2D

Sleep까지의 시간

 

 

Never Sleep  : sleep 모드에 들어가지 않지만 CPU 사용량이 증가해서 꼭 필요할 때만 사용한다.

Start Awake : 처음 시작할때 오브젝트를 sleep에서 깨운다.

Start Alssep : 잠들어 있던 오브젝트를 충돌이 일어나면 깨운다.

 

해결방안

 

1. Never Sleep으로 설정

 

2. 일정 주기마다 Rigidbody2D의 WakeUp() 함수 실행