오늘 학습 진행 내용
언리얼 강의
라이브 세션
DAY 4 플레이어 캐릭터와 나만의 레벨 디자인
블루프린트로 캐릭터를 세팅하는 법을 이해
향상된 입력 시스템을 통해 보다 직관적인 입력 기능을 적용
캐릭터의 이동 구현에 필요한 핵심 노드를 학습
레벨디자인이란?
레벨 디자인은 게임 속에서 플레이어가 탐험하고 상호작용하는 공간을 설계
배경 배치, 플레이어의 동선, 도전, 몰입감까지 디자인하는 작업
에셋 다운로드 및 프로젝트 셋업
Fab에서 OnlineLeaning Kit 또는 Stack O Bot, Lower Sector Building Kit 검색해서 다운로드
에픽 게임즈 런처 -> 언리얼 엔진 -> 라이브러리 탭 이동
추가된 에셋에서 프로젝트 생성해서 새 프로젝트 생성(생성 시 엔진 버전 다를 경우 폴더 내 프로젝트 파일 버전 변경 적용)
런처에서 프로젝트에 추가를 통해서 다른 에셋을 생성한 프로젝트에 추가
플레이어 캐릭터
플레이어 캐릭터는 게임에서 사용자가 조종하는 핵심 오브젝트
캐릭터의 외형, 시점, 이동 및 점프와 같은 기본적인 동작 되 다양한 기능은 블루프린트 시스템과 향상된 입력 시스템 사용하여 코드 작성없이 적용 가능
블루프린트 클래스 -> 캐릭터 선택 -> 캐릭터 블루프린트 클래스 생성
빈 캐릭터에 스켈레탈 메시 에셋 추가해서 캐릭터 생김새 추가
캐릭터 블루프린트 클래스에 스프링 암과 카메라 컴포넌트 추가해서 플레이 시점 지정
Enhanced Input System
UE5에서 새롭게 제공되는 입력 시스템
키보드,마우스,게임패드 등을 더 유연하게 지원하고 복잡한 컨트롤 매핑도 쉽게 설정할 수 있게 도와주는 시스템
입력 액션과 입력 매핑 컨텍스트 생성해서 사용
Look, Move는 Axis2D로 값 설정해서 사용
블루프린트 이벤트 그래프에는 Get Player Controller로 현재 플레이어 컨트롤러에 연결된 인풋 찾아서 매핑 컨테스트 연동되게 구성, 컨트롤러에서 카메라 매니저 가져와서 카메라 시점 변환 각도 조절 값 반영
Enhanced Input System Move
생성한 IA_NBC_Move는 구조체 핀 분할해서 X값은 앞으로 이동 Y축은 오른쪽으로 이동으로 할당해서 구성
Enhanced Input System Look
생성한 IA_NBC_Look은 구조체 핀 분할해서 X는 Yaw(좌우), Y는 Pitch(상하)에 연결 해서 카메라 상하좌우 움직임 구성
도전 과제. 점프 구현
입력 맵핑 컨텍스트에 Space 바를 점프 키로 등록, Input Action 점프는 한 방향 이동이므로 Axis 1D로 할당
점프 액션 기본 적으로 제공해주는 것 IA_NBC_Jump에 연결
레벨 디자인 하기
며칠간 에셋과 머터리얼들을 마음껏 가지고 놀아보셨을거라고 생각합니다. 이번에 할 일도 크게 다르지 않습니다.
주어진 에셋들을 확인하고 활용해서 창의적인 레벨디자인을 해봅시다. 아래는 제가 대충 그린 이미지입니다. 모두들 그림판을 이용해도 좋고, 공책과 펜을 꺼내도 좋습니다.
본인만의 플랫포머 게임 레벨을 완성해봅시다.
디자인에서 사용가능한 이벤트는 ‘이동’, ‘회전’, ‘오버랩’ 입니다.
머터리얼은 수정하지 않습니다. 레벨디자인에만 집중해주세요.
레벨 디자인 과제
주제 : 계층 구조의 미로맵 게임
계층 구조 미로 맵에 장애물(미로,움직이는 벽, 몬스터)와 포탈 형태로 구성
오늘 할일
1. 캐릭터 이동 세팅 복습하기
- ✅ 인풋 액션을 만들어 인풋 맵핑 컨텍스트에 등록해보세요.
- ✅ 캐릭터 블루프린트 이벤트그래프에서 등록한 인풋 액션 이벤트를 호출해 Move, Look, Jump를 구현해보세요.
계층 형태 배치를 위해서 벽 구조물 만들 때 같은 액터 여러개 Merge 해서 모양 별로 만들어서 재활용해서 배치
계층 구조 전체적으로 보이게 하기 위해서 바닥 매시에 반투명 머터리얼 적용
각 미로 마다 움직이는 벽은 각각 조정하기 위해서 별도 액터에 구조체 변수로 이동 거리, 이동 방향 반영
포털 느낌 살리기 위해서 문 형태 큐브 Shape 3개로 문틀 만들고 내부에 Sphere Shape에 반투명한 Grid 머터리얼 적용해서 포탈 형태 구현
몬스터,미로,포털 각 계층 별로 배치