< [Paper2D로 게임 만들기 필기] 6. Orthographic, 타일맵

언리얼엔진5/블루프린트 Paper2D 로 게임 만들기

[Paper2D로 게임 만들기 필기] 6. Orthographic, 타일맵

Rocketbabydolls 2023. 7. 27. 21:58

Orthographic Projection 

   언리얼엔진은 3D 기반 엔진이기 때문에, 우리가 만들고 있는 액터들은 3D 객체를 2D처럼 보이게 해서 사용을 하고 있는 것이다. 따라서 아래와 같은 문제가 발생할 수 있다.

 

실행 전 게임의 모습. 비교를 위해 극단적인 예시를 들었다.

실행 화면

 

 

 

 

카메라에 원근이 적용되어 스켈레톤의 모습이 커지고, 심지어는 플레이어와 y축으로 겹치는 것도 볼 수 있다. 

   이때 필요한 것이 Orthographic 옵션이다. 

Orthographic Projection 은 직교 투영을 뜻하는데, 쉽게 말해 정사영이다. 

   

 

한눈에 알 수 있는 예시

이렇게 하면 3D임에도 2D와 같이 게임 화면이 표현된다. 물론 나중의 충돌 처리를 위해서는 플레이어와 몬스터 객체들을 같은 Y축 상에 배치해야 한다.

 

BP_Knights 에서 Camera 를 선택한 뒤 Projection Mode 를 바꿔준다.

Orthographic 선택

 

 

Tilemap

타일 맵 

 

   말 그대로 타일로 채울 수 있는 행렬이다. 맵을 만드는 데 사용할 예정이다.

 

paper2D로 가공한 텍스쳐 파일

 

이 텍스쳐 파일을 이용하 Tilemap 블루프린트를 만들어 타일을 만들 수 있다.

 

갑자기 나타나는 포토샵 같은 고전적인 화면

 

   Paper2D로 가공한 타일 세트를 가져오면 왼쪽에 불러와 진다. 왼쪽에서 원하는 타일을 골라 원하는 레이어에 적용시킬 수 있다. 타일이기 때문에 당연히 행렬 형태를 가진다. 내가 만든 타일 맵의 정보를 이 타일 맵을 상속받는 BP_TIlemap 블루프린트에서 불러올 수 있다.

 

 

 

 

타일 충돌 처리

 

Colliding Tiles 클릭

 

위 세개의 옵션으로 타일에 충돌 처리를 해 줄수 있다.

 

충돌처리를 위해서 당연히 Box 를 Wall Tile에 적용해주어 충돌 박스를 추가해 주었다. 

 

뷰포트에 나타나는 충돌 영역

이전에 우리가 플레이어 혹은 몬스터에 원통형으로 Collision Box 를 추가해 주었었는데, 크기를 적당히 조절해주어야 벽에 끼지 않고 이동한다.  

타일 맵의 정보를 가져오는 블루프린트

   위의 블루프린트의 내용은 간단하기 때문에 요약하자면,

1. 타일 맵의 크기를 가져온다.

2. 멤버 불리언 변수 배열을 가져온다. (충돌 처리를 위함)

3. For each 문을 돌면서 타일의 정보를 가져와서 벽이면 True, 벽이 아니면 False 를 반환한다. 

4. 디버깅 용으로 1,1 이 어떤 불리언을 반환하는지 출력한다.

 

위 블루프린트는 다음 시간에 사용할 예정이다.