[Unreal] Paper2D - 6: Tile Map
글의 요약 설명 부분. 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
실행화면
'⭐ Unreal Engine > UE Blueprint 2D' 카테고리의 다른 글
[Unreal] Paper2D - 7: 게임 콘텐츠 (0) | 2022.12.23 |
---|---|
[Unreal] Paper2D - 5: Controller (0) | 2022.12.18 |
[Unreal] Paper2D - 4: FSM 유한상태기계 (0) | 2022.12.18 |
[Unreal] Paper2D - 3: 피격판정 (0) | 2022.12.18 |
[Unreal] Paper2D - 2: Creature, Monster (0) | 2022.12.14 |
댓글
이 글 공유하기
다른 글
-
[Unreal] Paper2D - 7: 게임 콘텐츠
[Unreal] Paper2D - 7: 게임 콘텐츠
2022.12.23 -
[Unreal] Paper2D - 5: Controller
[Unreal] Paper2D - 5: Controller
2022.12.18 -
[Unreal] Paper2D - 4: FSM 유한상태기계
[Unreal] Paper2D - 4: FSM 유한상태기계
2022.12.18 -
[Unreal] Paper2D - 3: 피격판정
[Unreal] Paper2D - 3: 피격판정
2022.12.18