개인 공부

유니티 2D에서 물체 충돌 시 떨림이 나타는 이유

송현호 2023. 8. 19. 21:01

Translate를 사용하여 이동

다음과 같이 투명한 벽과 플레이어가 접촉 했을때 떨림이 발생하는걸 볼 수 있다. 

Translate나 Position을 이용하여 이동 할 경우 물리엔진이 아니라 짧은 구간의 위치를 빠르게 순간이동 하는 것과 같기 때문에 벽에 부딪히면 벽과 플레이어의 위치가 겹쳐서 플레이어를 밀어내게 된다.

 

 

 

 

 

 

해결방법 : RigidBody2D의 컴포넌트를 사용

 

RigidBody의 MovePosition을 사용함

RigidBody2D의  MovePosition을 사용할 경우 위치가 아닌 물리엔진의 속도로 움직이기 때문에 다음과 같이 벽과 충돌해도 큰 떨림이 발생하지 않는걸 볼 수 있다