![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbm2nCj%2FbtsCwbqNtsr%2FsnnSYkES2GloMgBToszNyk%2Fimg.png)
유니티 터널링 (Tunnelling) 현상이란 충돌 처리가 필요한 게임 오브젝트가 다른 충돌체를 뚫고 지나가는 현상을 말한다. 터널링이 발생하는 이유는 프레임 드랍 현상이나 물체가 너무 빨리 움직이는 이유 등으로 충돌 처리가 제대로 이루어지지 않으면 발생할 수 있다 프레임 드랍과 이벤트 함수 호출 주기 유니티의 Update의 호출 간격은 일정하지 않기때문에 void Update() { transform.position += (Direction) * moveSpeed * Time.deltaTime; } 위처럼 Update 함수에서 물체를 움직이게 되면 Time.deltaTime의 시간이 프레임에 따라 변동됨으로 의도한 일정한 moveSpeed 만큼의 이동이 이루어지지 않을 수 있다. 따라서 일정한 비율만큼..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQKVb1%2FbtsAopcaldB%2FQoQKbKjx3rYKGbTbak1RAk%2Fimg.jpg)
게임에서 충돌 체크를 하는 방법은 여러가지가 있다. 물론 이 글에서 모든 충돌 방법을 설명하기는 어려울 것이고, 알고 있는 충돌 방법 이외에 다른 충돌 체크 방법도 있기에 모든 충돌 체크를 설명한다는 것은 불가능할 것이다. 가장 많이 쓰였던 혹은 많이 쓰이는 충돌 체크 방법들을 알아보자 픽셀 충돌 이미지들의 텍스쳐 픽셀 데이터를 통해 픽셀들이 동일한 위치에 존재하는지 체크 하는 방식이다. 포트리스나 웜즈 같은 게임이 픽셀 충돌을 이용하여 자연스러운 이동을 표현할 수 있다. 충돌 체크 코드는 비교적 단순하지만 단순한 for문 연산이기때문에 픽셀의 사이즈가 커질수록 연산 횟수가 증가한다. private bool CheckPixelCollision(ObjectClass objectA, ObjectClass o..