Top

언리얼 엔진 4로 나만의 게임 만들기 [레벨 디자인부터 AI 프로그래밍까지]

  • 원서명Learning Unreal Engine Game Development (ISBN 9781784398156)
  • 지은이조안나 리(Joanna Lee)
  • 옮긴이진석준, 이진오
  • ISBN : 9788960779525
  • 28,000원
  • 2016년 12월 28일 펴냄
  • 페이퍼백 | 300쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

요약

언리얼 엔진 4에 대한 큰 그림을 그려주고 이를 통해 무엇을 할 수 있는가를 짚어주는 책이다. 한 주제에 대해 깊게 들어가지는 않지만 언리얼 엔진이 가지고 있는 큰 기능의 범주를 하나씩 짚어가면서 무엇이 가능한지 설명과 예제를 통해 알려준다. 언리얼 엔진의 개념부터 시작해서 에디터, 레벨 구성, 오브젝트, 라이팅, 애니메이션, AI, 파티클, 사운드, 지형, 시네마틱으로 진행되며, 책을 읽고 나면 내 손에 주어진 언리얼 엔진이라는 도구를 어떻게 유용하게 사용할 수 있을지 방향을 잡을 수 있다.

이 책에서 다루는 내용

■ 게임 엔진과 언리얼 엔진의 역사, 게임 스튜디오의 게임 제작 방법 소개
■ 언리얼 엔진 4의 에디터 제어와 게임 레벨 안에 위치하는 방 제작
■ 게임 오브젝트의 기본 구조 이해
■ 레벨 블루프린트를 활용해 상호작용이 가능한 오브젝트 제작
■ 컴퓨터 그래픽 렌더링 심화 학습
■ 머티리얼 에디터를 통한 머티리얼 제작과 게임 레벨 안에서 다양한 형태의 조명 활용 방법
■ 언리얼 엔진 4로 게임을 만들기 위해 필요한 UI, 파티클 시스템, 오디오, 터레인 조작 방법과 시네마틱 등에 활용되는 다양한 에디터와 툴, 기능 사용 방법

이 책의 대상 독자

게임 개발을 시작하는 사람, 그리고 게임이 어떻게 만들어지는지 알고 싶은 모든 사람들을 위한 책이다.

이 책의 구성

1장, ‘언리얼 엔진 개요’에서는 게임 엔진이란 무엇인지에 대해 간략하게 소개한다. 특히 언리얼 엔진 4와 그 역사에 초점을 맞추어 살펴본다. 언리얼 엔진 4의 주요 기능과, 이를 통해 어떻게 게임을 개발할 수 있는지 알 수 있다.
2장, ‘레벨 만들기’에서는 박스 브러시를 사용해 방을 만드는 방법, 그리고 벽과 마루에 텍스처를 입히기 위해 재질을 추가하는 방법을 살펴본다. 아울러 방의 외관을 강화하기 위해 스태틱 오브젝트를 배치하는 방법에 대해서도 알아본다.
3장, ‘게임 오브젝트’에서는 스태틱 메시로 알려진 간단한 오브젝트 유형의 구조를 알아보고, 언리얼에서 어떻게 오브젝트들이 서로 상호작용하는지에 대해 알아본다. 또한 언리얼 엔진 4에서 스크립트를 시각적으로 표현하는 도구인 블루프린트를 소개한다.
4장, ‘재질과 조명’에서는 자기만의 기본 커스텀 재질을 만드는 방법, 레벨의 인테리어를 밝게 하기 위해 간단한 조명을 사용하는 방법을 배워, 레벨을 좀 더 자세하게 커스터마이징해본다.
5장, ‘애니메이션과 AI’에서는 언리얼 엔진에서 애니메이션이 동작하는 방법과 게임 레벨에 간단한 AI를 구현하는 방법에 대해 알아본다.
6장, ‘파티클 시스템과 사운드’에서는 레벨에 시각적/청각적 효과를 추가하는 방법을 설명한다.
7장, ‘터레인과 시네마틱’에서는 터레인을 조작하고 시네마틱을 추가해 레벨을 마지막으로 가다듬는 방법을 보여준다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

저자/역자 소개

지은이의 말

많은 이들이 게임을 알고 있고, 그보다 더 많은 사람이 매일 게임을 즐기고 있다. 하지만 정작 게임이 어떻게 만들어지는지 아는 사람들은 많지 않다. 언리얼 엔진 4를 통해 게임 개발자들은 제대로 된 게임을 더욱 쉽고 빠르게 개발할 수 있다. 언리얼 엔진 4는 개발자들이 꿈꾸는 게임을 만들 수 있도록 다양한 커스터마이징이 가능한 탁월한 게임 개발 툴과 기능을 제공한다.

지은이 소개

조안나 리(Joanna Lee)

8년 이상의 경력을 지닌 게임 개발자로, 다양한 비디오 게임의 기획과 프로그램을 담당했다. 2005년부터 언리얼 게임 엔진을 다뤄왔고, 가장 최신인 언리얼 엔진 4의 저자가 될 수 있다는 사실에 고무됐다. 또한 크라이 엔진 4(Cry Engine 4)를 비롯한 다양한 엔진과 관련된 도서 및 비디오를 리뷰하는 작업을 진행해왔다.

옮긴이의 말

게임 개발의 민주화(democratization of game development). 최근 들어 서구권 게임 개발자들 사이에서 종종 회자되는 표현이다. 모바일 게임 시장과 유니티 엔진의 등장과 함께 더 이상 게임 개발은 소수 정예 기술자들의 영역이 아니다. 누구든지 게임을 개발하겠다는 열정과 배우겠다는 의지를 가지고 시간을 쏟으면, 모바일과 PC 플랫폼에 게임을 출시할 수 있다. 물론 지금도 배우기 쉬운 분야는 아니지만, 이전과 비교도 안 될 정도로 쉬워졌다는 사실을 부인할 개발자는 없다.
이 흐름에 가속도를 붙인 가장 큰 이벤트가 유니티 엔진의 등장이었고, 그 당시 언리얼 엔진은 높은 비용과 엔진 사용의 어려움 때문에 개발력과 자금이 충분한 개발사만 사용할 수 있는 물건이었다. 물론 그에 걸맞은 성능을 지녔기에 사람들의 칭송을 받은 수많은 게임들이 언리얼 엔진으로 만들어졌고, 그와 함께 언리얼 엔진에 대한 인식은 일반인은 범접할 수 없는 하늘 위의 세계로 자리 잡았다.
하지만 이제 모든 것이 바뀌었다. 언리얼 엔진이 무료화(일정 매출 이하일 경우) 선언과 함께 누구나 손댈 수 있는 게임 엔진이 되면서, 점진적으로 사용성도 손쉽게 변화해가고, 모바일 플랫폼으로의 출시도 전폭적으로 지원했다. 이런 움직임과 함께 수많은 소규모 개발사들이 언리얼 엔진으로 게임 개발을 시작했고, 사람들의 찬사가 쏟아진 , 국내 모바일 게임 같은 타이틀들이 시장에 나오기 시작했다. 언리얼 엔진의 변화와 함께 게임 개발 민주화의 마지막 장애물이 허물어진 것이다.
이제는 여러분의 차례다. 이 책을 집어 들고 이 글을 읽고 있는 당신이라면 오랜 시간 동안 머릿속에 그리고 있던 꿈의 게임이 이미 자리 잡고 있을 것이다. 그 게임은 언리얼 엔진으로 개발해야 할 만큼 환상적인 게임플레이와 그래픽을 담고 있을 것이다. 그리고 이 책은 꿈의 게임을 현실로 만들어주는 첫걸음이 될 것이다. 언리얼 엔진의 개념을 이해하고, 레벨을 만들고, 오브젝트를 다루고, 재질과 조명을 조작하고, 애니메이션과 AI를 통해 게임플레이를 배우고, 파티클과 사운드로 게임의 몰입도를 높이며, 지형과 시네마틱으로 완성도를 높이는 방법을 배우면서 게임 개발에 필요한 지식의 기반을 쌓게 될 것이다. 한마디로 언리얼을 처음 접하는 사람에게 이 책은 매우 훌륭한 입문서다.
본인은 인간은 누구나 창조를 갈망하는 동물이고, 그 도구와 결과는 무한하다고 생각한다. 여러분이 만들고 싶은 게 게임이라면 언리얼 엔진은 도구이고, 결과는 여러분이 그리는 게임이다. 이제 그 도구를 손에 익혀보자. - 이진오

최근 모바일 게임 엔진의 양대 산맥은 단연 언리얼과 유니티 엔진이다. 언리얼이 PC 기반의 게임시장에서도 여전히 그 명성을 유지하고 있음을 감안한다면 언리얼을 게임 업계에서 가장 활용도가 높은 엔진이라고 불러도 무방할 것이다.
이런 높은 인지도와 별개로, 일반적인 게임 플레이어나 이제 갓 업계에 입문한 개발자들이 엔진에 손을 대기란 쉬운 일이 아니었다. 마치 중세의 길드에서 소수의 장인들에 의해 단련되고 전승되는 공예 기술처럼, 게임 업계에서도 엔진을 다루는 일은 일부 엔진 개발자와 디자이너에 의해 연마되고 또 전승돼왔다.
최근 들어 엔진 개발사들의 라이선스 관련 정책이 유연하게 변경되면서 이런 장벽이 많이 낮아지기는 했지만, 여전히 게임 엔진을 처음 접하는 사람들은 어디서 어떻게 시작해야 할 지부터 고민하면서 난감해한다.
이 책이 언리얼 엔진을 통해 게임을 개발하려는 초보 개발자와 엔진에 관심이 있는 일반 유저들에게 선명한 첫발을 찍게 해줄 훌륭한 이정표가 되리라 믿어 의심치 않는다. 실제로 엔진을 구동하고 책을 따라가면서 언리얼 엔진에 대한 이해도를 높여가다 보면 어느샌가 익숙하게 엔진을 만지고 있는 스스로를 발견하게 될 것이다. 독자들이 이 책을 통해 겉으로 보기에 난해해 보이던 게임 엔진을 좀 더 쉽게 다룰 수 있게 되고, 좀 더 나아가 무언가 만들어낼 수 있다는 자신감을 얻게 된다면 책을 번역한 사람으로서 더할 나위 없이 기쁜 일이 될 것이다. - 진석준

옮긴이 소개

이진오

게임에 미쳐 부모님의 잔소리만 듣던 아이가 정신을 차려보니 게임 업계에 몸담은 지 벌써 16년이 넘은 사람. 프로듀서, 프로젝트 매니저 등 개발을 관리하는 역할로 〈킹덤 언더 파이어: 더 크루세이더스〉, 〈샤이닝로어〉, 〈APB〉, 〈Firefall〉 등의 프로젝트에 참여해왔으며, 현재는 리로디드 스튜디오에 몸담고 있다. 최대한 많이 새로운 것을 시도해보려는 노력을 하며 살고 있다.

진석준

크라이텍과 넷마블을 거쳐 현재 웹젠 게임 QA실에 몸담고 있다. 10년 가까이 게임 QA로 재직 중이며, 게임 QA의 다변화와 역량 향상을 위해 여러 가지 실험을 끊임없이 시도해보고 있는 중이다. 『뷰티풀 테스팅』(지앤선, 2011), 『닌자 해킹』(에이콘, 2015), 『게임 물리 엔진 개발』(지앤선, 2016)을 번역했다.

목차

목차
  • 1장. 언리얼 엔진 개요
    • 게임에서는 어떤 일들이 벌어지는가?
    • 게임 엔진이란 무엇인가?
    • 언리얼 엔진의 역사
    • 게임 개발
      • 아티스트
      • 시네마틱 크리에이터
      • 사운드 디자이너
      • 게임 디자이너
      • 프로그래머
    • 언리얼 엔진 4의 컴포넌트
      • 사운드 엔진
      • 물리 엔진
      • 그래픽 엔진
      • 입력과 게임플레이 프레임워크
      • 라이트와 그림자
      • 포스트 프로세스 이펙트
      • 인공지능
      • 온라인과 멀티플랫폼 지원
    • 언리얼 엔진과 강력한 에디터
      • 언리얼 에디터
      • 재질 에디터
        • 캐스케이드 파티클 시스템
        • 페르소나 스켈레탈 메시 애니메이션
        • 랜드스케이프: 폴리지와 거대한 야외 지형 만들기
      • 사운드 큐 에디터
      • 마티네 에디터
      • 블루프린트 비주얼 스크립팅 시스템
    • 언리얼 프로그래밍
      • 언리얼 오브젝트
    • 언리얼 에디터 초보자 가이드
      • 시작 메뉴
      • 프로젝트 브라우저
      • 콘텐츠 브라우저
      • 툴바
      • 뷰포트
      • + 씬 아웃라이너
      • 모드
    • 요약

  • 2장. 레벨 만들기
    • 사전 설정된 레벨 둘러보기
    • 새로운 프로젝트 생성하기
    • 뷰포트 사용하기
      • 제어 키
    • 새로운 맵에서 레벨 만들기
    • BSP 박스 브러시를 사용해 그라운드 만들기
      • 유용한 팁: 쉽게 오브젝트를 선택하는 법
      • 유용한 팁: 대상을 추가하기 위해 모드를 변경하는 법
    • 레벨에 라이트 추가하기
      • 유용한 팁: 레벨에 오브젝트 배치하기
    • 레벨에 하늘 추가하기
    • 플레이어 스타트 지점 추가하기
      • 유용한 팁: 레벨에서 오브젝트 회전시키기
    • 생성한 레벨 살펴보기
    • 레벨 저장하기
    • 맵을 시작 레벨로 설정하기
    • 지표면에 재질 추가하기
    • 벽 추가하기
    • 벽 복사하기
    • 열리는 문 만들기
    • 벽에 재질 추가하기
    • 방 밀폐하기
    • 방에 소품(스태틱 메시) 추가하기
    • Lightmass Importance Volume 추가하기
    • 마무리하기
      • 유용한 팁: 드래그 스냅 그리드 활용하기
    • 요약

  • 3장. 게임 오브젝트
    • BSP 브러시
      • 배경
      • 브러시 타입
      • 브러시 입체
      • 스태틱 메시
    • BSP 브러시와 스태틱 메시
    • 이동 가능한 스태틱 메시 만들기
    • 재질
      • 언리얼에서 재질 만들기
      • 재질과 텍스처
      • 텍스처/UV 매핑
        • 텍스처 맵 만들고 사용하기
        • 멀티텍스처링
        • 텍스처 맵의 특별한 형태: 노멀 맵
    • 정밀도
    • 충돌
      • 충돌 설정 속성
        • Simulation Generates Hit Events
        • Generate Overlap Events
        • Collision Presets
        • Collision Enabled
        • Object Type
        • Collision Responses
        • Collision Hulls
      • 상호작용
    • 스태틱 메시 생성 파이프라인
    • 볼륨
      • Blocking Volume
      • Camera Blocking Volume
      • Trigger Volume
      • Nav Mesh Bounds Volume
      • Physics Volume
        • Pain Causing Volume
        • Kill Z Volume
        • Level Streaming Volume
        • Cull Distance Volume
        • Audio Volume
        • PostProcess Volume
        • Lightmass Importance Volume
    • 블루프린트 소개
      • 레벨 블루프린트
    • Trigger Volume을 활용한 조명 작동
    • Trigger Volume을 활용해 조명 켜고 끄기
    • 요약

  • 4장. 재질과 조명
    • 재질
    • 재질 에디터
      • 렌더링 시스템
      • 물리 기반 셰이딩 모델
      • 고급 셰이딩 언어
      • 시작하기
      • 간단한 커스텀 재질 생성하기
      • 간단한 텍스처를 사용해 커스텀 재질 생성하기
        • 커스텀 재질을 활용해 레벨 바꾸기
    • 렌더링 파이프라인
    • 셰이더
    • API: 다이렉트X와 OpenGL
      • 다이렉트X
        • 다이렉트X 12
        • 파이프라인 상태 표시
        • 워크 서브미션
        • 리소스 접근
    • 조명
      • 포인트 라이트 설정
        • Attenuation Radius
        • Intensity
        • 컬러
      • 스포트 라이트 추가하고 설정하기
        • Inner Cone Angle과 Outer Cone Angle
      • IES 프로파일 활용하기
        • IES 라이트 프로파일 다운로드
        • 언리얼 엔진 에디터로 IES 프로파일 임포트하기
        • IES 프로파일 활용하기
      • 디렉셔널 라이트 추가하고 설정하기
        • 예제 스카이 라이트 추가하고 설정하기
      • 스태틱, 스테이셔너리, 무버블 라이트
        • 일반적인 조명과 그림자의 정의
        • 스태틱 라이트
        • 스테이셔너리 라이트
        • 무버블 라이트
      • 예제: 게임 레벨 확장하기(선택사항)
        • 유용한 팁
        • 가이드라인
    • 요약

  • 5장. 애니메이션과 AI
    • 애니메이션이란 무엇인가?
    • 3D 모델 애니메이션의 이해
      • 애니메이션을 위한 준비
      • 애니메이션은 어떻게 만들어지는가?
    • 언리얼 엔진 4가 게임 애니메이션을 위해 제공하는 것
      • 마야/3ds 맥스에서 애니메이션 가져오기
        • 튜토리얼: 마켓플레이스에서 애니메이션 팩 가져오기
      • 페르소나로 무엇을 할 수 있는가?
        • 튜토리얼: Pawn에 애니메이션 지정하기
      • 애니메이션 블렌딩이 필요한 이유
        • 튜토리얼: 블렌드 애니메이션 만들기
        • 튜토리얼: 블렌드 애니메이션을 쓰기 위해 애니메이션 블루프린트 설정하기
    • 인공지능
      • 비헤이비어 트리의 이해
      • 예제: 비헤이비어 트리의 로직 설계하기
      • 예제: 간단한 비헤이비어 트리 만들기
      • 언리얼 엔진 4에서 비헤이비어 트리 적용하기
      • 내비게이션 메시
        • 튜토리얼: 내비게이션 메시 생성하기
        • 튜토리얼: AI 로직 설정하기
        • 블루프린트 AIController 만들기
        • 블루프린트 캐릭터 만들기
        • 캐릭터 블루프린트에 메시 추가하고 설정하기
        • 캐릭터 블루프린트에 AIController 연결하기
        • 기본 애니메이션 추가하기
        • AIController 설정하기
        • 이벤트 그래프에 노드 추가하기
        • 이동 속도 조절하기
        • BlackBoardData 만들기
        • 비헤이비어 트리 만들기
        • Wait 태스크를 사용해 간단한 비헤이비어 트리 만들기
        • 비헤이비어 트리 사용하기
        • 비헤이비어 트리에서 커스텀 태스크 만들기
        • 비헤이비어 트리에서 PickTargetLocation 커스텀 태스크 사용하기
        • Wait 태스크를 Move To로 변경하기
      • 게임에 AI 적용하기
    • 요약

  • 6장. 파티클 시스템과 사운드
    • 파티클 시스템이란 무엇인가?
    • 만들어진 파티클 시스템 둘러보기
    • 파티클 시스템의 주요 컴포넌트
      • 모듈
    • 파티클 시스템의 디자인 원칙
      • 연구
      • 반복적인 창조 과정
    • 예제: 벽난로 파티클 시스템 만들기
      • P_Fireplace 만들기
        • 솔로로 이미터 관찰하기
        • 필요하지 않은 이미터 삭제하기
        • Flame 이미터 수정에 집중하기
        • 파티클 시스템 전체를 보기
    • 사운드와 음악
    • 게임에 사용할 사운드와 음악은 어떻게 만들까?
    • 오디오 품질
    • 사운드는 어떻게 녹음될까?
    • 언리얼 오디오 시스템
    • 언리얼로 오디오 가져오기
      • 오디오 포맷
      • 샘플링 레이트
      • 비트 뎁스
      • 지원하는 사운드 채널
    • 언리얼 사운드 포맷과 용어
    • 사운드 큐 에디터
      • 사운드 큐 에디터 열기
    • 예제: 언리얼 에디터로 사운드 가져오기
    • 예제: 레벨에 커스텀 사운드 추가하기
    • 사운드 큐 에디터 설정하기
    • 요약
    • 터레인 조작 소개

  • 7장. 터레인과 시네마틱
    • 예제: 랜드스케이프 툴로 언덕 만들기
    • 랜드스케이프 제작 옵션들
      • 여러 개의 랜드스케이프
      • 커스텀 재질 사용하기
      • 하이트 맵과 레이어 가져오기
      • 스케일
      • 컴포넌트의 개수
      • 섹션 크기
  • 시네마틱 소개
  • 왜 컷씬이 필요할까?
  • 시네마틱 테크닉
    • 카메라 조절 관련 기능
      • 시야
      • 피사계 심도
    • 카메라 움직임
      • 틸트
      • 돌리/트럭/트랙
      • 페데스탈
    • 씬 캡처하기
      • 조명
      • 프레임
      • 샷 계획
  • 언리얼 마티네 에디터 익숙해지기
  • 예제: 간단한 마티네 시퀀스 만들기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안