[Unity] Dungeon Gunner (16) - Dungeon Room Templates [3]

suhan0304·2024년 1월 29일
0

유니티 - Dungeon Gunner

목록 보기
16/30
post-thumbnail

던전 룸 제작

이제 타일맵을 사용해서 던전 룸을 만들어보자. 저번에 만들어놓은 RoomTemplate을 하나 복사해서 MediumRoom을 제작한다.

해당 MediumRoom 프리팹을 열고 Tile Palette를 준비해서 던전을 그려보자.

던전의 Ground를 제작해주는데 제약 조건을 만족시키면서 던전 룸을 그린다. 던전 룸의 문(입구)에는 3개의 타일 틈이 있어야한다.

Tilemap을 잘 선택해서 던전을 그리자.

Tilemap1_Ground가 선택되어있는 상태이다. 다른 타일맵 오브젝트를 선택하거나, 해당 부분을 드롭 다운해서 다른 타일맵에 그릴 수 있다.


Tilemap1_Ground


Tilemap2_Decoration1


Tilemap3_Dectoration2


Tilemap4_Front

단순히 이렇게 그리면 플레이어를 instance Sorting Layer로 설정해주면 모든 벽에서 플레이어 오브젝트가 앞에서 렌더링되게 된다. 우리가 원하는 벽 뒤의 플레이어를 구현해보자. 따라서 플레이어보다 앞에 오게될 부분을 Front 타일맵으로 옮겨준다. (하단 벽, 석상 윗부분)

지금 선택된 부분이 Front 타일맵이다.

겉모습으로는 기존의 던전과 동일하다. 해당 프리팹을 배치해두고 instance sorting layer 오브젝트를 두면 실제로 벽 뒤에 렌더링된다.


플레이어가 방에 진입했음을 파악할 수 있도록 박스 콜라이더 위치를 수정한다. 그리고 Is Trigger를 활성화해준다.

사이즈와 위치를 대강 잡아준 다음 box collider 2D의 Offset과 Size를 가까운 정수로 맞춰주면 우리가 원하는 픽셀에 딱 맞게 콜라이더를 위치 시킬 수 있다.


Tilemap5_Collision

충돌 부분을 나눠서 그리고 적이 움직일 경로를 그린다.

  • 보라색 부분 : 충돌 부분
  • 초록색 부분 : 비충돌 부분으로 적이 움직일 수 있는 부분

기존에 추가해놓았던 Polygons Type으로 기하학적 타입을 설정해놓아서 해당 타일 부분이 최소한의 기하학적 구조로 충돌 타일을 자동으로 Collider를 생성해준다.


Minimap

메인 카메라로 렌더링되지는 않지만 실제로 미니맵으로 표시할 타일맵을 그린다.

미니맵은 실제로 다른 카메라로 렌더링 되기 때문에 다른 오브젝트를 모두 비활성화한 아래와 같은 모습으로 특정 위치에 렌더링 될 것이다.


그린 타일맵이 다른 타일맵과 연결될 때 타일맵 간 제대로 연결되기 위해서 모든 타일맵을 선택해준 후에 Compress Tilemap Bounds를 진행해준다. 이렇게 하면 경계선에 딱 맞게 오브젝트를 압축시킬 수 있다.


이제 필요한 던전 룸을 하나 생성했다고 할 수 있다. 이제 이 던전 룸을 배치하는 것은 알고리즘을 통해 제어할 예정이다.

profile
Be Honest, Be Harder, Be Stronger

0개의 댓글

관련 채용 정보