글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다

 

 

 


 

인프런 Rookiss님의 '언리얼 엔 2D 게임' 강의를 기반으로 정리한 필기입니다. 
😎[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문 강의 들으러 가기!
 

 

Tile Map

 

 


Paper 2D 게임 카메라 설정

 

BP_Knight

  • 플레이어인 Knight를 따라다니는 카메라 프로젝션 모드를 Perspective -> Orthographic으로 변경해준다.
  • 2D 게임에서 원근감이 안 느껴져야 하므로 다음과 같이 변경한다.
  • Perspective: 원근감이 느껴지는 카메라
  • Orthographic: 원근감이 느껴지지 않는 카메라

 

 

 


 

Tile Map 만들기

 

Create TileSet

  • 불러온 타일 텍스처를 Sprite Actions - Apply Paper 2D texture setting 적용
  • 그 후 우클릭 - Sprite Actions - Create Tile Set 눌러서 생성

 

Create TileMap

  • 우클릭 - Paper2D - Tile Map 생성
  • TileMap에서 타일맵 그리고 수정

 

Tile Map 충돌

 

Collision Tile 만들기

TileSet

  • Collision Tiles - Add Box/Polygon/Circle
  • Collision을 적용해서 벽이 될 타일모양을 지정해준다.

 

TileMap

  • Collision Thickness를 조정해서 타일맵과 플레이어/몬스터 사이의 거리에 적용되게 값을 지정해준다.
  • 값이 크면 이동타일도 제대로 이동이 불가능하고
  • 값이 작으면 벽타일도 통과하게 된다.  

 

Level Viewport에서 collision이 보이도록 설정

 


 

Tile Map 정보 추출 

 

BP_TileMap

  • Blueprint Class - Paper TileMap Actor 생성
  • BP_TileMap - Render Component - TileMap에 지금까지 작업한 TileMap 지정

 

 

Event Graph

 

 

CanGo

  • BP_TileMap 내에 CanGo 함수를 만들어준다.
  • CanGo 함수는 만나는(=지나가는) 타일이 벽인지 지나갈 수 있는 타일인지 판단하는 함수이다.
  • 타일맵의 배열이 10x10이므로 위와 같이 GridY에 10을 곱해준다.

 

 

 


Tile 좌표 구하기

 

BP_TileMap

CanGo, GetPosToIndex, GetTilePos 함수 추가

MapGrid, MapWidth, MapHeight, MapSizeX, MapSizeY 변수 추가

 

 

CanGo

 

GetPosToIndex

 

GetTilePos

  • GetTilePos함수 생성
  • GetTilePos함수 - Pure 체크

 

Event Graph

 

 

 

 

BP_Knight 수정

  • Begin Play 뒤에 Knight의 시작 위치를 설정하는 노드 추가

 


Tile 단위 이동

 

EGridPos

  • Blueprint Class - Structure 생성
  • X, Y 생성

 

 

BP_Creature

SetDestination, HasArrivedToDest, UpdateDestination 함수 생성

 

SetDestination

  • SetDestination 함수 생성

 

HasArrivedToDest

 

UpdateDestination

 

UpdateLogic 수정

 

 

 

 

 

 

BP_Knight 수정

  • 수정 전 BP_Knight - Event Graph
  • 수정 후 BP_Knight - Event Graph
  • 위에서 만들어준 Set Destination 함수를 호출한다.
  • Set Destination 함수에서 Force Move를 체크하면 게임 실행 시 Knight는 GridX, GridY 위치에서 시작한다.

 

 

BP_PlayerController

  •  

 


실행화면