다시 돌아온 유니티 강좌! 오늘은 유니티의 충돌과 리지드바디에 대해서 배울겁니다.
설명을 하기 위해서 다시 유니티를 켜줍니다.
하지만 저 예시오브젝트로 설명하기엔 좀 까다로우니깐 새로운 오브젝트를 하나 가져오겠습니다.
좀 눈이 아프겠지만 의도한 겁니다. 이제 이걸 예시에 했던것 처럼 드래그해서 유니티 프로젝트 탭에 넣어줍니다. 그다음 예시와 같이
저렇게 EYEBREAKER을 클릭하셔서 인스펙터 창의 Filter Mode에 Bilinear옆에 역삼각형을 눌러서 Point(no filter)으로 바꿔줍니다. 그다음에
사진에서 보이는 빨간색 동그라미를 클릭 -> 파란색 오브젝트를 드래그해서 Scene뷰로 옮기시면 됩니다(드래그 과정에 You have not applied setting 이라는 문구가 뜨면 Apply 눌러주기!). Scene 뷰로 오브젝트를 보내면 하이어라키(Hierachy)에 EYEBREAKER 이라는 오브젝트가 하나 생깁니다. 이걸 클릭해 주시면 인스펙터 창에
두가지 컴포넌트가 나옵니다. 여기서 Transform 컴포넌트의 Scale 항목을 50 50 1으로 해줍니다. 그러면 적당한 크기가 됩니다. 이상태에서 본문 들어갑니다, 하이어라키의 EYEBREAKER을 누르시고, 인스펙터 창의 Add Component를 클릭, Rigidbody 2D 를 검색후 클릭하시면 인스펙터에 Rigidbody 2D 컴포넌트가 들어갑니다.
Rigidbody는 음.... 여기 컵이 있다고 칩시다. 컵을 높이서 떨어트리면 떨어지겠죠, 하지만 유니티의 물체는 그렇지 않습니다. 왜냐하면 기본적인 물리법칙이 없거든요(공기저항, 중력, 질량 ,등등) 하지만 RIgidbody컴포넌트를 오브젝트에 추가시켜 주므로써 기본적인 물리법칙을 적용시켜주는 것입니다.
다시 유니티로 돌아와서, Rigidbody 2D를 추가시키신 뒤에, 실행을 눌러보시면 EYEBREAKER가 떨어집니다. 중력이 생겼거든요.
땅을 하나 불러와 볼까요?
EYEBREAKER과 똑같이 설정해 주시면 됩니다.그리고 Rigidbody 2D 컴포넌트에서 Constraints항목의 Freeze Position, Rotation 모오두 체크. 단, 스케일은 1000 100 1 추천!
Q: 음..그럼 이제 실행시키면 되는건가요?
예 안됩니다. 왜냐하면 우리는 기본물리학만 넣어줬지 충돌을 적용시키진 않았거든요 ㅎㅎ 다시 인스펙터에서 Add component에서 Box Collider 2D를 EYEBREAKER 오브젝트에 넣어줍니다. 그다음,GROUNDEX 오브젝트에도 똑같이 넣어줍니다.
여기서 잠깐만! Collider란 충돌 컴포넌트 입니다. 오브젝트와 오브젝트끼리 충돌했을때 서로 뚫고 지나가지 못하도록 충돌을 넣어준 것입니다. 보동 Rigidbody와 같이 씁니다.
그다음 실행시켜주시면 이제 쿵! 하고 부닥칩니다. 이렇게해서 리지드바디와 콜라이더를 배워봤는데요, 재밌죠? ㅎㅎ다음시간엔 움직임 파트 2를 써보도록 하겠습니다
'게임 개발' 카테고리의 다른 글
[유니티 강좌] 6.움직이자! (0) | 2022.03.17 |
---|---|
[유니티 강좌]5.스크립트의 구성을 알아보자! (0) | 2022.02.27 |
[유니티 강좌]4. 유니티 C# 스크립트의 연동 (0) | 2022.02.26 |
[유니티 강좌]3.VsCode 설치 (0) | 2022.02.24 |
[유니티 강좌]2. 게임 오브젝트 (0) | 2022.02.23 |