본문 바로가기
C#

[Unity] 오브젝트 충돌

by teamnova 2022. 9. 26.

안녕하세요 오늘은 통과하지 못하는 오브젝트를 세워보겠습니다.

오늘하는 것을 응용하면 맵에 이동하지 못하는 벽과 같은 경계선을 만들 수 있습니다. 

 

먼저 맵에 오브젝트를 하나 생성합니다. (종류나 이미지 상관없습니다.)

 

생성을 하면 현재는 캐릭터가 자연스럽게 통과하게 됩니다.

 

 

생성한 오브젝트를 눌러서 인스펙터에 BoxCollider2D 컴포넌트를 추가합니다. 

2차원 형태로 충돌 경계선을 만들어줍니다.

 

크기를 조정하면서 너무 작게 설정하면 오브젝트를 거의 관통한 상태에서 멈추게 되고, 

크기가 과하면 오브젝트에 다가가지도 않은 상태에서 투명한 벽에 막히게 됩니다.

이렇게 연두색의 2차원 상자 형태로 충돌 경계선이 생성되게 됩니다.

저 경계선 모양대로 통과하지 못합니다.

 

오브젝트로 충돌설정은 되었으나 캐릭터가 collider 모양대로 회전하게 될 경우가 있습니다.

 

 

이 문제는 캐릭터에서 Rifidbody2D 에서 Constraints - 회전고정 Z를 클릭하면 회전이 일어나지 않게됩니다.

추가적으로 나무에 BoxCollider2D 컴포넌트를 추가했지만 그대로 통과가 되는 경우에는 캐릭터에 BoxCollider2D가 없는 경우일 수 있습니다. 

 

 

 

'C#' 카테고리의 다른 글

[C#][Unity] 2D 캐릭터 이동시 현재방향 저장  (0) 2022.10.14
[C#][Unity] 중력 조절  (0) 2022.10.01
[C#][Unity] UI 속성  (0) 2022.09.16
[Unity] 타일맵으로 맵 구성하기  (0) 2022.09.11
[C#][Unity] 프리팹이란?  (0) 2022.09.01