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 |