본문 바로가기
제출용/TIL

내일배움캠프 21일차 TIL + 충돌, 맵만들기

by 유린테 2024. 5. 14.

이번 강의 중에서 제일 재밌는 부분이다!!!!! 

충돌이랑 맵 만드는거 재밌다!!

근데 적다가 중간 에 싹 날라가서... 다시 적었더니 많이 간소화 되어버림 흑흑

 

 

충돌

Unity에서 충돌과 관련하여 중요한 개념은 Collider / Rigidbody 컴포넌트.

> 이 두 컴포넌트는 유니티에서 물리 시뮬레이션과 충돌 감지를 처리하는데 필수적임

 

Collider 

게임 오브젝트에 물리적 형태를 부여함 

> 충돌 감지 // 여러 종류의 Collider가 있음

ex. 사각형 (BoxCollider), 구형 (SphereCollider), 복잡한 메시형태 ( MeshCollider) 

 

Rigidbody 

게임 오브젝트에 물리법칙을 적용함

> 중력에 영향을 받고, 힘과 토크를 통해 움직일 수 있음

충돌이 되는 대상 중 한 쪽 (움직이는 쪽)에는 Rigidbody가 붙어있어야 Collider와 충돌할 수 있다

Trigger 충돌도 Rigidbody 필요홤 > 움직이는 쪽이 물리 시뮬레이션을 하면서 충돌 체크를 하기 때문

 

충돌 발생 시

OnCollisionEnter, OnCollisionStay, OnCollisionExit 등의 이벤트를 발생시킴 (2D일시 뒤에 각각 2D 붙여줌)

이 이벤트는 스크립트에서 처리하여 원하는 기능을 실행할 수 있음

ex. 오브젝트가 땅에 닿으면 점프 가능 상태로 변경/ 오브젝트가 플레이어와 충돌시 데미지 입기 등

 

<주의> BoxCollider, SphereCollider 와 같은 3D 콜라이더가 붙어있는 오브젝트에는 2D 충돌함수가 발생하지 않음

2D 콜라이더가 붙어있는 오브젝트에도 3D 충돌 이벤트 함수가 발생하지 않음

BoxCollider는 2D와 3D가 모두 있어서 실수하는 경우가 있다.

 

Tilemap

타일 기반의 게임 환경을 쉽게 만들 수 있습니다.

작은 스프라이트를 통해 광대한 게임 환경을 구성할 수 있으며, 복잡한 게임 레벨을 쉽게 디자인하고, 편집하고, 조작할 수 있습니다.

 

Tilemap 시스템의 구성 요소

Tilemap GameObject: Unity의 타일맵 구조를 구성하는 데 사용됩니다.Tilemap Grid의 자식으로 위치하고, 특정 타일의 배치를 관리합니다.

Grid GameObject: 모든 타일맵이 위치하는 기본 격자를 나타냅니다.

Tilemap Renderer: Tilemap의 모양을 실제로 그리는 역할을 합니다.

Tilemap Collider 2D: 필요한 경우, Tilemap에 물리적인 경계를 추가하는 데 사용됩니다. 이를 통해 게임 캐릭터가 타일맵 환경과 상호작용할 수 있게 됩니다.

Tile Assets: 개별 타일의 모양과 동작을 정의합니다. 여러 개의 타일을 묶어서 Tileset이라고 부르기도 합니다.

Create → 2D Object → Tilemap → Rectangular

하면 격자가 생성되는데, 그 격자가 위치 기준이라고 보면 됨

 

Window → 2D → Tile Palette

해서 에셋들 추가하면 폴더 뜨는데 Tilpmap 폴더에 새폴더 만들어서 넣으면 됨

 

Create → 2D Object → Tilemap → Rectangular → BackDeco / FrontDeco 

이런식으로 캐릭터보다 뒤, 앞 구분해서 order in layer -20, 20 으로 조정해주면 됨

 

펜 누르고 그리면 그려지고 지우개 누르고 그리면 지워짐.

 


 

 

아 .. 진짜 열심히 적었는데 쓰다가 날아가서 듬성듬성 다시 적음

에휴.... 컴퓨터가 갑자기 멈춰서 그때 작업중이던거 싹~ 날아가버렸다.

맵 찍는거나 충돌 설정이 재밌어서 망정이지 재미없는거 하다가 날아갔으면 많이 화가났을듯함

그래도 재밌었다.

맵을 이런식으로 만드는 거였구나!!!!!!!!! ㅎ헤헷..

조금씩 게임같은 느낌이 들기 시작해서 신기하다!!!!