2017년세종도서 학술부문 선정도서
★ 요약 ★
유니티는 직관적인 GUI와 높은 활용도로 실제 게임 제작에서 널리 사용되는 게임 엔진이다. 이 책은 유니티 5를 사용하여 가상현실 프로젝트를 만드는 방법을 다룬다. 가상현실에 대한 기본적인 지식과 함께, 단순히 물체를 보여주는 간단한 예제부터 여러 유저가 동시에 접속해서 서로 소통할 수 있는 멀티플레이어 가상현실 예제에 이르기까지 다양한 주제를 다룬다. 또한, 단계별 프로젝트를 통해 자칫 생소할 수도 있는 가상현실에 천천히 친숙해질 수 있게 독자를 배려했다.
★ 이 책에서 다루는 내용 ★
■ 월드 공간과 스케일에 대해 배우면서 유니티와 블렌더를 사용해서 3D 씬 만들기
■ 오큘러스 리프트와 구글 카드보드 같은 특정 헤드셋에서 VR 애플리케이션 빌드 및 실행
■ VR 애플리케이션에 사용할 수 있는 다양한 사용자 인터페이스(UI) 기법 실험
■ 오직 헤드 모션 제스처만을 입력으로 사용하는 1인칭과 3인칭 체험 구현
■ 유니티 엔진을 사용해서 물리 효과, 중력, 애니메이션, 조명으로 인터랙티브한 환경 제작
■ 애니메이션 워크쓰루 만들기, 360도 미디어 사용하기, 멀티유저 소셜 VR 체험 만들기
■ 모범 실무, 렌더링, VR 멀미를 포함한 VR 기술과 심리학 학습
■ 유니티 컴포넌트와 C# 프로그래밍을 사용하는 경험 얻기
★ 이 책의 대상 독자 ★
당신이 가상현실에 대해 관심이 있고, 가상현실의 동작 방식에 대해 배우고 싶거나 자신의 VR 체험을 만들고 싶다면, 이 책을 읽어야 한다. 당신이 프로그래머가 아니거나, 3D 컴퓨터 그래픽에 친숙하지 않거나, 혹은 프로그래밍과 3D 컴퓨터 그래픽 모두에 경험이 있으나 가상현실은 처음인 사람에게도 이 책은 도움이 될 것이다. 이것은 유니티 초보자를 위한 책이 아니지만, 그렇다고 전문가만을 위한 책도 아니다. 당신이 유니티 초보자라고 하더라도 이 책의 진도를 따라갈 수 있다면 상관없다.
게임 개발자는 이 책에서 VR에 관한 많은 아이디어를 배우는 동안 VR 프로젝트에 재적용된 개념에 이미 친숙할 수도 있다. 유니티를 사용할 줄 아는 모바일과 2D 게임 디자이너는 또 다른 차원을 발견할 것이다!
엔지니어와 3D 디자이너는 많은 3D 개념을 이해하고 있을지도 모르지만, 이 책을 통해 VR에서 게임 엔진을 사용하는 방법을 배울 수 있다. 애플리케이션 개발자는 게임이 아닌 분야에서 VR의 잠재적 사용법을 알아보고, 그것을 실현하기 위한 도구에 대해 배우기를 원할 것이다.
★ 이 책의 구성 ★
1장, '가상의 모든 것을 모두에게'에서는 게임 애플리케이션과 게임이 아닌 애플리케이션 둘 다의 관점에서 소비자 가상현실에서의 새로운 기술과 기회에 대해 소개한다.
2장, '오브젝트와 스케일'에서는 간단한 디오라마 씬을 만드는 방법에 대해 논의할 것이다. 유니티3D 게임 엔진과 3D 모델링을 위한 블렌더(Blender)를 소개하고, 월드 좌표와 스케일에 관한 문제도 다룬다.
3장, 'VR 빌드하고 실행하기'에서는 당신의 프로젝트가 오큘러스 리프트와 구글 카드보드(안드로이드와 iOS)에서 동작하게 설정할 것이다. 그리고 VR 하드웨어와 소프트웨어가 동작하는 방식에 대해 자세히 살펴본다.
4장, '시선 기반 컨트롤'에서는 씬 안에서 VR 카메라와 오브젝트 사이의 관계에 대해 알아볼 것이다. 3D 커서와 시선 기반 광선총이 이에 해당한다. 또한 C# 프로그래밍 언어를 사용한 유니티 스크립팅에 대해서도 소개한다.
5장, '월드 공간 UI'에서는 VR에서 사용되는 여러 사용자 인터페이스(UI) 예시를 구현할 것이다. 헤드업 디스플레이(HUD, heads-up display), 정보 풍선(info-bubbles), 많은 코드와 설명을 갖는 인게임 오브젝트가 이에 해당한다.
6장, '1인칭 캐릭터'에서는 시선 기반 내비게이션을 사용하는 1인칭 캐릭터를 만들기 위해 사용되는 유니티 캐릭터 오브젝트와 컴포넌트를 분석한다.
7장, '물리와 환경'에서는 유니티 물리 엔진, 컴포넌트, 매터리얼(material)에 대해 살펴볼 것이다. 여러 VR 프로젝트 예시와 게임에서 힘과 중력을 적용해본다.
8장, '워크쓰루와 렌더링'에서는 3D 아키텍처 공간을 만들고 가상 워크쓰루를 구현할 것이다. 또한 유니티의 렌더링과 성능 최적화에 대해 다룬다.
9장, '360도 전부 사용하기'에서는 지구본, 파노라마, 포토스피어 등의 다양한 프로젝트에서 360도 미디어를 사용할 것이다. 또한 그것이 어떻게 동작하는지도 알아본다.
10장, '소셜 VR 메타버스'에서는 유니티 5 네트워킹 컴포넌트를 사용해 멀티플레이어를 구현하는 방법을 살펴볼 것이다. 또한 소셜 VR을 위한 확장 가능한 플랫폼의 예시로 VRChat을 살펴본다.
11장, '다음은 무엇일까'에서는 이 책의 저자 입장에서 이 흥미로운 기술의 잠재력에 대해 언급한다.