본문 바로가기

[내배캠] 본 캠프 개발 학습/자세히 살펴보는 Q&A

유니티(Unity) 2D 맵에서 캐릭터 움직임이 끼는 현상 해결하기

📌 

 Inputsystem을 통해 캐릭터가 w/a/s/d키로 움직이도록 구현했다. 하지만 중간중간 캐릭터의 움직임이 버벅거리는 현상을 발견했다. 어떻게 해결하면 좋을까?  


✅ 특정 구역에서만 움직임이 이상하다면 맵(Tile)의 문제일 가능성이 크다!


현재 문제가 발생하는 지점은 초록색 집으로 가는 길목이다. 
캐릭터와 빨간색 테두리 박스에 Collider 2D를 생성해둔 상태. 딱 봐도 길이 좁아보인다. 

✅ 캐릭터와 맵의 Collider 범위가 겹쳐서 버벅거리거나 멈추는 현상이 발생하고 있었다. 

해결방법


맵의 문제가 확실할 경우 해결 방법은 매우 간단하다. 

✅ 캐릭터의 Collider 범위를 조절한다

 
Edit Collider나 Radius로 범위를 조절할 수 있다. 

 

 맵의 Collider 범위를 조절한다

 

 이런 식으로 맵의 Collider 2D 범위를 조절해 구역을 넓히거나 한쪽 면에만  Collider을 줘서 해결할 수 있다

 혹시 이 두 개로 해결이 안 된다면!

 

✅ TileCollider 오브젝트에 다음의 컴포넌트를 추가한다  

 

하지만 위 두 개의 방법으로 해결됐다면 마지막 방법은 생략해도 무방하다 

 


🔧

 

Collider을 제대로 설정해뒀다고 생각해서 원인 파악에 시간이 걸렸던 문제. 조금만 겹치거나 겹칠 것 같아도 끼임 현상이 발생할 수 있으니 섬세하게 Collider을 작업할 수 있도록 하자. Collider 조절은 게임 실행 중에도 수정이 가능하니 참고!

 

사진 내 오브젝트 이미지는 골드메탈 님 에셋을 사용했다.