에셋 파일들과 블루프린트 틀은 이전에 들었던 Rookiss 님의 '언리얼엔진으로 2D게임 만들기' 를 기반으로 했다.
구조체
강의를 들을 때는 기초적인 지식부터 쌓은 뒤 이후에 구조체를 적용하였는데, 리팩토링을 여러 번 할 필요 없이 미리 구조체를 만들어 놓았다. 구조체의 구성은 다음과 같다.
. 이 CreatureData의 기본값은 일단 위와 같이 설정해 놓았고, 어짜피 데이터 테이블에서 데이터를 꺼내서 덮어씌워서 사용할 것이므로 크게 상관 없을 것이다. 다음으로 데이터 테이블을 만들어서 Knight 의 정보도 넣어 주었다.
이렇게 만든 데이터 테이블의 정보를 토대로 Creature 블루프린트에서 이 생물(기사/ 스켈레톤) 의 체력을 설정해 줄 수 있게 했다.
열거형 변수
위의 두 가지 상태를 만들어서 로직을 짜기 쉽게 만들었다. 크게 설명할 것은 없는 듯하다.
게임 모드
이전에 설명했던 것과 같이 언리얼 엔진은 꽤나 많이 정형화가 되어 있는 엔진이기 때문에 게임 모드도 따로 설정해서 편하게 클라이언트 개발을 할 수 있다. 나도 굉장히 정형화된 2D 게임을 만들지만, 연습을 위해 직접 만든 플레이어 컨트롤러, 그리고 클래스들을 토대로 게임 모드를 설정해 주었다.
캐릭터 이동
게임의 가장 기본이 되는 캐릭터 이동 파트 복습이다. 캐릭터 이동 또한 플레이어 컨트롤러와 프로젝트의 인풋 설정을 통해 쉽게 개발이 가능한데, Project Settings - Engine - Input 에서 설정할 수 있다.
Scale 에 대한 더 자세한 설명은 이전의 포스팅에서 확인 가능하다.
[Paper2D로 게임 만들기 필기] 1-2. Unreal VS Unity, Spirte & Texture, 키 매핑, 매크로
언리얼 엔진의 계층구조 유니티에서는 큐브를 만들 때 아예 빈 깡통에서 채워 나간다. 반면에 언리얼 엔진은 이미 큐브를 생성하면 여러 기능을 가지고 있다. ex) cube 를 만들면 Actor 클래스를 상
plug-in-baby.tistory.com
그 다음으로 플레이어 컨트롤러에서 컨트롤을 관장하므로 이동해서 작업해준다.
방금 전에 설정한 축 매핑을 통해 축 매핑 값이 변하면(키 입력이 있으면) EState 값을 'Move' 로 바꾸고, 이동을 시켜준 다음 축 값의 변화가 사라지면(0이 되면) 다시 Idle 상태로 값을 바꿔준다.
이동을 시키는 것은 Creature 블루프린트에서 수행한다. 이벤트 틱마다 실행되는 Update Logic 함수를 만들어서 현재 객체의 위치에서 상하좌우로 고정값 30 만큼 이동시키는 블루프린트를 짜 보았다.
정말로 '이동' 만 한다. 애니메이션을 적용하거나 한 것이 아니고, 타일맵을 기준으로 한 칸씩 이동하는 것도 아니기 때문에 공기가 없는 우주 유영처럼 이동한다.
다음 복습에는 애니메이션 추가 부터 시작할 생각이다.
2일차 후기
당연히 전부 한번에 외워서 코드를 다시 짜기는 힘들었다. 따라서 최대한 방식을 생각해 보고 기억이 안 나는 메소드가 있거나 도저히 모르겠는 때만 이전의 포스팅을 참고하거나 완성 프로젝트 파일을 참고할 예정이다.
'언리얼엔진5 > 블루프린트 Paper2D 로 게임 만들기' 카테고리의 다른 글
[Paper2D로 게임만들기 복습] 1. 진행 계획 (0) | 2023.08.04 |
---|---|
[Paper2D로 게임 만들기 필기] 9. 게임 인스턴스, 컴포넌트, UI, 유지보수 (0) | 2023.07.30 |
[Paper2D로 게임 만들기 필기] 7-8. 타일 관련 작업, 몬스터 스폰 / AI 개선 (0) | 2023.07.28 |
[Paper2D로 게임 만들기 필기] 6. Orthographic, 타일맵 (0) | 2023.07.27 |
[Paper2D로 게임 만들기 필기] 4-5. DataTable, 피격 판정, Widget Blueprint, FSM, Controller (0) | 2023.07.25 |