유니티/게임 프로젝트

2D RPG - (6) Tilemap을 통한 배경 그리기 + Cinemachine

monstro 2024. 12. 11. 21:11
728x90
반응형

1) Tilemap

2D 플랫포머 게임에서 배경을 만들기 위해서

우선 Hiearchy 창에서 우클릭 후에 2D - Tilemap - Renctangular를 생성하겠습니다.

총 2개를 생성하고 각각 Ground와 Background라고 이름붙이겠습니다.

 

Ground플레이어와 상호작용할 지형지물의 역할을 수행하게 됩니다.
그리고 Background플레이어와 관계없는 배경의 역할을 수행할 예정입니다.

 

따라서 설정은 각기 다른데, 각각 다음과 같습니다.

 

Ground의 설정은 다음과 같습니다.

 

물리 설정을 수행해야 하므로 Rigidbody2D 컴포넌트를 추가하고 설정을 Static으로 하여 고정시키겠습니다.

그 이후 Tilemap에 적용할

Tilemap Collider2D와 물리 시스템과 상호작용할 Composite Collider2D를 추가합니다.

 

 

Background의 경우, 물리 설정을 위해 컴포넌트를 추가하진 않지만,

대신 Tilemap Renderer에서 Order In Layer를 -1로 설정하여

Ground의 뒤에서 그려지게끔 설정하겠습니다.

 

다음으로 Cinemachine을 알아보겠습니다.

2) Cinemachine

Cinemachine은 유니티에서 플레이어 친화적인 카메라를 설정하는 경우에 사용합니다.

설정하는 과정은 다음과 같습니다.

 

  1. Cinemachine 패키지를 설치
  2. Hiearchy창에서 우클릭하여 Cinemachine의 2D Camera를 추가
  3. 추가한 2D Camera의 Follow에 플레이어를 설정

기존에 존재하던 Main Camera는 CineMachineBrain으로서 동작하게 됩니다.
이 상태는 Cinemachine에 의해 덮어씌워진 상황이므로 Camera 컴포넌트의 Size를 건드는 것은 영향을 줄 수 없습니다.

따라서 Cinemachine 쪽에서 설정을 진행하게 됩니다.

 

 

Cinemachine의 경우 위와 같이 설정이 구성되어 있습니다.

2 - 1) Cinemachine의 설정

Cinemachine과 플레이어 사이의 거리Lens - Ortho Size를 통해 조정할 수 있습니다.

크기가 작을수록 플레이어와 가까워집니다.

 

Body - Screen XBody - Screen Y의 경우에

Cinemachine이 플레이어를 포징하는 가로와 세로의 비율을 결정합니다.

 

Body - X/Y/Z Damping의 경우

Cinemachine이 플레이어를 쫓아오는 속도를 조정합니다.

 

Body -  Lookahead Time의 경우

Cinemachine이 플레이어 앞에 무엇이 있는지 보여주는 정도를 조정합니다.

Body - Lookahead Smoothing의 경우 앞에 무엇이 있는지 보여주는 속도를 조정합니다.

그리고 Y축에 Lookahead를 적용하기 싫다면 Look ahead Ignore Y를 설정하여 X축에만 적용할 수 있습니다.

 

Body - Dead Zone설정

Cinemachine이 플레이어를 따라오는 지점을 설정합니다.

Dead Zone의 범위 안에서는 카메라가 플레이어를 쫓아오지 않습니다.

 

Body - Soft Zone 설정

Cinemachine이 플레이어와 수평을 맞추기 위한 지점을 설정합니다.

Soft Zone 안에서는 카메라가 플레이어와 수평을 맞추고자 움직이게 됩니다.

 

이제 그렇다면 Tilemap과 Cinemachine이 잘 동작하는지 확인해보겠습니다.

 

 

잘 동작하는 것을 확인할 수 있습니다.

728x90
반응형