글의 요약 설명 부분. 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

    •  

     


    실행화면