레벨 디자인
게임 속에서 플레이어가 탐험하고 상호작용하는 공간을 설계하는 일
배경 배치에 더해서 플레이어의 동선, 도전, 몰입감까지 디자인하는 작업
무엇을 보고, 어디로 가고, 어떤 감정을 느낄지, 이 모든 경험을 결정짓는 것
에셋 다운로드 및 프로젝트 셋업
에셋 다운로드
Fab 홈페이지에서 원하는 에셋을 찾고 내 라이브러리에 추가하기를 선택한다.
Fab 링크 : https://www.fab.com/ko/
에셋을 지원하는 엔진 버전이 다를 때 해결법
에픽 게임즈 런처 → 언리얼 엔진 → 라이브러리
라이브러리에서 추가된 에셋 확인
프로젝트 생성 버튼을 눌러 새 프로젝트 생성
※ 프로젝트 저장 경로에 영어만 있어야 불필요한 오류가 일어나지 않음
생성된 내 프로젝트에 마우스 우클릭 → 폴더 보기 → .uproject 형식으로 된 파일 확장자 마우스 우클릭 → Switch Unreal Engine wersion 선택 (없다면 추가 옵션 표시 선택 후 찾을 것) → 현재 사용 중인 버전 선택 후 확인
다른 에셋 추가 방법
Fab 에서 가져온 일부 에셋의 경우 '프로젝트 생성'이 아닌 프로젝트에 추가 버튼으로 표시되어 있음.
프로젝트에 추가 → 원하는 프로젝트 선택 후 프로젝트에 추가
※ 에셋 버전이 달라서 호환되는 유저 프로젝트 명단에 나오지 않을 경우
에셋을 넣을 프로젝트 실행 → 언리얼 엔진 내에서 Fab 실행 → Fab 내에서 프로젝트에 추가할 에셋에 들어가 Add to Project로 추가 → Asset not compatible에 원하는 버전을 선택 후 Add to project 선택
추가한 에셋 목록 살펴보기
콘텐츠 드로어 → 에셋 명 파일에 들어가기
플레이어 캐릭터 만들기
콘텐츠 드로어 내에 마우스 우클릭으로 블루프린트 클래스 선택 → 부모 클래스 선택에서 캐릭터 선택
※ 언리얼 엔진 내에 파일 생성시 이름에 접두어로 BP 붙이기
예 : BP_character
※ 애니메이션 블루프린트 생성시 접두어로 ABP 붙이기
생성된 캐릭터 블루프린트 선택 → 컴포넌트(Components) 패널에 메시(Mesh) (예 : Mesh (characterMesh0)) 선택 → 디테일(Details) 패널에 메시(Mesh) 항목의 (스켈레탈 메시 에셋)Skeletal Mesh Asset 선택 → 원하는 에셋 선택하기
캡슐 컴포넌트(Capsule Component)
게임 내에서 인식되는 캐릭터의 몸 크기
캡슐 컴포넌트 선택 후 디테일(Details) 패널 안 Shape 항목에서 수정 가능
캡슐 절반 높이 (Capsule Half Height)
캡슐 반경 (Capsule Badius)
선 두께
로 조절 가능
캐릭터 조종시 플레이어가 관측할 카메라 다는 법
컴포넌트(Components) 패널에 추가(Add) 선택 → 스프링 암 컴포넌트(Spring Arm) 선택 → 컴포넌트 패널에 추가된 스프링 암 컴포넌트 선택 → 추가 선택 후 카메라(Camera) 선택
카메라 위치 조정은 스프링 암 컴포넌트로 조정. 카메라 위치를 기즈모로 직접 수정하지 말 것
카메라와 플레이어 캐릭터 간의 위치 조정 방법
컴포넌트(Components) 패널의 스프링 암 컴포넌트(SpringArm) 선택 → 디테일(Details) 패널의 카메라(Camera) 항목에 타깃 암 길이(Target Arm Length)로 길이 조절
Enhanced Input System이란?
UE5에서 새롭게 제공되는 입력 시스템으로, 키보드, 마우스, 게임패드 등을 더 유연하게 지원하고, 복잡한 컨트롤 매핑도 쉽게 설정할 수 있게 도와주는 시스템
- 기존보다 더 명확한 입력 분기 가능
- 코드 없이도 시각적으로 입력 제어 가능
- 다양한 장치 지원 (패드, 터치 등)
이 시스템을 통해 캐릭터의 이동과 시점을 훨씬 직관적으로 구현 가능
콘텐츠 드로어 영역 안에서 마우스 오른쪽 클릭 → 입력 액션(Input Action) 선택
※ 인풋 관련 이름 접두어는 IA로 설정할 것
예시 : IA_NBC_Move
캐릭터 이동 입력 액션(Input Action) 조정하는 법
생성된 항목 선택 → 값 타입(Value Type)을 Axis2D (Vector2D)로 변경
이유 : WSAD 키로 움직이는 플레이어 캐릭터는 가로 세로로 이동하는 캐릭터이기 때문
마우스 이동 입력 액션(Input Action) 조정하는 법
생성된 항목 선택 → 값 타입(Value Type)을 Axis2D (Vector2D)로 변경
어떤 키를 입력할지 정하는 방법
콘텐츠 드로어 내 마우스 오른쪽 클릭 → 입력 매핑 컨텍스트(Input Mapping Context) 선택
※ 관련 이름 접두어에 IMC로 설정할 것
예시 : IMC_NBC_Default
생성한 입력 매핑 컨텍스트(Input Mapping Context) 선택 → 매핑(Mappings) 항목에 액션 매핑 추가 → 추가된 액션 매핑에 할당된 키와 연관된 입력 액션(Input Action) 선택
예시 : IA_NBC_Move
입력 액션(Input Action)이 지정된 액션 매핑에 컨트롤 바인딩을 추가 → 입력 액션과 연관된 키를 지정할 것
예시 : IA_NBC_Move가 지정된 액션 매핑의 컨트롤 바인딩(W,S,A,D)
WSAD의 모디파이어(Modifiers) 설정값
기본적으로 키는 캐릭터가 앞으로 이동하는 것으로 설정됨. 이에 따라 각 키에 해당되는 행동에 알맞은 모디파이어(Modifiers)를 지정해야함.
예시
W : 변경 사항 없음
S : 모디파이어 - 부정(Negate)
이유 : S 키는 캐릭터가 뒤로 움직이는 걸로 설정되었기에 행동 방향을 반대로 뒤집는 부정이 붙어야함
A : 모디파이어 - 부정(Negate), 스위즐 입력 축 값(Swizzle Input Axis Values)
이유 : D 키 처럼 측면으로 이동해야하며 S 키 처럼 D 키와 같은 방향을 가면 안되기 때문
D : 모디파이어 - 스위즐 입력 축 값(Swizzle Input Axis Values)
이유 : 전방이 아닌 측면으로 이동해야하기에 행동 방향을 바꾸는 스위즐 입력 축 값이 붙어야함. X축으로 이동하는게 아닌 Y 축으로 이동하게끔 변경해야하며 스위즐은 해당 기능을 가지고 있음.