Top

RPG를 만들면서 배우는 유니티 2D 게임 개발

  • 원서명Mastering Unity 2D Game Development - Building Exceptional 2D Games with Unity (ISBN 9781849697347)
  • 지은이사이먼 잭슨(Simon Jackson)
  • 옮긴이조경빈
  • ISBN : 9788960777545
  • 35,000원
  • 2015년 09월 15일 펴냄
  • 페이퍼백 | 544쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

요약

이 책은 유니티 버전 4.3에 새롭게 추가된 내용을 살펴보는 것으로 시작해 유니티가 새롭게 제공하는 2D 특화 기능을 하나씩 다루면서 유명한 게임에서 흔히 사용하는 기법을 따라 해보는 형태로 구성되어 있다. 책의 내용을 끝까지 잘 따라가기만 한다면 완전한 하나의 2D 게임을 개발하는 데 필요한 전반적인 지식을 갖출 수 있다.

이 책에서 다루는 내용

■ 자신만의 RPG 게임을 만들어 가면서 유니티3D 4.3 버전에 새로 추가된 기능 학습
■ 새로운 스프라이트 불러오기와 렌더링 시스템
■ 새로운 스프라이트 애니메이션 시스템의 장점과 개선된 메카님(Mecanim) 기능
■ 태그, 레이어, 스프라이트 정렬과 순서 매기기를 활용한 렌더링 기법
■ 델리게이트(Delegates), 이벤트(Events), 메시징(Messaging)을 제대로 사용하는 방법과 완전한 기능을 갖춘 RPG 대화 시스템 구축
■ 메카님 기반 AI(인공지능)와의 전투와 상태 기계
■ 시장에서의 성공을 위한 마케팅 기법과 수익 모델 설계, 배포 방법
■ 플랫폼 선택과 배포, 에디터 확장

이 책의 대상 독자

이 책은 C#에 대한 지식을 갖고 있으면서 유니티를 사용해 완전한 기능을 갖춘 2D RPG 게임을 개발하고자 하는 독자를 대상으로 한다.

이 책의 구성

1장, ‘개요’에서는 유니티 버전 4.3에 새롭게 추가된 내용을 살펴보는 것으로 시작해 새로운 2D 시스템과 기타 기능에 대해 알아본다.

2장, ‘캐릭터 생성’에서는 본격적으로 2D 애셋과 스프라이트의 사용 방법을 살펴보며, 스프라이트 에디터 사용법과 기타 재미있는 기능들을 다룬다.

3장, ‘애니메이션 처리’에서는 2D 게임에서 매우 중요하면서도 까다로운 애니메이션 시스템에 대해 제대로 살펴본다.

4장, ‘게임 월드’에서는 배운 내용을 토대로 거주할 마을을 만들고 캐릭터가 뛰어다니게 만들어본다.

5장, ‘NPC와 상호작용’에서는 아무런 대화도 없는 RPG 게임은 상상하기도 어려우므로, 메시징과 대화 시스템을 만들어가면서 활용할 수 있는 고급 기법을 살펴본다.

6장, ‘넓은 야생의 세계’에서는 다루는 범위를 넓혀 아트와 애셋, 플레이어의 탐색을 위한 맵 뷰 개발에 관해 살펴본다. 자세히 보면 맵 뷰에서 자신의 집을 볼 수도 있다.

7장, ‘적과의 조우와 도망’에서는 월드가 크고 무서운 장소라고 생각해보자. 당신은 자신들의 마지막 식량을 먹고 있는 고블린 떼를 우연히 만날 수도 있고, 겁을 먹고 도망칠 수도 있다. 여기에서는 메카님(Mecanim) 설정을 비롯한 전투장면 구성과 인공지능에 대해 살펴본다.

8장, ‘무기 구매’에서는 2D 게임의 장점을 극대화하기 위해 간단한 상점을 구성해본다. 상호작용을 위해 기존 메시징 시스템을 재활용하고 플레이어의 구조에 인벤토리를 추가한다. 추가로 플레이어의 인벤토리를 멋진 커맨드바 구현으로 보여주는 그래픽적인 방법도 살펴본다.

9장, ‘전투 준비’에서는 싸울 준비를 한다. 전투 장면은 있지만, 아직 전투 엔진이 없다. 이제는 턴 기반의 전투 엔진으로 만든 걸 확장할 차례다. 메카님의 근육을 아마도 여태까지 한 번도 생각지 못했던 방식으로 다룬다.

10장, ‘전투와 경험치 획득’에서는 아직 낌새를 못 챈 고블린 무리에게 공격을 시작하고 그들의 작은 몸통이 피와 함께 산산이 부서지는 장면을 생각해본다. 물론 그렇게 한다면 PEGI(유럽 민간 게임 등급 분류 기관) 등급 보류 판정이 날 수도 있지만 어떤 형태로 진행하느냐는 개발자의 몫이다.

11장, ‘조심스레 전진하는 여행자’에서는 게임 프레임워크가 준비된 상태라고 가정한다. 필요한 건 콘텐츠와 약간의 조립만 남았으니 게임 제작을 마무리하는 데 필요한 내용을 살펴본다. 한발 더 나아가 편집기를 확장하고 다듬어서 더욱 유용하고 쉽게 활용하는 방법도 살펴본다.

12장, ‘배포’에서는 게임 개발의 마지막 단계인 기기에 탑재하는 과정을 다룬다. 신뢰도 높은 방식의 세이브/로드 시스템을 구축하고, 이를 다양한 플랫폼에서 잘 동작하게 하는 방법을 살펴본다. 고생해서 개발한 게임을 성공적으로 시장에 출시하고 마케팅하는 방법도 살펴본다.

부록, ‘추가 리소스’에서는 애셋이나 유용한 정보 링크 등의 추가 자료를 통해 게임 개발 여정에 도움을 준다.

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

저자/역자 소개

지은이의 말

지금까지는 유니티3D를 3D 게임을 만드는 데 필요한 기능을 쉬우면서도 강력하게 제공하는 미들웨어 시스템으로 보는 것이 일반적이었는데, 다시 2D 게임이 유행하면서 유니티는 원하는 대로 멋지게 2차원 게임을 만들 수 있는 2D 툴셋을 개발했다.
유명한 게임들이 대체로 갖추고 있는 다양한 기능을 어떻게 구현하는지 궁금하다면 이 책이 그런 의문을 해소해줄 것이다. RPG 게임의 프레임워크 개발을 배울 수도 있고 메커님(Mecanim)과 커브(curves) 같은 유니티의 내장 기능을 제대로 사용하기 위해 고급 C# 스크립팅 기술이나 기교를 배울 수도 있다.
작은 마을과 그 마을에 사는 캐릭터를 생성해나가면서 새로운 2D 기능을 배울 수 있고, 최선의 활용법을 익힐 수 있다. 그러고 나서, 더 큰 세계로 나가 다양한 타입의 씬을 다루는 방법이나 랜덤 이벤트 스크립팅, 무서운 적과의 만남 등의 처리를 배운다. 캐릭터의 전투 준비(약간의 구매 활동 포함)와 싸우기만을 위해 으르렁대는 성난 생명체 집단을 처리하는 방법도 배울 수 있다. 적들의 반응은 구현하기에 따라 달라진다.
유니티 4.3에서 오디오 관련 내용은 변한 게 없으므로 이 책에서는 다루지 않는다. 유니티 5에서는 많은 변화가 있지만, 그보다 더 중요하게 다뤄야 할 내용이 너무 많다.
이 책을 마칠 무렵이면 원하는 플랫폼 대상으로 설계하고 생성, 배포, 통합하는 게 가능해질 것이며, 유니티 에디터를 원하는 형태로 설정하고 좀 더 자신감 있게 게임 개발을 하게 될 것이다. 또한 가급적 많은 수익을 내기 위한 마케팅과 수익 모델 설계, 다수 플랫폼 출시 등의 기법에 대해서도 예리한 식견을 보유하게 될 것이다.

지은이 소개

사이먼 잭슨(Simon Jackson)

어렸을 때부터 문제를 해결하는 데 관심이 많은 엔지니어적인 기질을 다분히 갖춘 사람이었다. 다시 말하면 사물을 분해해 동작 원리를 분석하고, 이를 다시 조립해 이전보다 더 나아지게 만드는 데 관심이 많았다.
처음으로 접한 컴퓨터는 코모도어(Commodore) Vic20이었다. 단순한 형태로 테이프 덱을 사용하며, 베이식이나 어셈블리 언어를 사용해서 프로그램을 작성해야 했는데 이 컴퓨터와 함께한 시간은 즐거운 나날이었다. 이후 ZX 스펙트럼(Spectrum) +2를 통해 최신 그래픽을 맛보면서 즐거운 시간을 보냈다. 하지만 여전히 테이프 덱의 불러오기는 30분이나 걸리는 문제가 있었다. 게임에도 열정을 보였으며, 게임을 위한 컴퓨터가 필요했으나 산타할아버지는암스트래드(Amstrad) 1640을 선물해줬고, 이게 그의 첫 개인용 컴퓨터였다. 이때부터 분해와 조립 본능이 폭발했으며 그의 컴퓨터에는 수많은 추가 기능과 개선 사항이 적용됐다. 그는 프랑켄슈타인(Frankenstein)이었고, 그의 컴퓨터는 수많은 부품으로 가공된 개인용 몬스터가 됐다. 즐거운 시절이었다.
이렇게 자신이 배우고 익힌 팁과 기술을 다른 사람에게 전달하는 데 열정을 보였는데, 이는 지금의 모습으로 성장하는 데 큰 도움이 됐다.
자신을 게임 개발 전반에 걸쳐 두루 지식을 보유한 전문가라고 분류한다. 다양한 프레임워크에서의 개발 과정에서 얻은 경험과 지식을 토대로 멋진 프레임워크와 게임을 어떻게 만드는지에 대해 자신의 블로그나 비디오 공개 강연 등을 통해 소개해왔다. 지금껏 C++와 MDX, XNA, 모노게임(MonoGame), 유니티3D(Unity3D), 선번 게이밍 엔진(The Sunburn Gaming Engine), HTML 등을 다뤄왔는데, 이런 다양한 경험 덕분에 멀티플랫폼을 대상으로 하는 다양한 형태의 게임을 개발하고 관리하는 데 있어 매우 균형 잡힌 시야를 갖게 됐다.
여기에서 멈추지 않고 정기적으로 모노게임(MonoGame) 프로젝트에도 새로운 기능과 예제를 추가하고, 이를 누겟(NuGet)에 배포하는 등의 기여를 해왔다. 또한 직접 몇 개의 오픈소스 프로젝트도 진행하고 있으며, 항상 새롭고 재미있는 주제를 찾고 있다. 낮에는 건강 관리 관련 산업에서 리드 기술 설계자로 일하면서 더 나은 소프트웨어를 통한 환자의 건강 관리 개선에 힘쓰고 있으며, 밤에는 자신만의 게임 타이틀 출시를 준비하는 동시에 새로운 지식의 탐구나 교육에도 힘쓰고 있다. 언젠가는 밤에 하는 취미가 돈이 되겠지만, 그때까지는 두 종류의 삶을 병행할 계획이다.

옮긴이의 말

컴퓨터를 활용한 게임의 역사는 이제 고작 30여 년이 지났을 뿐이며, 운 좋게도 저는 이런 게임 역사의 시작을 목격했고 학창 시절 컴퓨터 게임과 아케이드 게임에 빠져 살았으며, 현재는 게임을 개발하면서 인생의 상당 부분을 게임과 함께 하고 있습니다. 컴퓨터 게임이라는 게 세상에 나타나지 않았다면 어떤 학창시절을 보내고, 현재는 또 어디에서 무슨 일을 하면서 살고 있을까 하는 상상을 가끔 해봅니다. 긴 인류의 역사에 비해 컴퓨터 게임은 역사라고 부르기도 민망할 정도로 탄생한 지 얼마 되지 않은 분야입니다. 당연한 이야기겠지만, 최초의 컴퓨터 게임은 2D 게임이었고 이후 3D 게임이 탄생하기 전까지는 따로 2D 게임이라고 부를 필요도 없이 당연히 모든 게임은 2차원의 평면에서 펼쳐지는 게 일반적이었습니다.
기술이 발전함에 따라 인류는 좀 더 현실에 가까운 세상을 구현하고자 하는 욕망을 다양한 예술 분야에서 꿈꾸고 시도했으며, 결국은 3차원의 공간을 수학적으로 모델링해 마치 실제 공간에 있는 듯한 느낌을 주기 위한 기술적 기반을 마련하는 데 성공했습니다. 일부 성급한 개발자나 게이머는 앞으로 모든 게임은 3차원이 될 것이라 속단하기도 했지만, 그런 예측은 적어도 현재까지는 완전히 빗나갔습니다. 최근 게임 시장의 중심으로 떠오른 모바일 게임 시장을 살펴보면 전체의 절반이 훨씬 넘는 게임이 2D로 개발됐습니다. 3D 게임은 2D 게임의 상위 개념이 아니며, 만들고자 하는 게임의 형태에 따라 더 잘 어울리는 방법을 택해야 합니다. 국내의 상황만 보더라도 구글 안드로이드 마켓에 등록된 게임 중 매출 상위 100개의 게임의 약 절반이 2D로 개발됐는데, 일반적으로 2D로 게임을 개발할 때 들어가는 개발 비용이 3D로 개발할 때에 비해서 크게 절약되는 경향이 있어 사업적 관점에서 접근할 때 2D로 게임을 개발하는 편이 위험 요소가 더 적다고도 볼 수도 있습니다.
게임에서의 3D 기술이 어느 정도 안정될 무렵 게임의 트렌드가 2D에서 3D로 넘어가는 듯한 모습을 보인 시기는 분명 있었고, 유니티도 그런 상황을 의식해서 처음에는 유니티3D라는 이름만 봐도 알 수 있듯 3D에 특화된 개발 도구로 세상에 처음 나왔습니다. 하지만 2D 게임의 인기는 좀처럼 사그라지지 않았고, 현재 3D 게임과 나란히 견줘도 뒤지지 않을 만큼 게이머들에게 큰 반응을 얻고 있습니다. 이에 유니티에서도 좀 더 편리하게 2차원 게임을 만들 수 있도록 2D에 특화된 기능을 제대로 제공하기 시작했습니다.
이 책은 유니티 버전 4.3에 새롭게 추가된 내용을 살펴보는 것으로 시작해 유니티가 새롭게 제공하는 2D 특화 기능을 하나씩 다루면서 유명한 게임에서 흔히 사용하는 기법을 따라 해보는 형태로 구성돼 있어 책의 내용을 끝까지 잘 따라가기만 한다면 완전한 하나의 게임을 개발하는 데 필요한 전반적인 지식을 갖출 수 있습니다. 시장 주요 트렌드의 한 축을 담당하는 2D 게임을 최신 유니티 환경에서 개발하는 데 필요한 내용을 다룬 이 책의 번역을 맡은 일은 제겐 영광스러운 경험이었습니다. 유니티 환경에서 게임을 개발하는 개발자에게 2D 게임 개발의 기초를 탄탄하게 다져줄 수 있는 좋은 서적을 소개할 수 있어 기분이 좋습니다.
무엇보다 이 책을 선택해 지금 이 글을 읽고 있는 독자 여러분에게 진심으로 고맙습니다. 부디 이 책이 유니티 2D 게임프로그래밍의 기초를 다지는 데 큰 도움이 되기를 희망합니다.

옮긴이 소개

조경빈

중학교 때 처음으로 8비트 컴퓨터를 만지면서 프로그래밍에 흥미를 느끼기 시작했고, 인프라웨어에서 웹 브라우저 엔진 개발에 참여했으며, 현재 게임개발사 셀바스에서 모바일 게임 개발에 전념하고 있다. 형식에 얽매이기보다는 자유로움 속에 효율을 찾는 과정에 관심이 많다. 대학시절부터 다수의 전시회 출품과 공모전 입상 경력이 있으며, 가장 최근에는 SKT T스토어 제1회 공모전 스마트폰 게임 부문 입상을 하기도 했고, 개인 자격으로 애플 앱스토어에 10개 이상의 앱을 등록해 미국 앱스토어에서 카테고리 1위에 오르는 등 다양한 실험을 하기도 했다. 국내 최초의 유니티 관련 서적인 『유니티 게임엔진 한글 메뉴얼』(2010)을 번역했으며, 에이콘출판사에서 출간한 『Flash Game Development by Example 한국어판』 (2011)과 『모던 자바스크립트 Modern JavaScript』 (2014), 『유니티 게임 AI 프로그래밍』 (2015)을 번역했다.

목차

목차
  • 1. 개요
    • 애셋 구하기
      • 사이트 모음
    • 2D 세상 속으로
      • 새로운 2D 모드
      • 스프라이트
        • 스프라이트 렌더러
        • 스프라이트 에디터
        • 스프라이트시트
        • 텍스처 아틀라스
        • 스프라이트 메시
        • Box2D 물리 시스템
        • 새로운 애니메이션 도프 시트
      • 기타 유니티 4.3 개선 사항
        • 개선된 Mecanim 성능
        • 윈도우폰 API 개선과 윈도우 8.1 지원
        • 동적 나브 메시(프로 버전에서만 지원)
        • 에디터 개선 사항
        • 모노디벨롭 4.01
        • 무비 텍스처
    • 정리

  • 2. 캐릭터 생성
    • 프로젝트 제대로 시작하기
      • 구조
      • 오브젝트 이름 지정
    • 컴포넌트 이해
      • 단축을 사용한 콤포넌트 접근
      • 컴포넌트를 사용하는 더 나은 방법: 참조
      • 더 나은 방법
    • 프로젝트 생성
    • 클래스
      • 객체지향 설계
      • 게임 구조
        • 공용 게임 오브젝트
        • 추가 사항
    • 행위 기획
      • 공용 게임 오브젝트의 행위
      • 플레이어 캐릭터의 행위
    • 유니티 스프라이트 시스템 소개
      • 스프라이트 가져오기
        • Texture type: sprite
        • Sprite Mode: single/multiple
        • Packing tag
        • Pixels to units
        • Sprite Editor 버튼
      • 스프라이트 에디터
        • 스프라이트 자르기(slicer)
        • 뷰 컨트롤
        • 스프라이트 영역 제어
    • 통합하기
      • 메인 캐릭터 불러오기
      • 영웅 캐릭터
      • 영웅 제어
    • 추가 사항
    • 정리

  • 3. 애니메이션 처리
    • 스프라이트 애니메이션
      • 애니메이션 컴포넌트
        • 애니메이션 컨트롤러
        • 애니메이션 클립
        • 애니메이터 컴포넌트
      • 애니메이션 컨트롤러 설정
      • 애니메이션 클립 설정
        • 수동 애니메이션 클립 생성
        • 자동 애니메이션 클립 생성
        • 애니메이터 도프 시트
        • Dope/curve 뷰
    • 통합하기
      • 애니메이션 컨트롤러 설정
      • 첫 애니메이션 클립 추가(정지 상태)
      • 뛰는 동작 애니메이션 클립 추가
      • 애니메이션 상태 연결
      • 스크립트에서 컨트롤러 접근
      • 추가 개선
      • 커브 처리
    • 추가 진행
    • 정리

  • 4. 게임 월드
    • 배경과 레이어
      • 스프라이트 나누기 결정
      • 마을 배경
      • 마을 건물
      • 추가 배경
    • 씬 구성
      • 마을 배경 추가
      • 스프라이트 정렬 레이어
      • 스프라이트 정렬 순서
      • 씬 정렬 레이어 업데이트
    • 카메라 처리
      • Update와 FixedUpdate, LateUpdate의 비교
      • 해상도 관련 주의 사항
      • FollowCamera 스크립트 개선
    • 전환과 경계
      • 경계를 가진 마을
      • 계속 이동
      • 실전 게임을 위한 준비
    • 배경과 움직이는 요소
      • 패럴랙싱
      • 전경 오브젝트
    • 셰이더와 2D
    • 추가 사항
    • 정리

  • 5. NPC와 상호작용
    • RPG 게임 적용
    • 고급 프로그래밍 기술
      • 싱글톤과 매니저
        • 매니저 접근법: 빈 게임 오브젝트 사용
        • 싱글톤: C# 싱글톤 패턴 사용
    • 게임 오브젝트 간의 통신
      • 위임
        • 설정 가능 메소드 패턴
        • 위임 패턴
        • 합성 위임
      • 이벤트
      • 메시징
      • 개선된 방법
    • 백그라운드 작업과 코루틴
      • 코루틴 진입
      • IEnumerator
      • 양보하기
      • 코루틴 시작
      • 보완하기
    • 직렬화와 스크립팅
      • 애셋 데이터 저장과 관리
      • 편집기에서 직렬화 파일 사용
      • 코드에서 .asset 파일에 접근
    • 통합하기
      • NPC와 대화
        • 대화 오브젝트
        • 나중을 위한 오브젝트 저장과 직렬화
        • 대화 컴포넌트
      • 기본 대화 시스템 구축
        • 매니저
        • 대화 시작
        • 대화 표시
        • 기능 개선
      • 학습 내용 연결
    • 추가 사항
    • 정리

  • 6. 넓은 야생의 세계
    • 더 커다란 뷰
      • 맵의 종류
        • 고정 맵
        • 생성 맵
      • 2D 게임에서의 3D 사용
      • 절차적 진행
      • 스크린 공간과 월드 공간
    • 통합하기
      • 맵 추가
      • 흥미로운 장소 추가
      • 재사용을 위한 MapPoint 프리팹 생성
      • NavigationPrompt 스크립트 수정
      • NavigationManager 스크립트 수정
      • 클릭이나 터치로 탐험
        • 입력 관리
        • 입력 우선순위 관리
        • 입력 순서 관리
        • 커브 사용
        • 시작 위치 수정
        • 너무 먼 여행
      • 화면 전환
        • 페이딩을 사용한 레벨 로딩
      • 새로운 씬을 포함하기 위한 빌드 설정
    • 추가 사항
    • 정리

  • 7. 적과의 조우와 도망
    • 이벤트 시스템
    • 임의성
      • 랜덤 코드/생성 설계
      • 완전한 임의성
    • 기본 인공지능
    • 상태 기계
      • 상태 정의
      • 간단한 단일 선택
      • 다중 상태 처리
      • 상태 매니저
    • 센서
    • 통합하기
      • 새로운 씬 구성
      • 첫 번째 적 추가
      • 무리 소환
        • 집으로의 귀환
      • 랜덤 이벤트
      • 마지막 남은 일
    • 추가 사항
    • 정리

  • 8. 무기 구매
    • 쇼핑을 하는 이유
    • 아이템의 힘
    • 상점 구성
    • 인벤토리 형태
      • 99의 법칙
      • 방해 시스템
      • 슬롯 기반 시스템
      • 미니 게임
      • 현실 세계
    • 결제 유도
      • 유료 판매
      • 체험판을 제공하는 유료 판매
      • 광고 탑재
      • 앱 내부 결제
      • 게임 재화
    • 통합하기
      • 상점 애셋 수집
      • 상점 씬 구성
      • 인벤토리 아이템 생성
      • 상점 관리
      • 2D 버튼 처리
      • 플레이어 인벤토리 정의 업데이트
      • 상품 입고
      • 상점에서 나가기
      • 상점 진입
      • 인벤토리 관리
      • 플레이어 인벤토리 동작 추가
    • 추가 사항
    • 정리

  • 9. 전투 준비
    • 효과적인 RPG UI 오버레이
      • 모험가의 오버레이
      • 컨텍스트에 따른 오버레이 구성
      • 최신 플로팅 UI
      • 밸런스 유지
    • 통합하기
      • 전투 상태 매니저
      • 코드에서 상태 매니저 사용
      • 전투 시작
      • 작은 능력 추가
      • GUI 표현
        • 커맨드 바
        • 커맨드 버튼
        • 씬에 커맨드 바 추가
      • 무기 선택
        • 커맨드 버튼 선택
        • 커맨드 바 선택 관리
        • BattleManager 상태에 선택 기능 추가
        • BattleManager 상태에 무기 지원
    • 추가 사항
    • 정리

  • 10. 전투와 경험치 획득
    • 시험장
    • 레벨 업
    • 밸런싱
    • 통합하기
      • BattleManager 스크립트 준비
      • 적 개선
        • 적 프로파일/컨트롤러
        • 고블린 프리팹 업데이트
        • 코드에서 적 프로파일 설정
      • 목표물 선택
        • 원형 프리팹 선택
        • EnemyController 클래스에 선택 로직 추가
      • 공격! 공격!
      • 3D 파티클로 표현하는 성가신 고블린의 반응
        • 2D와 3D의 혼합
        • 파티클 이펙트와 2D
        • 죽음 스프라이트 추가
        • 파티클 이펙트를 위한 재질 생성
        • 고블린 프리팹 구조 개선
        • 파티클 추가
        • 죽음 애니메이션
        • 애니메이션에 파티클 추가
        • 마무리 작업
        • 새로운 GoblinEnemy 게임 오브젝트를 프리팹으로 만들어 전투에 추가
        • 휴스톤, 문제가 생겼어요!
      • 마지막 예행연습
    • 추가 사항
    • 정리

  • 11. 조심스레 전진하는 여행자
    • 에디터 확장
      • 프로퍼티 드로워
        • 프로퍼티 드로워 예제
      • 커스텀 에디터
      • 에디터 윈도우
      • 기즈모
      • 에디터 메뉴 구성
        • MenuItem 속성 추가
        • MenuItem 속성 활성화/비활성화
        • MenuItem 속성에 단축키 추가
        • 컨텍스트 MenuItem 추가
      • 에디터 폴더 내에서의 스크립트 실행
        • 다른 접근 방법
    • 인게임 메뉴 구조 구성
      • 스크린
        • 스플래시 스크린
        • 로딩 화면
        • 메인 메뉴
        • 저장 슬롯/레벨 선택
        • 설정 페이지
        • About 화면
        • 개인 정보 보호 정책
        • 일시 정지 화면
        • 추가 사항(구매, 업적, 리더보드 등)
        • 소셜
      • 흐름
    • 설정 기능
      • PlayerPrefs 사용
      • 데이터 직렬화
      • 디스크에 데이터 저장
      • 저장된 데이터 모델링
      • 저장과 불러오기 기능
      • Save와 Load 함수 테스트
      • 웹에 백업
    • 추가 사항
    • 정리

  • 12. 배포
    • 플랫폼 차이 대응
      • 프로세서 지시자
        • 다른 플랫폼을 위한 저장 시스템 개선
        • 빌드 노트
      • 유니티 접근
        • UnityEngine 네임스페이스 접근
        • 스태틱 클래스
      • 플랫폼 접근
        • 유니티 프로젝트에서의 스태틱 이벤트
        • 플랫폼 DLL 내장
      • 네이티브 플러그인(프로 버전만 해당)
    • Unity3D에서 코드 푸시
      • 애셋 프로세싱
      • 빌드 프로세싱
    • 애셋 빌드
    • 패키징
    • 게임 마케팅
    • 정리

  • 부록. 추가 리소스
    • 스크립팅 리소스
      • 에디터 확장
      • AI 추가 검토
      • 점진적 생성
      • 고급 코딩
      • 기타 스크립팅 리소스
    • 유용한 애셋
    • 아트 소스와 특수 효과
    • 웹 하이라이트

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.56 : 2행]
http://wootstudio.ca/win8platstarter
->
http://sdrv.ms/1aE3qfN

[p. 112: 마지막 행 아래에 추가]
//플레이어의 PlayerSprite GameObject 컴포넌트의 참조
private GameObject PlayerSprite;

[p. 114: 스크린샷에 대한 추가 설명]
스크린샷과 동일한 구성을 만들기 위해서는 Animation 창에서 Add Curve->Transform->Position의 더하기 버튼을 클릭하면 된다.

[p.144: 8~11행]