.
.
언리얼 엔진 입문 공부 시작했습니다.
여러 좋은 책들이 있었는데, 가볍게 훑어보기 좋은 책을 찾다가 이 책으로 골랐습니다. 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를 적용시킨 모습.
.
.
'게임 개발 자료 > 게임 개발 책' 카테고리의 다른 글
[책] 게임 메카닉스 Game Mechanics (0) | 2019.12.03 |
---|---|
[책] 이득우의 언리얼 C++ 게임 개발의 정석, 프리뷰 (0) | 2019.11.19 |
[책] 예제로 배우는 언리얼 엔진4 게임 개발, 중간리뷰 (0) | 2019.11.13 |
[책] 혼자서 배우는 언리얼엔진4 (in 24Hours) (0) | 2019.10.30 |
[Unity] 책리뷰, 유니티 5.x 게임 개발의 시작 (0) | 2019.06.13 |
[책 리뷰] 1인 개발자를 위한 처음 시작하는 유니티 (0) | 2019.06.06 |
게임 프로그래밍 패턴, 앞부분 만이라도 꼭 읽어봤으면 싶은 책 (0) | 2019.05.17 |