길벗·이지톡

도서 IT전문서/IT입문서 게임
스테이지, 퍼즐, 보스를 공략하는 유니티 2D 게임 공작소
정 가
45,000원
I S B N
9788966189731
출 간
2015-06-08
분 량
744쪽
지 은 이
오노고지
난 이 도
초급
옮 긴 이
김범준
부 록
예제 소스 및 에셋, 그래픽 데이터

2D 게임 제작 기술과 노하우가 한 권에! ‘유니티 2D’ 책의 결정판!

≪유니티 2D 게임 공작소≫는 유니티 2D 기능을 사용하여 플레이어 캐릭터 설정부터 공격 액션 구현, 충돌 판정, 공중 콤보 구현. 슈퍼 아머(적 캐릭터) 만들기, 다양한 효과 연출, 씬의 흐름 연결, 가상 패드 제작 등 2D 액션 게임 제작에 필요한 모든 내용을 처음부터 끝까지 예제를 완성하며 배우는 구성이다. 앞부분에서 유니티를 설치하고 간단한 러너 게임 실습한 후, 본격적으로 닌자 슬래셔 액션 게임(NinjaSlasherX)을 만들어 본다. 이 게임은 실제로 구글플레이와 앱스토어에 출시되어 있는 완성도 높은 2D 게임으로서, 해당 예제 소스와 그래픽 파일을 모두 다운로드하여 마음껏 사용할 수 있다. 유니티 프리 라이선스의 기능만으로 이 책의 예제를 실습할 수 있으므로, 이제 이 책 한 권이면 누구나 짜릿하고 흥미진진한 2D 게임을 만들 수 있다. 

*이 책에서 다루는 내용
-스프라이트 이미지 작성법
-물리 엔진인 Physics 2D 사용법
-각종 퍼즐을 구성하는 법
-유니티 2D의 애니메이션 기능인 메카님 사용법
-행동 유도성 트리거, 전투 AI와 같은 게임 심리 응용
-자연스러운 카메라 처리
-파티클 시스템으로 화려한 효과 만드는 법
-씬별 스테이지 레벨 디자인하는 법
-가상 패드 제작, 메뉴 등록, 빌드하는 법

*이 책의 독자 대상
C#에 대한 이해가 있으며, 유니티로 2D 게임을 제작하고 싶은 사람
스마트폰용 2D 게임 제작 기술과 노하우를 배우고 싶은 사람

*NinjaSlasherX 게임 플레이해보기
앱스토어에서 다운로드(iOS용)
https://itunes.apple.com/kr/app/ninjaslasherx/id917928055

구글플레이에서 다운로드(안드로이드용)
https://play.google.com/store/apps/details?id=com.OPlanning.NinjaSlasherX

*예제소스 및 이미지 자료 다운로드
https://github.com/gilbutITbook/006779

목차

1장 유니티 준비하기

1.1 유니티 설치하기
-다운로드와 설치
-사용자 등록
-라이선스

1.2 유니티 기본 기능 익히기
-프로젝트 생성
-유니티 에디터의 화면 구성
-모노디벨롭과 프로그래밍
-에셋 스토어
-유니티 참고 웹 사이트

2장 유니티 2D 입문

2.1 유니티로 2D 게임 만들기
-프로젝트 생성
-Assets 폴더 안에 폴더 생성
-스프라이트 이미지 작성 방법
-스프라이트 이미지 등록하기
-스프라이트 이미지 편집 방법
-스테이지 만들기
-괴수 만들기
-탱크 만들기
-실행하여 게임 확인하기

2.2 유니티 2D란
-유니티 2D의 구성
-카메라 컴포넌트의 설정

2.3 유니티 2D 자유자재로 사용하기
-Multiple 모드
-Slice 기능
-아틀라스의 가장 좋은 크기는?
-아이폰과 안드로이드의 감색 문제
-아이폰과 안드로이드의 기타 문제

3장 유니티 2D를 이용한 게임 제작 스타일 알아보기

3.1 게임 기획하여 사양 만들기
-일단은 게임 기획부터 사양을 생각한다

3.2 게임 개발 준비하기
-프로젝트 생성
-Game 뷰의 화면 크기
-타깃 플랫폼의 화면 크기
-폴더 생성
-스프라이트 이미지 준비
-소팅 레이어 설계

3.3 물리 엔진을 사용하지 않고 프로그래밍으로 꿋꿋하게 만들기
-씬에 플레이어와 스테이지 만들기
-씬 등록하기
-플레이어 캐릭터 스크립트
-MonoBehaviour 클래스와 기본적인 프로그래밍 방법
-Transform 컴포넌트를 사용하기 쉽게 해주는 기능
-public 변수와 Inspector의 관계
-프로그래밍으로 꿋꿋하게 만드는 방법의 장단점

3.4 물리 엔진을 최대한 활용하여 만들기
-플레이어에 접지 판정 적용
-스테이지에 충돌 판정 적용
-플레이어 캐릭터 스크립트 작성과 수정
-물리 엔진을 이용하기 위한 스크립트 구조
-게임 조정
-물리 엔진과 단위 문제
-물리 엔진을 활용하여 만드는 방법의 장단점

3.5 메카님으로 애니메이션 만들기
-애니메이션을 강력하게 지원하는 메카님
-메카님으로 달리기 애니메이션 만들기
-메카님으로 점프 애니메이션 만들기
-Animator 컴포넌트 설정
-메카님 프로그래밍
-아직 남아있는 문제점들

3.6 유니티로 게임을 만들 때 사용하는 기능 알아보기
-유니티 기능을 사용하지 않을 때
-유니티 기능을 사용할 때

4장 유니티 2D로 게임을 만들기 위해 기획과 설계하기

4.1 게임 기획과 사양과 제작 준비
-게임 기획과 사양
-프로젝트 생성
-레이어와 태그 설계
-레이어, 소팅 레이어, 태그 설정과 게임 오브젝트 검색

5장 메카님과 Physics 2D로 플레이어 캐릭터 만들기

5.1 플레이어 캐릭터의 이동 애니메이션 만들기
-플레이어 캐릭터 만들기
-플레이어 캐릭터의 충돌 판정
-플레이어 캐릭터의 접지 판정
-서 있기, 걷기, 달리기, 점프, 피격, 사망 애니메이션
-Animation Controller 편집

5.2 플레이어 캐릭터의 캐릭터 컨트롤러 만들기
-플레이어 캐릭터 스크립트 작성과 수정
-PlayerMain 클래스 구현
-BaseCharacterController 클래스 구현
-PlayerController 클래스 구현
-스크립트 컴포넌트 추가
-임시 스테이지를 만들어 조정

5.3 Input 매니저와 Physics 2D 기능 알아보기
-Input 매니저
-Physics 2D 기능

6장 트리거 처리와 애니메이션 이벤트로 공격 액션 만들기

6.1 플레이어 캐릭터의 공격 처리 만들기
-플레이어 캐릭터의 공격 애니메이션
-공격 애니메이션 위치 조정
-공격 충돌 판정 애니메이션
-Animator 컴포넌트 설정
-공격 처리 스크립트

6.2 애니메이션 이벤트로 콤보 공격 만들기
-공격B 만들기
-공격B 스크립트

6.3 공중 콤보 공격 만들기
-공중 콤보 공격
-공중 콤보 공격 스크립트
-공중 콤보 공격 애니메이션

7장 메카님과 Physics 2D로 적 캐릭터 만들기

7.1 적 캐릭터의 기본 모습 만들기
-어떤 적을 만들까?
-적 캐릭터 게임 오브젝트
-적 캐릭터의 기본 애니메이션
-애니메이션 레이어를 사용하여 슈퍼 아머 만들기
-스크립트 구성
-PlayerController 스크립트에 함수 만들기
-BaseCharacterController 스크립트 수정
-EnemyController 스크립트 만들기
-EnemyBodyCollider 스크립트 만들기
-EnemyMain 스크립트 만들기
-EnemyMain_A 스크립트 만들기
-스크립트를 게임 오브젝트에 설정하기
-적 캐릭터의 공격 충돌 판정 처리 만들기

7.2 강한 적 캐릭터 만들기
-EnemyB_Bas 게임 오브젝트 작성하기
-EnemyB_Bas 애니메이션 만들기
-EnemyMain_B 스크립트 구현하기

7.3 원거리 공격용 적 캐릭터 만들기
-EnemyC_Bas 게임 오브젝트 만들기
-애니메이션 이벤트 추가
-EnemyC_Bas 애니메이션 만들기
-수리검과 호밍탄 프로그래밍
-EnemyMain_C 구현

7.4 프리팹으로 적의 개체 수 늘리기
-프리팹이란
-프리팹 만들기
-프리팹을 능숙하게 사용하기
-프리팹의 함정

8장 스크립트로 적 캐릭터 관리 시스템 만들기

8.1 행동 유도성 트리거 만들기
-행동 유도성 트리거

8.2 카메라와 적 캐릭터가 연동하는 게임 메카닉스 만들기
-카메라와 세 가지 게임 세계
-카메라 밖에서 멈춰있는 세계 만들기
-카메라 밖에서 활동하고 있는 세계 만들기

8.3 도그 파일 만들기
-도그 파일
-도그 파일 스크립트
-도그 파일을 씬에 추가하기

8.4 전투 AI 만들기
-전투 AI
-전투 AI 스크립트
-전투 AI 응용

9장 카메라 여러 대로 카메라와 HUD 만들기

9.1 카메라 처리 만들기
-2D 액션 게임과 카메라
-카메라 프로그램 구현

9.2 HUD 만들기
-유니티에서 HUD를 만드는 다양한 방법
-HUD를 위한 카메라 만들기
-HUD에 표시할 요소들 만들기
-HUD 표시 프로그램
-창호지 필터 만들기

10장 효과 만들기
10.1 메카님으로 효과 만들기
-피격 효과 만들기

10.2 프로그래밍으로 효과 만들기
-캐릭터 그림자 만들기
-캐릭터 잔상 만들기
-스테이지에 사용되는 그림자 만들기
-게임 오브젝트가 점점 투명해지면서 사라지는 효과 만들기

10.3 파티클 시스템으로 효과 만들기
-Shuriken 파티클 오브젝트의 기본 구조
-불꽃 효과 만들기
-벚꽃 효과 만들기
-피 분출 효과 만들기

10.4 Tween으로 효과 만들기
-Tween 효과 만들기

11장 Scene 뷰를 활용하여 레벨 디자인하기

11.1 스테이지A 만들기(액션 스테이지)
-스테이지 생성 순서와 레벨 디자인
-콘셉트·개요 작성
-레벨 디자인 설계
-프리팹 폴더 준비
-스테이지 부품 생성과 프리팹 등록(지형)
-스테이지 부품 생성과 프리팹 등록(기둥문)
-스테이지 부품 생성과 프리팹 등록(파괴할 수 없는 돌)
-스테이지 부품 생성과 프리팹 등록(파괴할 수 있는 상자)
-스테이지 부품 생성과 프리팹 등록(아이템)
-스테이지 부품 생성과 프리팹 등록(배경)
-스테이지 작성
-적 캐릭터 구성
-아이템 설치
-메인 카메라와 카메라 트리거 설정
-배경 만들기
-무대 효과 만들기
-레벨 디자인 작업 요약
-디버깅
-프리팹에 관련된 문제점

11.2 스테이지B 만들기(제작 준비 단계와 큰 방까지 가는 길 작성)
-스테이지B 설계하기
-스테이지B를 위한 카메라와 HUD 만들기
-스테이지B의 부품 작성과 프리팹 등록
-스테이지 간 이동(출발점 StageB 작성)
-상자 퍼즐 만들기
-큰 방 만들기

11.3 스테이지B 만들기(큰 방에서 중간 보스 방A까지)
-물리 엔진의 특성
-컬라이더의 종류
-특수한 컬라이더의 종류
-물리 엔진을 사용한 퍼즐(통나무를 넘어뜨린다·물리스위치를 만든다)
-물리 엔진을 이용한 퍼즐(Hinge Joint 2D를 사용)
-물리 엔진을 이용한 퍼즐(Slider Joint 2D를 사용)
-중간 보스 방A

11.4 스테이지B 만들기(큰 방에서 중간 보스 방B까지)
-워프 통로로 미궁 만들기
-중간 보스 방B

11.5 스테이지B 만들기(큰 방에서 중간 보스 방C까지)
-스크립트를 사용한 특수 연출(움직이는 바닥)
-스크립트를 사용한 특수 연출(움직이는 벽)
-중간 보스 방C

11.6 스테이지B 만들기(큰 방에서 최종 보스 방까지)
-스위치 퍼즐(조합)
-스위치 퍼즐(시간차를 이용한 퍼즐)
-물리 엔진을 사용한 특수 연출(낙석)
-물리 엔진을 사용한 특수 연출(마인카트)
-최종 보스 스테이지 만들기(다관절 캐릭터)
-스테이지B의 레벨 디자인 요약

12장 가상 패드 만들기

12.1 가상 패드 만들기
-가상 패드 설계
-가상 패드 프로그래밍

13장 배경음과 효과음 구현하기

13.1 사운드 구현하기
-유니티 사운드의 기본
-플랫폼에 따른 데이터 설정
-배경음 재생 방법
-효과음 재생 방법
-사운드 관리자 만들기
-사운드 관리자를 게임에 구현하기

14장 게임 완성하기

14.1 씬의 흐름 만들기
-씬 전반에 걸쳐 참조할 데이터 작성 방법
-프로그램이 시작될 때 실행되는 처리
-페이드 인·페이드 아웃

14.2 게임 저장·불러오기 기능 만들기
-PlayerPrefs 클래스 사용하기
-저장·불러오기 속도를 높이는 데이터 패킹 라이브러리
-저장·불러오기 처리 구현
-아이템 저장

14.3 메뉴 만들기
-로고 화면 만들기
-타이틀 화면 만들기
-옵션 화면 만들기
-랭킹 화면 만들기
-일시정지 화면 만들기
-어떤 화면 크기에서도 표시되게 한다

14.4 빌드하기
-가비지 컬렉션 최적화
-빌드하기
-조정·개선 테스트 플레이, 더욱 조정!

부록 참고 자료
지은이 후기
찾아보기
더보기접기

저자

ㆍ지은이 오노고지

지은이 소개
일본 호세이대학 경영학부를 졸업했다. 대학 시절 취미로 프로그래밍을 시작한 것을 계기로 이 업계에 발을 들여놓게 됐으며, 한국과 일본에서 임베디드 시스템과 게임 관련 회사에서 개발 프로젝트를 진행했다. 번역서로는 《파이썬으로 다시 배우는 핵심 고등 수학》 《엔지니어를 위한 선형대수》 《기초 수학으로 이해하는 머신러닝 알고리즘》 《프랙티컬 C#》 《정석으로 배우는 딥러닝》 《러닝스쿨! 파이썬 교과서》 《유니티 UI 디자인 교과서》 《머신러닝 이론 입문》 《모던 C 언어 프로그래밍》 《따라 하면서 배우는 유니티 3D 입문》이 있으며, 저서로는 《만들면서 배우는 OS커널의 구조와 원리》 《뇌를 자극하는 하드웨어 입문》이 있다.

ㆍ옮긴이 김범준

옮긴이 소개
일본 호세이대학 경영학부를 졸업했다. 대학 시절 취미로 프로그래밍을 시작한 것을 계기로 이 업계에 발을 들여놓게 됐으며, 한국과 일본에서 임베디드 시스템과 게임 관련 회사에서 개발 프로젝트를 진행했다. 번역서로는 《파이썬으로 다시 배우는 핵심 고등 수학》 《엔지니어를 위한 선형대수》 《기초 수학으로 이해하는 머신러닝 알고리즘》 《프랙티컬 C#》 《정석으로 배우는 딥러닝》 《러닝스쿨! 파이썬 교과서》 《유니티 UI 디자인 교과서》 《머신러닝 이론 입문》 《모던 C 언어 프로그래밍》 《따라 하면서 배우는 유니티 3D 입문》이 있으며, 저서로는 《만들면서 배우는 OS커널의 구조와 원리》 《뇌를 자극하는 하드웨어 입문》이 있다.

도서 FAQ

  • Unity 4.6.x에서 작동 문제에 관한 통지

    유니티 버전 4.6.x 이상에서 발생하는 문제
    * 교재는 유니티 4.5를 기준으로 지필되었습니다.

     

    유니티 버전 4.6.x 이상을 사용 중인 일부 환경에서 간혹 메카님 기능이 제대로 실행되지 않습니다. 유니티 버전 4.6.x에
    서 그림 5-13(180쪽)처럼 작업하면 ‘Unable to create animatable SpriteRenderer component’라는 메시지가 뜨면서 애
    니메이션이 등록되지 않을 수 있습니다.
    이럴 땐 유니티를 다시 시작하거나 아예 컴퓨터를 다시 시작하면 문제가 해결될 수도 있지만, 그래도 해결되지 않는다면
    지금 설명하는 방법을 시도해보기 바랍니다. Animation 뷰에서 Add Curve > Player Sprite > Sprite Renderer > Sprite 오른쪽에 있는 + 버튼을 클릭합니다. 그러면 오류가 발생하지 않고 드래그할 수 있습니다. 이후 페이지에서도 애니메이션을 등록할 때 같은 문제가 발생하면 방금 설명한 방법을 시도해보기 바랍니다. 그리고 될 수 있으면 유니티 버전 4.5.4(또는 4.5.5)를 설치해서 사용하기 바랍니다.

    이전 버전 다운로드 url은 다음과 같습니다
    http://japan.unity3d.com/unity/download/archive

    출처: 저자 운영홈페이지 http://o-planning.jp/book/book_2014_002/

     

보도자료

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.