본문으로 건너뛰기

friction-and-collider2d

friction, Collider2D in Unity

이 글은 기존 블로그의 원문에서 가져왔습니다. 원문 작성일: 2021-08-02

Unity로 physics2D를 이용해서 횡스크롤 게임을 만들 때

friction이 기본으로 설정되어 있으면 벽에 붙어서 점프할 때 마찰력 때문에 y축 방향으로 느리게 움직이거나 멈출 수 있다.

이 문제를 해결하기 위해서

맨 위 툴바에서

Assets-create-2D-physicsMaterial2D에서 physicsMaterial2D를 새로 만들고 friction를 0으로 설정해준 후에 마찰력을 없애고 싶은 곳 player이나 땅이나 벽의 Collider2D의 Material에 끌어서 놓으면 된다.

여기에서는 옆의 사진과 주로 충돌 판정을 해주는 젤 위의 BoxCollider2D에 friction을 0으로 설정해서 벽에 비벼질 때 마찰을 표현하지 않게 만들었다.

여기서 밑에 2개의 collider2D 들은 각각

낮은 턱은 자연스럽게 넘어갈 수 있도록 해주는 CapsuleCollider2D

와 캐릭터가 땅 위에 있는 지를 판단해주기 위해서 만들기 위해서 Trigger 설정을 해준 BoxCollider2D이다.

이런 식으로 만든다면 자연스럽게 작동할 것이다.