이번 포스팅에서는 유니티에서 많이 사용하는 Collider 컴포넌트와 Rigid body 컴포넌트를 사용하는 것을 포스팅하도록 하겠습니다.
포스팅은 유니티 2D 게임 개발(게임 개발 프로그래밍)에 나온 에제로 진행합니다.
#1 유니티2D 개발 시작하기
안녕하세요 첫 포스팅입니다. 유니티2D 관련 포스팅을 진행하겠습니다. 게임개발에 필요한 지식을 전달하고 함께 학습하겠습니다. 먼저 유니티2D 개발 블로그 포스팅에 앞서 참고한 책을 소개합
my-develop-note.tistory.com
Collider(콜라이더 : 충돌체)
콜라이더는 게임오브젝트에 추가하는 컴포넌트입니다.
유니티에서는 콜라이더를 통하여 오브젝트가 충돌이 일어났는지 확인합니다.
오브젝트를 어림한 모양을 만드는 "프리미티브 콜라이더" 를 사용을 하고 "프리미티브 콜라이더"는 프로세서의 부담을 덜어주는 장점을 가지고 있습니다.

프리미티브 콜라이더는 Box Collider 2D 와 Circle Collider 2D가 존재합니다.

PlayerObject > Add Component > Box Collider 2D 를 검색하여서 컴포넌트를 추가합니다.

1. Box Collider 2D 컴포넌트의 이름 왼쪽에 보시면 아래 화살표 모양을 눌러 Box Collider 2D를 펼칩니다.
2. Box Collider 2D > Edit Collider > 도구 모양을 클릭하면 Scene뷰에 PlayerObject에 초록색테두리가 보이게됩니다.
이것이 바로 유니티에서 충돌이 일어났을때 확인하는 콜라이더 모양입니다.
저희는 Box Collider 2D 컴포넌트를 사용하기 때문에 Box모양으로 되어있는 것을 확인할 수 있습니다.
3. 초록색 테두리를 Object의 모양대로 확대/축소합니다.
4. 다시 Edit Collider > 도구모양을 클릭하여서 적용합니다.
Rigid body(리지드바디 : 강체)
리지드바디 컴포넌트는 유니티의 물리 엔진과 상호 작용할 수 있습니다.
리지드바디 컴포넌트로 중력과 같은 힘을 적용할 게임 오브젝트를 구별하고 적용합니다.
예를 들어 자동차 오브젝트에 가속 버튼을 누르게 되면 자동차가 가는 방향에 속력이 더 빨라지는 것을 볼 수 있습니다.
이러한 물리적 힘을 적용할 수 있게 해주는 것이 리지드바디 컴포넌트 입니다.

PlayerObject > Add Component > Rigidbody 2D 컴포넌트를 추가하게 되면 PlayerObject에 Rigidbody 2D 컴포넌트가 추가가 된것을 볼 수 있습니다.

Box Collider 2D 컴포넌트와 마찬가지로 Rigidbody 2D 컴포넌트의 이름 좌측에 화살표를 눌러서 Rigidbody 2D 컴포넌트를 펼칩니다.
1. Body Type > Dynamic(동적)
2. Mass(질량) > 1
3. Linear Drag(선 항력) > 0
4. Angular Drag(각 항력) > 0
5. Gravity Scale(중력 크기) > 0
※Gravity Scale(중력 크기)를 1로 설정하고 게임을 진행하면 게임 오브젝트가 밑으로 한없이 떨어지는 것을 볼 수 있습니다. 이것은 중력 값이 설정이 되어서 그렇습니다.
저는 프로젝트 전체에 중력 값을 0으로 만들것이기 때문에

Edit > Project Settings > Physics 2D > Gravity > Y 값을 0으로 바꾸었습니다.
※ Body Type은 3가지 Type이 존재합니다.
1. Dynamic(동적) : Dynamic은 다른 오브젝트와 충돌하거나 상호작용할 수 있습니다.
2. Kinematic(키네마틱) : Kinematic은 중력 등 외부의 물리적 힘에 영향을 받지 않습니다. 속도를 지닐 수 있지만 보통 스크립트를 통하여 Transform 컴포넌트의 값이 바뀔 때만 움직입니다.
3. Static(정적) : Static은 게임 안에서 오브젝트가 절대 움직이지 않습니다.
마지막으로 Ctrl + S를 눌러 Scene을 저장합니다!
감사합니다! :)
'유니티2D' 카테고리의 다른 글
#7 유니티 프리팹(Prefab) (0) | 2020.11.27 |
---|---|
#6 유니티 태그(Tag), 레이어(Layer) (0) | 2020.11.27 |
#4 유니티 애니메이션 만들기 (2) | 2020.11.23 |
#3 유니티 에셋스토어 (Free Platform Game Assets) 사용하기 (0) | 2020.11.20 |
#2-3 유니티 인터페이스(도구 소개) (0) | 2020.11.20 |