#49 2D 게임의 게임 원근

국기웅·2024년 7월 2일

게임을 개발하는데 있어서 뷰포트는 게임의 느낌을 보여주는 중요한 요소이다. 대표적으로 3가지 방식이 있다.

  1. 탑다운 : 동작을 오버헤드뷰로 보여주는 형식
  2. 사이드온 : 캐릭터가 좌우로 움직이고, 캐릭터의 움직임에 따라 카메라가 같이 이동하는 형식(횡스크롤)
  3. 아이소메트릭 / 2.5D : 3D지모메트리를 이용해 시뮬레이션하지만, 직교 카메라를 사용하는 형식이다. 플레이어는 조감도와 같이 동작을 확인할 수 있다. 2D이지만, 3D를 통해 개발을 진행한다. 하지만 시각적인 부분만 3D인것이다.

탑다운과 사이드온같은 경우에는, 타일맵과 9슬라이싱 툴이 유용하다. 아이소메트릭의 경우에는 아이소메트릭 타일맵 툴이 유용하다.


이번에 개발하고자 하는 게임은 아이소메트릭 느낌이 나오는 형태이다. 아이소메트릭 타일맵은 2D Object -> Isometric Tilemap / Isometric Z as Y Tilemap을 이용해 사용할 수 있다.
아이소메트릭 타일맵은 렌더링 시 뒤쪽의 타일맵을 먼저 렌더링하고, 그 뒤에 앞부분을 렌더링하여 유사 깊이 효과를 만들어낸다.
모든 렌더러가 해당 효과를 만들기 위해서는 축을 정렬 축으로 사용되야 한다.

Transparency Sort mode를 Custom Axis로 설정하여 0,1,0을 입력하면 축을 정해줄 수 있다.


타일들을 올바르게 겹쳐서 쌓아 올리기 위해서는 Sort Axis를 정확하게 맞춰주는것이 중요하다.
좌측 이미지에서는 타일들의 렌더링 순서가 올바르지 못해 이상한 형태가 되지만, 우측에서는 탑이 쌓아져있는 모습이 그려진다.


번외로 ShadowCaster2D라는 옵션이 존재한다. 이는 2D오브젝트의 그림자를 생성할 수 있는 요소 중 하나이다.
Component -> Rendering -> 2D -> ShadowCaster2D를 통해 적용시킬 수 있다.

UseRendererSilhouette 를 통해 자기 자신의 실루엣을 그림자로 만들 수 있다.

CastsShadows는 그림자를 활성화시킨다

SelfShadows는 자기 자신도 그림자로 만든다.

같이 사용할 컴포넌트로 Composite Shadow Caster2D가 있다. 이건 두개 이상의 객체가 그림자를 생성할때 서로 겹쳐서 자연스럽게 나타나도록 만들어주는 컴포넌트이다.



아래쪽이 활성화된 모습이다.

2D의 퀄리티를 올리기 위한 공부는 계속해야할것같다.. 기능 구현도 물론 중요하지만 디테일을 참을수가없다

profile
게임개발호소인

0개의 댓글