📌
Inputsystem을 통해 캐릭터가 w/a/s/d키로 움직이도록 구현했다. 하지만 중간중간 캐릭터의 움직임이 버벅거리는 현상을 발견했다. 어떻게 해결하면 좋을까?
✅ 특정 구역에서만 움직임이 이상하다면 맵(Tile)의 문제일 가능성이 크다!
현재 문제가 발생하는 지점은 초록색 집으로 가는 길목이다.
캐릭터와 빨간색 테두리 박스에 Collider 2D를 생성해둔 상태. 딱 봐도 길이 좁아보인다.
✅ 캐릭터와 맵의 Collider 범위가 겹쳐서 버벅거리거나 멈추는 현상이 발생하고 있었다.
해결방법
맵의 문제가 확실할 경우 해결 방법은 매우 간단하다.
✅ 캐릭터의 Collider 범위를 조절한다
Edit Collider나 Radius로 범위를 조절할 수 있다.
✅ 맵의 Collider 범위를 조절한다
이런 식으로 맵의 Collider 2D 범위를 조절해 구역을 넓히거나 한쪽 면에만 Collider을 줘서 해결할 수 있다
혹시 이 두 개로 해결이 안 된다면!
✅ TileCollider 오브젝트에 다음의 컴포넌트를 추가한다
하지만 위 두 개의 방법으로 해결됐다면 마지막 방법은 생략해도 무방하다
🔧
Collider을 제대로 설정해뒀다고 생각해서 원인 파악에 시간이 걸렸던 문제. 조금만 겹치거나 겹칠 것 같아도 끼임 현상이 발생할 수 있으니 섬세하게 Collider을 작업할 수 있도록 하자. Collider 조절은 게임 실행 중에도 수정이 가능하니 참고!
사진 내 오브젝트 이미지는 골드메탈 님 에셋을 사용했다.
'[내배캠] 본 캠프 개발 학습 > 자세히 살펴보는 Q&A' 카테고리의 다른 글
C# 동적 인스턴스 생성 (8) | 2024.10.01 |
---|---|
C# static 메서드 내의 클래스 필드 참조 (0) | 2024.09.25 |
C# for 문으로 상점 만들기 (4) | 2024.09.25 |
C# 문자열 보간, $ (0) | 2024.09.24 |
C# 큰따옴표와 작은따옴표의 사용 (0) | 2024.09.20 |