게임 개발 자료/게임 개발 책

[책]언리얼엔진4 in 24Hours - 1~2Hours

원생계 2019. 10. 12. 21:43

.

.

언리얼 엔진 입문 공부 시작했습니다.

여러 좋은 책들이 있었는데, 가볍게 훑어보기 좋은 책을 찾다가 이 책으로 골랐습니다. 2017년 10월 출간된 책이라 2년 됐지만, 기본적인 내용들은 동일한 것 같습니다.

24시간에 끝내는 코스라는데, 2시간 정도 따라했더니 딱 2챕터 끝났네요.

스터디노트 정리해서 올려봅니다.


Unreal Engine4 Game Development in 24Hours

HOUR 1 언리얼 엔진 소개

- 뷰포트, Ctrl + Alt 드래그 하면 다중 선택 가능.

콘텐츠 브라우저, 엔진 콘텐츠 표시

뷰포트에서의 이동.

3D 모델링 애플리케이션과는 다르게, 하나의 에셋 주위가 아니라 매우 큰 영역(레벨)을 쉽게 이동하는 것이 핵심이 되도록 동작.

PIE (Play in Editor) Mode

컴파일/패키징 없이 레벨 플레이 테스트 가능하게 해주는 기능.

언리얼 에디터의 기본적인 기능들을 훑어봄.

챕터 마지막에 요약 내용이 리마인드 해줘서 좋다.

HOUR 2 게임플레이 프레임워크 이해하기

콘텐츠 예제 프로젝트 다운로드 및 설정

에셋 가져오기

다른 프로젝트의 콘텐츠 가져오기

게임플레이 프레임워크 소개

직접 해보기> 런처 학습 세션 > Engine Feature Samples / Content Examples Project 살펴보기.

콘텐츠 예제를 선택해서 프로젝트 생성.

용량이 어마어마.

실행모습.

PIE (Play in Editor) Mode

컴파일/패키징 없이 레벨 플레이 테스트 가능하게 해주는 기능.

New Editor Window 기능으로 새 창을 띄운 경우, 해당 창의 설정도 자유롭게 바꿔볼 수 있음.

프로젝트 폴더들

- Config : 설정, 프로젝트 환경 설정 값, .ini 파일들

- Content : 모든 에셋 파일들 위치

- Intermediate : 프로젝트 실행용 .ini 파일들, CachedAssetRegisry.bin 파일 등

- Saved : 자동 저장, 백업 파일. 콘텐츠 브라우저 에셋 조직화를 위한 파일, Target Platform Config, 에디터 로그, 런처 섬네일 등등.

(개발 진행하면 폴더는 더 추가될 것)

폴더 구조 익숙해지려면 빈 프로젝트 생성

- New Project > 블루프린트 탭 / Blank Project > No Starter Content 선택

버전관리 이해하려면 참고 해봐야 함.

콘텐츠 폴더 (Content folder)

모든 에셋 담음. 파일타입 두 개 .uasset, .umap

외부 에셋을 가져오면 .uasset 파일

새 맵 생성하면 .map 파일

콘텐츠 가져오기 (에셋 가져오기)

Asset Import 기능이나, 폴더에서 직접 Content Browser 로 드래그.

에셋 이주(Asset Migrate)

에셋관리 팁 (로우 에셋 폴더 만들기)

큰 그룹/프로젝트라면 프로젝트 조직화, 관리 소프트웨어 씀. 프로젝트 폴더와 에디터 외부 파일관리도 필요.

프로젝트로 불러오기 이전의 일반적인 외부 에셋들을 관리하기 위한 디렉터리 구조.

로우 에셋 폴더 (Raw Asset Folder)

- 모델 내부 폴더

- 오디오 내부 폴더

- 텍스처 내부 폴더

에셋 레퍼런스와 레퍼런스 뷰어

.uasset 직접 이동도 되지만, 의존 관계때문에 좋지 않음. 파일 위치, 폴더 구조 바꿀 땐 Content Browser 에서 해줘야 의존 관계 파악하면서 업데이트 가능.

이런 참조관계를 자동으로 갱신하려며 에디터 내의 Content Browser 에서 수정해야함.

게임플레이 프레임워크

https://docs.unrealengine.com/ko/Gameplay/Framework/QuickReference/index.html

게임의 프레임워크를 이루는 게임 규칙, 캐릭터, 컨트롤러, 유저 인터페이스 등에 대한 클래스 간단 개요입니다.”

게임 모드 클래스 (GameMode Cass)

게임 규칙, 핵심 기능 정의 클래스들. 1인칭 슈팅 적 생성 로직이나, 레이싱 게임의 시간 체크 로직을 담을 공간. GameMode Class 에 붙어있는 Class 목록

- DefaultPawn, HUD, PlayerController, Spectator, ReplaySpectator, PlayerState, GameState

게임모드, 의존관계 생성 > 게임모드를 프로젝트에 할당 or 레벨별 모드 설정. 게임에 2~3개 정도 모드가 있을 수 있지만, 기본 게임 모드는 1개. 프로젝트 설정 > Maps & Modes > Default Modes 에서 설정. World Settings 탭 > GameMode Override 로 변경 가능.

컨트롤러 클래스

게임 내 폰(Pawn)을 제어. PlayerController, AIController 기본 타입.

폰, 캐릭터 클래스

언리얼에서 폰(Pawn)은 아바타.게임 모드에 DefaultPawn 클래스 속성에 할당 가능한 여러 클래스 존재. Pawn, Character, Vehicle 클래스. Pawn 은 Generic 클래스, Character, Vehicle 은 파생 클래스? 특정 목적에 활용. 폰은 PlayerCharacter나 AIController 클래스에 의해 제어.

허드 클래스

2D 인터페이스를 스크린에, 인게임 HUD(Head-up Display) 생성.게임 전체 HUD 는 HUD 클래스 안에 작성 가능. 인터페이스 에디터 UMG(Unreal Motion Graphics) 를 제공. (Hour22 UMG 작업하기 챕터 참고.)

직접 해보기 > 프로젝트에 게임 모드 추가

빈 프로젝트 생성하고, 콘텐츠 브라우저에 Add New 버튼. 새 피쳐 또는 콘텐츠팩.

Side Scroller, Content Packs/ Starter Content 추가.

이렇게 바꾸면 스타터 콘텐츠인 의자&테이블 샘플에서 Side Scroller 처럼 컨트롤 가능.

여기서 Override 도 할 수 있다.

StarterMap 에 Flying GameMode를 적용시킨 모습.

.

.

728x90
반응형