언리얼 엔진은 매우 수준 높은 표현이 가능한 3D 게임 엔진이지만 그만큼 능숙하게 다루기가 어렵습니다. 어떻게 하면 언리얼 엔진을 쉽게 배울 수 있을까요? 이 책은 언리얼 엔진이나 3D 게임 개발을 처음 접하는 사람뿐만 아니라 언리얼 엔진 5의 새로운 기능을 경험해보고 싶은 사람에게 유용한 설명과 단계별 실습을 소개합니다. 특히 입문자가 쉽게 이해하고 학습 도중에 포기하지 않도록 게임 개발에 반드시 필요한 개념과 언리얼 엔진의 기본 기능들을 집중적으로 다룹니다. 친절한 설명과 상세한 화면 캡처를 따라 실습을 진행하다 보면 누구든 간단한 3D 게임을 완성할 수 있습니다. 그런 다음 조금 더 복잡한 기능들을 익혀 더욱 크고 멋진 게임을 만들어보세요!
Contents
[CHAPTER 1 언리얼 엔진 소개]
1.1 언리얼 엔진의 세계로
_언리얼 엔진이란?
_언리얼 엔진 vs. 유니티?
_언리얼 엔진은 어떤 것일까요?
_처음에는 ‘버리는 기술’이 중요합니다
_계정 등록
_언리얼 엔진 설치
_런처 실행
_에픽게임즈 런처
_언리얼 엔진의 작업 흐름
_라이브러리
_엔진 설치
_언리얼 에디터 실행
_프로젝트 브라우저
1.2 언리얼 에디터 사용하기
_언리얼 에디터와 레벨
_기본 구성
_뷰포트와 툴바
_뷰포트 옵션
_원근
_라이팅포함
_표시
_트랜스폼 툴
_트랜스폼 툴의 좌표계
_뷰포트의 스냅 기능
_카메라 이동
_키보드 조작
_툴바
_세팅
_뷰포트 조작은 확실하게 알아둬야 합니다
[CHAPTER 2 레벨과 액터]
2.1 액터 만들기
_레벨을 구성하는 요소
_큐브 배치하기
_액터 다루기
_디테일 패널
_도형 추가하기
_스태틱 메시
_스태틱 메시 사용하기
_스태틱 메시 편집하기
_머티리얼 설정하기
_그 밖의 셰이프 액터
_평면 이용하기
_다른 셰이프 액터 추가하기
_기본 머티리얼을 사용해봅시다
2.2 레벨을 구성하는 부품
_라이트
_라이트의 종류
_디렉셔널 라이트
_스카이 라이트
_포인트 라이트
_스포트 라이트
_카메라
_플레이
_플레이어 스타트의 작동 원리
_카메라 시점으로 변경하기
_스카이
_포그
2.3 퀵셀 브리지와 마켓플레이스
_기성 모델 활용하기
_퀵셀 브리지 사용하기
_3D 에셋 가져오기
_3D 에셋 활용하기
_마켓플레이스 이용하기
_에픽게임즈의 무료 콘텐츠
_StackOBot 프로젝트 열기
_게임 패키징
_기본 맵 설정하기
[CHAPTER 3 머티리얼]
3.1 머티리얼의 기본
_머티리얼이란?
_머티리얼 만들기
_머티리얼 에디터
_노드, 그래프, 블루프린트
_노드
_그래프 다루기
_색상 표시하기
_Constant○Vector 노드
_빨간색 설정하기
_빨간색 머티리얼 생성하기
_머티리얼 사용하기
_머티리얼 설정
3.2 머티리얼 설정하기
_Metallic 사용하기
_Metallic 설정하기
_Metallic 머티리얼이 설정되었습니다!
_러프니스와 반사
_러프니스 사용하기
_Metallic+러프니스=?
_이미시브 컬러 사용하기
_이미시브 컬러의 밝기 조절하기
_오파시티로 투명도 조절하기
3.3 그러데이션
_그러데이션 효과 주기
_TextureCoordinate 사용하기
_다른 색 적용하기
_DiamondGradient 사용하기
_RadialGradientExponential 사용하기
3.4 머티리얼과 텍스처
_텍스처 사용하기
_텍스처를 사용해 머티리얼 생성하기
_TextureSample의 프로퍼티
_UV 좌표로 배율 설정하기
_구멍 난 머티리얼 생성하기
_표면 굴곡 만들기
_BumpOffset 사용하기
[CHAPTER 4 비주얼 이펙트와 랜드스케이프]
4.1 나이아가라 시스템 이해하기
_나이아가라와 파티클 시스템
_나이아가라 시스템 생성하기
_나이아가라 시스템 에디터
_MyNiagra와 Fountain
_이미터 설정
_파티클용 머티리얼 준비하기
_나이아가라에서 머티리얼 사용하기
_파티클 크기 변경하기
_중력 비활성화하기
_속도 조절하기
_방출 범위 조정하기
_이미터 저장하기
_MyFountain 이미터 사용하기
4.2 자유자재로 나이아가라 시스템 사용하기
_여러 개의 이미터 사용하기
_커브 패널 사용하기
_커브 편집하기
_나이아가라 모듈
_새로운 모듈 생성하기
_모듈의 노드
_모듈의 파라미터
_SpriteSize를 조절하는 처리 만들기
_MyModule1 모듈 사용하기
_나이아가라 시스템 사용하기
_블루프린트를 먼저 배워야 합니다
4.3 랜드스케이프 생성하기
_랜드스케이프란?
_랜드스케이프용 머티리얼 만들기
_새로운 랜드스케이프 생성하기
_스컬프팅 도구
_페인트 모드
_페인트 레이어 메커니즘
_머티리얼 편집하기
_LandscapeLayerBlend 사용하기
_레이어 설정하기
_레이어 정보 설정하기
_페인트 툴에서 레이어 사용하기
[CHAPTER 5 애니메이션]
5.1 시퀀서로 움직이기
_언리얼 엔진의 애니메이션 기능
_레벨 생성하기
_액터 추가하기
_머티리얼 설정하기
_시퀀서 설정하기
_시퀀서 이해하기
_트랙에 액터 추가하기
_커브로 위치 값 편집하기
_X의 커브 편집하기
_재생 범위 조정하기
_레벨에 추가한 시퀀서
_액터 회전시키기
5.2 시퀀서 응용하기
_머티리얼 애니메이션
_머티리얼 파라미터 컬렉션 편집하기
_머티리얼에서 파라미터 사용하기
_MyMaterialCollection1 사용하기
_CollectionParameter 연결하기
_시퀀서로 파라미터 조작하기
_파라미터의 커브 편집하기
_머티리얼 애니메이션 확인하기
_카메라 시점 애니메이션
_시퀀서에 카메라 추가하기
_카메라 컷
_씬에 비친 수상한 구의 정체는?
_게임모드와 월드 세팅
_게임모드 생성하기
_월드 세팅에서 게임모드 변경하기
5.3 캐릭터와 애니메이션
_캐릭터와 애니메이션
_새로운 레벨 생성하기
_캐릭터 생성하기
_캐릭터에 애니메이션 설정하기
_시퀀서로 애니메이션 만들기
_트랙에 애니메이션 추가하기
_레벨 시퀀서로 애니메이션 실행하기
5.4 블루프린트를 사용한 애니메이션
_애니메이션 블루프린트란?
_블루프린트 작성하기
_블루프린트 에디터
_이벤트 그래프와 AnimGraph
_최종 애니메이션 포즈에 애니메이션 설정하기
_블루프린트로 스켈레타 메시 움직이기
_2개의 애니메이션 전환하기
_블렌드 포즈 사용하기
_부울형을 이용하는 포즈 블렌딩
_블렌드 포즈 설정하기
_변수 추가하기
_프리뷰로 확인하기
_스테이트 머신 사용하기
_스테이트 머신 열기
_스테이트 생성하기
_트랜지션 룰 설정하기
_Walk에서 Idle로 돌아오는 전환 만들기
_애니메이션 표시 확인하기
_나머지는 블루프린트에 달렸습니다!
[CHAPTER 6 블루프린트]
6.1 블루프린트를 사용합시다!
_블루프린트란?
_새로운 레벨 준비하기
_카메라 준비하기
_스피어 준비하기
_레벨 블루프린트 생성하기
_블루프린트 에디터
_프로그램과 이벤트
_시작 시 메시지 표시하기
_블루프린트 실행하기
_코멘트를 달아 정리하기
_완성된 노드 접기
_디버그와 중단점
6.2 액터 조작하기
_프레임 표시와 틱 이벤트
_틱 이벤트 사용하기
_액터 움직이기
_환경에 따른 차이를 없애려면?
_Delta Seconds를 곱해서 사용하기
_마우스 사용하기
_플레이어 컨트롤러 추가하기
_클릭해서 처리하기
_버튼을 누르는 동안 움직이게 만들기
_변수 사용하기
_분기 처리 만들기
_키보드로 카메라 움직이기
6.3 HUD와 위젯
_UI와 위젯
_캔버스 패널에 텍스트 배치하기
_레벨 블루프린트로 위젯 표시하기
_텍스트 위젯의 텍스트 변경하기
_변수 message 조작하기
6.4 트리거 다루기
_Sphere 다루기
_트리거 사용하기
_위젯을 변수에 보관하기
_OnActorBeginOverlap 이벤트 생성하기
_트리거로 다양한 처리 만들기
[CHAPTER 7 본격 게임 개발]
7.1 템플릿 프로젝트 이용하기
_템플릿 프로젝트로 시작해봅시다!
_샘플 레벨
_새 레벨에서 캐릭터 사용하기
_지표 머티리얼 설정하기
_풀과 나무 심기
_폴리지 툴
_페인트 툴
_폴리지 그리기
_캐릭터 생성하기
_카메라 액터 준비하기
_시작 지점 지정하기
_마켓플레이스의 프로젝트
_Windwalker Echo 사용하기
_새 레벨 생성하기
7.2 물리 엔진으로 액터 움직이기
_물리 엔진이란?
_스피어 액터 배치하기
_물리 엔진 설정하기
_콜리전
_물리 엔진으로 움직이려면?
_스피어를 밀어서 움직이기
_Add Force로 힘 가하기
7.3 트리거와 충돌
_충돌 처리하기
_충돌 시 액터 지우기
_존재를 지우려면 콜리전을 삭제하면 됩니다
_오버랩
_오버랩 이벤트 생성하기
_게임처럼 구와 원뿔 여러 개 배치하기
7.4 게임답게 정리하기
_프로그램 함수화하기
_Sphere Hit 함수 열기
_오버랩 이벤트를 함수로 만들기
_함수로 스피어 굴리기
_HUD로 표시하기
_게임 종료 구현하기
_Is Finished? 매크로 사용하기
_HUD로 표시 작성하기
_콘텐츠 바인딩 생성하기
_화면에 HUD 표시하기
_경과 시간 표시하기
_스피어에 닿았을 때 게임 종료 처리하기
_원뿔에 닿았을 때 게임 종료 처리하기
_게임 개선에 도전해봅시다!
Author
쇼다 츠야노,김성훈
일본 첫 Mac 전문 월간지 『Mac+』를 비롯해 주로 Mac 관련 잡지에 기고를 해왔습니다. 애플에서 하이퍼카드(HyperCard)가 등장한 후부터 초보자를 위한 프로그래밍 서적을 집필하기로 마음먹었습니다. macOS, 원도우, 웹, 안드로이드, 아이폰 초보자를 대상으로 하는 서적을 꾸준히 집필하고 있습니다.
일본 첫 Mac 전문 월간지 『Mac+』를 비롯해 주로 Mac 관련 잡지에 기고를 해왔습니다. 애플에서 하이퍼카드(HyperCard)가 등장한 후부터 초보자를 위한 프로그래밍 서적을 집필하기로 마음먹었습니다. macOS, 원도우, 웹, 안드로이드, 아이폰 초보자를 대상으로 하는 서적을 꾸준히 집필하고 있습니다.