움직이는 증강 현실 게임 개발 [현실 속에서 이동하고 포획하며 즐기는 유니티 AR 게임]
- 원서명Augmented Reality Game Development: Create your own augmented reality games from scratch with Unity 5 (ISBN 9781787122888)
- 지은이마이클 랜햄(Michael Lanham)
- 옮긴이이진오
- ISBN : 9791161751597
- 30,000원
- 2018년 05월 30일 펴냄
- 페이퍼백 | 384쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
책 소개
요약
'포켓몬 고'와 같은 증강 현실 게임을 개발하고 싶은 중급 이상의 개발자들을 위한 책이다. 유니티를 사용해 AR 게임을 개발하는 이 책은 이에 필요한 모든 요소들(위치 추적, 지도 구현, 캐릭터 이동, 몬스터 포획, 증강 현실 구현 등)을 다뤄 완전한 게임을 만든다. 스마트폰에서 현실과 게임을 하나로 묶는 게임을 개발하고자 한다면 이 책이 큰 도움이 될 것이다.
이 책에서 다루는 내용
■ 위치 기반 증강 현실 게임 Foodie Go 개발하기
■ 지도상에서 플레이어 아바타 애니메이션하기
■ 모바일 기기 카메라를 게임 배경으로 사용하기
■ SQLLite4Unity3D를 사용해 지속적인 데이터베이스를 적용해 게임 세션 전반에 사용 가능한 인벤토리 아이템 만들기
■ 게임, 인벤토리, 메뉴, 설정용 기본 UI 만들기
■ Google Places API를 이용해 장소와 콘텐츠 검색하기
■ 비주얼 셰이더 효과를 사용해 게임 분위기 향상시키기
■ 멀티플레이어 네트워크와 여러 개선 요소를 이용해 게임 확장하기
이 책의 대상 독자
'포켓몬 고'와 유사한 본인만의 위치 기반 증강 현실 게임을 개발하는 데 관심을 가진 사람들을 위한 책이다. 일정 수준 이상의 게임 개발 기술을 갖췄거나 유니티를 이미 경험해봤다고 가정하지 않지만, C# 언어나 그에 상응하는 언어(C, C++, 자바, 자바스크립트 등)에 대한 기본 지식은 필요하다.
이 책의 구성
1장. '시작하기'에서는 위치 기반 AR 게임 장르를 소개하고 우리가 개발할 가상의 게임인 Foody Go를 둘러싼 개념들을 살펴본다. 그러고 나서 필요한 소프트웨어들의 다운로드 과정과 유니티 모바일 개발 환경의 구성에 대해 알아본다.
2장. '플레이어 위치 매핑'에서는 먼저 GIS, GPS, 매핑에 관한 기본적인 개념을 알아보고, 이어서 이 개념들이 실시간 지도 생성과 게임 내 플레이어 위치 확인에 어떻게 사용될 수 있는지 살펴본다.
3장. '아바타 만들기'에서는 이전 장에서 구현한 내용을 기반으로 간단한 위치 마커를 애니메이션이 포함된 이동하는 캐릭터로 바꿔본다. 이렇게 하면 플레이어는 본인의 모바일 기기를 들고 움직일 때 자신의 아바타가 지도 위에서 움직이는 것을 확인할 수 있다.
4장. '포획물 생성하기'에서는 Foody Go에서 실험체 몬스터들을 포획하는 개념을 설명한다. 지도 위에 있는 플레이어의 주위에서 몬스터를 생성하는 법을 배운다.
5장. 'AR에서 포획물 잡기'에서는 기기의 카메라에 접근해서 통합된 AR을 구현하고, 볼 던지기 물리, 포획물의 반응과 플레이어 스와이핑(swiping) 관리, 새로운 게임 신(scene)을 구현해본다.
6장. '포획물 저장하기'에서는 플레이어의 인벤토리(inventory) 개발에 집중한다. 잡은 Foody 생물들과 다른 유용한 아이템들을 저장하고, 영속되는 저장 공간과 간단한 인벤토리 신을 추가하는 방법을 배운다.
7장. 'AR 세계 만들기'에서는 실시간 데이터 서비스를 기반으로 플레이어 주위에 관심 위치(location of interest) 추가하는 방법을 배운다.
8장. 'AR 세계와 상호작용하기'에서는 플레이어가 관심 위치들과 상호작용할 수 있게 만든다. 우리 게임에서 플레이어는 관심 위치에서 잡은 몬스터들을 팔 수 있다.
9장. '게임 마무리하기'에서는 게임을 마무리하는 방법은 물론, 더 나아가 독립적인 위치 기반 AR 게임을 만들 수 있는 정보를 다룬다. 이 책에서는 Foody Go 게임의 데모 버전만을 만들기 때문이다.
10장. '문제 해결'에서는 개발 과정에서 마주치는 장애 요소들을 해결할 수 있는 팁과 유용한 방법들을 다룬다. 모든 소프트웨어 개발이 그렇듯이 문제는 언제나 일어나기 마련이다.
목차
목차
- 1장. 시작하기
- 실세계 어드벤처 게임
- 위치 기반
- 증강 현실
- 어드벤처 게임
- 유니티로 모바일 개발 준비하기
- 유니티 다운로드 및 설치
- 안드로이드 개발 환경 구성하기
- iOS 개발 환경 구성하기
- 유니티 시작하기
- 게임 프로젝트 생성하기
- 게임을 빌드하고 배포하기
- 요약
- 실세계 어드벤처 게임
- 2장. 플레이어 위치 매핑
- GIS 핵심 개념
- 매핑
- GPS 핵심 개념
- 구글 맵스
- 지도 추가하기
- 서비스 구성하기
- 요약
- GIS 핵심 개념
- 3장. 아바타 만들기
- 유니티 기본 에셋 가져오기
- 캐릭터 추가하기
- 카메라 바꾸기
- 크로스 플랫폼 입력
- 입력 수정하기
- 캐릭터 교체하기
- 요약
- 유니티 기본 에셋 가져오기
- 4장. 포획물 생성하기
- 새로운 몬스터 서비스 만들기
- 매핑에서 거리 이해하기
- GPS 정확도
- 몬스터 체크하기
- 3D 월드 공간에 좌표 투영하기
- 지도에 몬스터 추가하기
- UI에서 몬스터 추적하기
- 요약
- 새로운 몬스터 서비스 만들기
- 5장. AR에서 포획물 잡기
- 신 관리
- Game Manager 소개
- 신 불러오기
- 터치 입력 업데이트하기
- 콜라이더와 리지드바디 물리
- AR 포획 신 만들기
- 신 배경으로 카메라 사용하기
- 포획 볼 추가하기
- 볼 던지기
- 충돌 체크하기
- 반응을 나타내는 파티클 효과
- 몬스터 포획하기
- 요약
- 6장. 포획물 저장하기
- 인벤토리 시스템
- 게임 상태 저장하기
- 서비스 구성하기
- 코드 리뷰하기
- 몬스터 CRUD 작동
- Catch 신 업데이트하기
- 인벤토리 신 만들기
- 메뉴 버튼 추가하기
- 게임을 하나로 합치기
- 모바일 개발 문제들
- 요약
- 7장. AR 세계 만들기
- 지도로 돌아가기
- 싱글톤
- Google Places API 소개
- JSON 사용하기
- Google Places API 서비스 구성하기
- 마커 만들기
- 검색 최적화하기
- 요약
- 8장. AR 세계와 상호작용하기
- Place 신
- Google Street View를 배경으로
- Google Places API 사진으로 슬라이드쇼하기
- 판매를 위한 UI 상호작용 추가하기
- 판매 게임 메카닉
- 데이터베이스 업데이트하기
- 흩어진 조각들 연결하기
- 요약
- 9장. 게임 마무리하기
- 남은 주요 개발 작업들
- 부족한 개발 기술
- 에셋 정리하기
- 게임 출시하기
- 위치 기반 게임의 어려움
- 위치 기반 멀티플레이어 게임
- Firebase를 멀티플레이어 플랫폼으로
- 기타 위치 기반 게임 아이디어
- 장르의 미래
- 요약
- 10장. 문제 해결
- Console 창
- 컴파일러 에러와 경고들
- 디버깅
- 리모트 디버깅
- 고급 디버깅
- 로깅
- CUDLR
- 유니티 애널리틱스
- 장별 이슈들과 해결책
- 요약