Top

유니티로 배우는 안드로이드 게임 개발 [3D/2D 안드로이드 게임 개발 마스터]

  • 원서명Mastering Android Game Development with Unity: Build high-end Android games with Unity's advanced features (ISBN 9781783550777)
  • 지은이시드하스 쉐카(Siddharth Shekar), 와자하트 카림(Wajahat Karim)
  • 옮긴이최민석
  • ISBN : 9791161751214
  • 30,000원
  • 2018년 02월 28일 펴냄
  • 페이퍼백 | 376쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

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

안드로이드 게임 개발의 기본 개념과 간략한 역사, 그리고 유니티에서 안드로이드 게임을 개발하기 위해 알아야 할 기본 구성 요소를 배운다. 2D 게임을 만들기 위한 새로운 프로젝트를 구성하고, 환경과 캐릭터를 추가하며 캐릭터를 컨트롤하는 과정을 진행한다. 그 다음은 3D 액션 격투 게임의 기본 설정을 알아보고 컨트롤을 구현한다. 3D 구성을 위한 씬 설정과 입력 컨트롤 관리, 게임의 다양한 인터페이스를 제작 방법을 배운다. 마지막으로 게임 기록, 사운드, 소셜 네트워크 공유, 테스트 등을 거쳐 게임 개발을 마무리하고, 끝으로 웹스토어에 게임을 게시하는 과정을 따라한다.

이 책에서 다루는 내용

█ 제트팩 조이라이드 클론 게임 개발
█ 액션 격투 게임 개발을 통해 소개하는 유니티 5의 고급 기능
█ 유니티의 새로운 uGUI 시스템을 이용한 멋진 GUI 제작
█ 멋진 파티클 시스템과 복잡한 애니메이션을 추가한 게임의 그래픽 향상
█ 음악과 사운드 효과를 통한 게임의 현실감 개선
█ 다양한 안드로이드 장치에서 게임을 디버그하고 배포하는 방법

이 책의 대상 독자

이 책은 초보나 중간 수준의 유니티3D 개발자가 고수준 안드로이드 게임을 개발하기 위해 알아야 할 기술을 설명한다. 유니티3D와 해당 환경에 대한 기본부터 중간 수준의 이해, 게임 오브젝트와 프리팹의 기본 개념, C#이나 자바스크립트를 사용하는 유니티 스크립팅, 그리고 유니티3D를 사용해 기본적인 2D와 3D 게임을 개발하는 방법을 알아야 한다.
이 책은 간단하고 기본적인 안드로이드용 게임을 만들어본 경험이 있는 개발자가 복잡한 애니메이션과 다중 레벨, 캐릭터 기술, 적의 약점, 인공지능, 업적, 점수판 등을 포함하는 복잡하고 수준 높은 게임을 개발하려고 할 때 큰 도움이 될 것이다.

이 책의 구성

1장, '유니티3D를 사용한 안드로이드 게임 개발 소개'에서는 안드로이드 게임 개발의 기본 개념, 안드로이드 게임의 간단한 역사, 유니티3D에서 안드로이드 게임의 구성 요소, 게임의 기본 흐름을 다룬다.
2장, '활기찬 펭귄 2D 게임 마무리'에서는 제트팩 조이라이드 클론 게임을 마무리하면서 2D 게임 개발에 대한 주제를 확장한다. 2장에서는 파티클 시스템, 카메라 관리, 프리팹(prefabs), 애니메이션, 트리거, 콜라이더(collider), 기본 GUI 시스템 같은 다양한 주제를 다룬다.
3장, '액션 격투 게임에 플레이어 캐릭터 추가'에서는 모델과 텍스처 가져오기, 캐릭터의 리깅 설정, 모델에 애니메이션 적용, 가상 온스크린 조이스틱을 사용한 플레이어 캐릭터 조종 등을 포함한 3D 액션 격투 게임의 기본 구성을 다룬다. 4장, '인공지능을 갖춘 적 캐릭터'에서는 게임의 적 캐릭터를 만들기 위해 모델을 가져오고, 애니메이션을 적용하며, 인공지능을 통한 의사결정을 적용하는 과정을 알아본다.
5장, '게임플레이, UI, 효과'에서는 게임플레이 루프를 마무리하고 UI를 추가하며, 게임의 점수를 표시할 텍스트 추가, 특수 효과를 위한 파티클 효과의 사용 방법을 알아본다.
6장, '게임 씬과 씬 플로'에서는 메인메뉴 씬을 만드는 과정과 옵션 씬에 대해 설명하고, 게임에서 씬 사이를 전환하는 방법을 설명한다.
7장, '게임 기록, 소셜, 인앱 구매, 광고 통합'에서는 게임의 진행 상황을 저장하는 방법, 페이스북이나 트위터 같은 소셜미디어를 통합하는 방법, 광고 통합, 인앱 구매를 통한 수익 창출에 대해 알아본다.
8장, '사운드, 마무리, 게시'에서는 게임 개발을 마무리하고 사운드를 추가한다. 또한 장치에서 게임을 실행하는 방법과 안드로이드 플레이스토어에 게임을 게시하는 과정을 안내한다.

저자/역자 소개

지은이의 말

유니티의 출발은 그리 대단하지는 않았지만, 이제는 거의 모든 독립 게임 개발자가 선택할 정도로 업계에 널리 보급된 툴이 됐다. 유니티를 사용하면 아주 손쉽게 게임 프로토타입을 개발할 수 있으며, 좋은 아이디어만 있으면 간단한 프로토타입을 완전한 게임으로 확장할 수 있을 만큼 유연하다.
유니티는 전문적인 기능을 지원하면서도 초보자도 몇 시간만 투자하면 기본적인 게임을 만들 수 있을 정도로 사용하기 쉽다. 또한 충분한 노력을 투자하면 멋진 조명 효과와 애니메이션으로 무장한 아주 수준 높은 게임을 개발할 수 있다. 최신 버전의 유니티는 게임 개발의 진입 장벽을 그 어느 때보다 더 낮췄다는 평가를 받고 있다.
이 책에서는 2D와 3D 게임 개발의 다양한 주제를 다룬다. 특히 제트팩 조이라이드와 비슷한 2D 게임과 조명 효과, 카메라를 사용한 3D 격투 게임을 만드는 과정을 살펴본다. 또한 버튼, 텍스트, 화면 전환 등의 효과를 추가하는 방법을 배운다. 마지막으로 게임을 만든 다음에는 인앱 구매와 광고를 추가해 수익을 올리는 방법을 배운다.

지은이 소개

시드하스 쉐카(Siddharth Shekar)

5년 이상 경력의 게임 개발자이며 C++, C# 등의 프로그래밍 언어를 사용한 지는 11년이 됐다. 그래픽 라이브러리와 유니티, 언리얼 엔진 등 게임 엔진에 능숙하며, iOS, 안드로이드, 아마존, 윈도우 등의 여러 앱스토어에 게임을 출시했다.
팩트출판사의 『Learning Cocos2d-x Game Development』(2014), 『Learning iOS 8 Game Development Using Swift』(2015), 『Cocos2d Cross-Platform Game Development Cookbook』(2016)을 집필했으며, 『iOS Programming Cookbook』(2017)을 기술 감수하기도 했다.
현재는 뉴질랜드 오클랜드에 위치한 미디어디자인 스쿨의 게임 개발부에서 강사로 플레이스테이션 4와 비타 게임 개발을 위한 그래픽 프로그래밍을 강의하고 있으며, 졸업 준비생들의 졸업 작품을 지도하고 있다.

와자하트 카림(Wajahat Karim)

7년 이상 소프트웨어 개발 경력을 지녔고, 다양한 기술에 대한 폭넓은 전문 지식을 갖춘 숙련된 모바일 앱 및 게임 개발자이다.
파키스탄 이슬라마바드에 위치한 국립 과학기술 대학교(NUST) 전자공학과 컴퓨터과학 학부에서 정보통신 시스템공학 학위를 받았다. 14살부터 게임을 개발했으며 안드로이드 SDK, 앤드엔진, 어도비 플래시, 어도비 에어, 게임메이커, 유니티3D를 포함한 다양한 플랫폼을 능숙하게 다룬다.
프로그래밍과 코딩뿐만 아니라 어도비 포토샵, 어도비 일러스트레이터, 어도비 플래시, 오토데스크 마야 같은 컴퓨터 그래픽 툴에도 익숙하다. 최근에는 오만의 무스카트에서 정부 요청으로 2015년 슈라(Shura) 위원회 선거를 위한 안드로이드와 iOS용 실시간 선거 모니터링 앱을 만들었다. 이후로도 여러 스타트업을 시작했으며 가상 현실과 증강 현실 관련 스타트업에도 참여했다.
현재는 다국적 기업의 개발 관리자로 일하고 있으며, 안드로이드 개발자가 앱 성장을 촉진하고 사용자에게 인앱 혜택을 제공할 수 있는 스타트업과 협업하고 있다.
게임 개발과 기업가 정신, 그리고 집필에 깊은 열정을 갖고 있으며 팩트출판사의 『Learning Android Intents』(2014)를 공동 집필했다.

옮긴이의 말

유니티는 이제 거의 모든 게임 플랫폼에서 게임을 개발할 때 가장 먼저 고려되는 게임 엔진이 됐다. 과거에는 소규모 인디 개발팀과 개인 개발자가 유니티를 도입하는 데 적극적이었지만, 현재는 국내외의 여러 대규모 업체에서도 유니티로 개발한 중량급 게임을 꾸준히 선보이고 있다. 유니티가 대규모 게임 프로젝트에 활발하게 채택되는 데는 유니티에 대한 업계 전반의 인식 변화도 있지만, 유니티가 제공하는 기능이나 성능이 최근 몇 년간 크게 향상된 것도 주요 요인이라 하겠다.
특히 버전 체계를 바꾼 2017.1 버전부터는 서너 달이 멀다 하고 놀랄 만큼 큼지막한 주요 업데이트를 쏟아내고 있다. 이제 유니티의 기존 장점인 사용 편의성과 완만한 러닝커브, 가격 정책에 더해 경쟁제품과 비교해 우위에 설 만큼 강력하고 광범위한 기능과 최적화된 성능을 자랑할 수 있게 됐다.
유니티가 지원하는 여러 플랫폼 중에서도 안드로이드를 비롯한 모바일 게임 분야는 유니티가 강세를 보이는 시장이다. 이 책은 유니티를 이용해 안드로이드용 게임을 개발하려는 개발자에게 유니티와 안드로이드 플랫폼을 소개하고, 2D 게임과 3D 캐릭터, 인공지능, 사용자 인터페이스, 게임 플레이와 게임 씬, 게임 기록 등을 구현하는 과정을 직접 따라하며 이해해야 할 기본 개념을 설명한다. 또한 마지막에는 소셜미디어 통합, 광고 통합, 인앱 구매 등을 구현하는 방법과 완성된 게임을 마켓에 등록하는 과정을 설명한다. 이 책이 유니티로 안드로이드 게임을 개발하려는 개발자에게 좋은 안내서가 되길 바란다.

옮긴이 소개

최민석

2005년부터 번역 회사에서 언어 전문가로 일하다 독립한 후 현재 IT 전문 번역가로 일하고 있다. 10여 년 동안 수백 건의 소프트웨어 현지화와 개발자 웹사이트 한글화 프로젝트를 진행했으며, 지금은 IT 전문 서적을 번역하는 일에 집중하고 있다. 번역한 책으로는 『리액트 디자인 패턴과 모범 사례』(에이콘, 2017), 『Unity 5.x By Example』(에이콘, 2016), 『유니티 5 메카님 캐릭터 애니메이션』(에이콘, 2016), 『네티 인 액션』(위키북스, 2016), 『유니티와 C#으로 배우는 게임 개발 교과서』(위키북스, 2015) 등이 있다.

목차

목차
  • 1장. 유니티3D를 사용한 안드로이드 게임 개발 소개
    • 안드로이드 소개
      • 안드로이드 버전
      • 구글 플레이: 안드로이드의 마켓 스토어
    • 유니티3D와 게임 엔진
      • 언리얼 엔진
      • 어도비 플래시 프로페셔널
      • 게임 메이커 스튜디오
      • Unity3D
    • 유니티3D의 기능
    • 유니티 게임 개발의 기본 개념
      • 유니티 편집기 인터페이스
    • 빈 게임 프로젝트의 구성
    • 활기찬 펭귄 게임
      • 활기찬 펭귄 게임플레이
    • 펭귄 추가
      • 펭귄 스프라이트 가져오기
      • 펭귄 게임오브젝트 만들기
      • 펭귄 오브젝트에 스트립트 동작 추가
      • 펭귄의 이동 범위를 화면 경계선으로 제한
    • 요약

  • 2장. 활기찬 펭귄 2D 게임 마무리
    • 파티클 시스템 추가
      • 파티클 시스템이란?
      • 파티클 시스템의 기본
      • 로켓 화염 효과 만들기
      • 게임 레벨의 배경 추가
    • 카메라 관리
      • 펭귄이 전진하게 만들기
      • 카메라가 펭귄을 따라가게 하기
    • 프리팹과 레벨 관리
      • 프리팹
      • 레벨 블록 프리팹 만들기
      • 레벨 블록 생성기의 개념
      • BlockGenerator
      • 게임에 얼음 스파이크 추가
    • 요약

  • 3장. 액션 격투 게임에 플레이어 캐릭터 추가
    • 유니티에서 3D 게임용 프로젝트 구성
    • 3D 모델 가져오기
      • 3D 모델
      • 모델링 툴
      • 유니티3D로 3D 모델 가져오기
      • FBX 모델 가져오기
    • 텍스처 및 머티리얼 적용
      • 텍스처
      • 셰이더
      • 머티리얼
      • 농장주택 모델에 텍스처 적용
    • 범용 리깅과 인간형 리깅
      • 인간형 캐릭터
      • 인간형 모델 가져오기
      • 인간형 모델의 아바타 구성
    • 유니티를 이용한 인간형 모델 애니메이션
      • 레거시 애니메이션 시스템
      • 메카님 애니메이션 시스템
    • 격투 게임의 플레이어 캐릭터 만들기
    • 요약

  • 4장. 인공지능을 갖춘 적 캐릭터
    • 플레이어 모델 가져오기
    • 플레이어 애니메이션 컨트롤러
    • 플레이어 컨트롤의 스크립트 작성
    • 적 캐릭터 추가
    • 적의 행동과 인공지능
    • 격투 완성
    • 요약

  • 5장. 게임플레이, UI, 효과
    • 게임플레이 완성
    • 유니티 uGUI의 이해
    • 체력과 게임 종료 표시를 위한 GUI 추가
    • 파티클 시스템 소개
    • 색종이 파티클 효과 만들기
    • 요약

  • 6장. 게임 씬과 씬 플로
    • 시작 씬에 버튼 추가
    • 프로젝트 폴더 구조 정리하기
    • 시작 씬에 게임 재시작 버튼 추가
    • 시작 씬에 게임 일시 중지 버튼 추가
    • 시작 씬에 메인 메뉴 버튼 추가
    • 메인 메뉴 씬 만들기
    • 요약

  • 7장. 게임 기록, 소셜, 인앱 구매, 광고 통합
    • 장치와 애뮬레이터에서 앱 실행
    • 안드로이드 개발자 콘솔
    • 게임에 업적 추가
    • 게임 기록 저장
    • 광고 통합
    • 인앱 구매
    • SNS 통합
    • 요약

  • 8장. 사운드, 마무리, 게시
    • 사운드 추가
    • 다중 해상도 처리
    • APK 최적화
    • 게시를 위한 빌드 준비
    • 게임 게시
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.76 : 상단 코드]