Unity/2D RPG

friction, Collider2D in Unity

YunSeong 2021. 8. 2. 17:26
728x90
반응형

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

 

아래와 같이 friction이 기본으로 설정이 되어있기 때문에 아래의 영상과 같이 벽에 붙어서 점프를 한다면 friction 때문에 느리게 y축 방향으로 움직이거나 멈춰있는 것을 볼 수 있다. 

이 문제를 해결하기 위해서 

맨 위 툴바에서 

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

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

 

 

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

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

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

 

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

 

 

 

 

 

 

 

 

728x90
반응형

'Unity > 2D RPG' 카테고리의 다른 글

Canvas에서 메뉴 by Unity  (0) 2021.08.18
캐릭터 나눠지고 합쳐지게 by Unity  (0) 2021.08.05
캐릭터(원거리 공격) byUnity  (0) 2021.07.24
회복 아이템 by Unity  (0) 2021.07.18
캐릭터(슬라임) by Unity  (0) 2021.07.18