
교양도서Unity virtual reality projects
유니티 5 가상현실 VR 프로젝트: 실용적인 프로젝트와 상세한 설명을 통한 가상현실 개발
- 저자
- Linowes, Jonathan | 김세중 | 최용훈
- 발행사항
- 서울 : 에이콘, 2016
- 형태사항
- 318 p. : 천연색삽화 ; 24 cm
- 주제명
- 가상 현실[假想現實]
소장정보
위치 | 등록번호 | 청구기호 / 출력 | 상태 | 반납예정일 |
---|---|---|---|---|
이용 가능 (1) | ||||
연구외도서 | G101041 | 대출가능 | - |
이용 가능 (1)
- 등록번호
- G101041
- 상태/반납예정일
- 대출가능
- -
- 위치/청구기호(출력)
- 연구외도서
책 소개
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장, '다음은 무엇일까'에서는 이 책의 저자 입장에서 이 흥미로운 기술의 잠재력에 대해 언급한다.
★ 요약 ★
유니티는 직관적인 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장, '다음은 무엇일까'에서는 이 책의 저자 입장에서 이 흥미로운 기술의 잠재력에 대해 언급한다.
목차
1장. 가상의 모든 것을 모두에게
__당신에게 가상현실이란 무엇인가
__헤드 마운트 디스플레이 종류
____데스크톱 VR
____모바일 VR
__가상현실과 증강현실의 차이
__애플리케이션 vs. 게임
__이 책이 다루는 영역
____이 책을 읽어야 할 사람
__VR 체험의 종류
__VR에서 전문적인 기술
__정리
2장. 오브젝트와 스케일
__유니티 시작하기
____새로운 유니티 프로젝트 시작하기
____유니티 에디터
____기본 월드 공간
__간단한 디오라마 만들기
____큐브 추가하기
____평면 추가하기
____구체와 몇 가지 매터리얼 추가하기
____씬 뷰 변경하기
____사진 추가하기
____그라운드 평면 색상 변경하기
__측정 도구
____유닛 큐브 만들기
____그리드 프로젝터 사용하기
____에단 캐릭터 측정하기
__블렌더에서 임포트하기
__블렌더 소개
____유닛 큐브
____UV 텍스처 이미지
____유니티로 임포트하기
____몇 가지 문제
__정리
3장. VR 빌드하고 실행하기
__VR 기기 통합 소프트웨어
____유니티 내장 VR 지원
____기기별 SDK
____OSVR 프로젝트
____WebVR
____3D 월드
__MeMyselfEye 프리팹 만들기
__오큘러스 리프트에서 빌드하기
__구글 카드보드에서 빌드하기
____안드로이드 설정
____iOS 설정
____카드보드 유니티 패키지 설치하기
____카메라 추가하기
____빌드 설정
____플레이 모드
____빌드하고 안드로이드에서 실행하기
____빌드하고 iOS에서 실행하기
__디바이스 독립적인 클릭커
__가상현실이 실제로 동작하는 방식
____입체 3D 뷰잉
____헤드 트래킹
__정리
4장. 시선 기반 컨트롤
__걸어다니는 에단
____인공지능 에단
____Navmesh bakery
____랜덤하게 걸어 다니기
____유니티 프로그래밍에 대한 빠른 소개
____RandomPosition 스크립트
____좀비가 된 에단
__보는 곳으로 가기
____LookMoveTo 스크립트
____피드백 커서 추가하기
____문제점
__죽여보기
____KillTarget 스크립트
____파티클 이펙트 추가하기
____애셋 폴더 정리하기
__정리
5장. 월드 공간 UI
__재사용 가능한 기본 캔버스
__바이저 HUD
__십자선 커서
__윈드실드 HUD
__게임 요소 UI
__정보 풍선
__사용자 이벤트와 인게임 대시보드
____버튼이 있는 대시보드 만들기
____물 호스와 버튼 연결하기
____스크립트에서 버튼 동작시키기
____버튼을 보면 강조하기
____보고 클릭해서 선택하기
____보고 응시해서 선택하기
__헤드 제스처와 반응형 오브젝트 UI
____머리 위치 사용하기
____헤드 제스처 사용하기
__정리
6장. 1인칭 캐릭터
__유니티 캐릭터 이해하기
____유니티 컴포넌트
____유니티 스탠다드 애셋
__1인칭 만들기
____보는 방향으로 이동하기
____땅에 붙어있기
____고체 오브젝트 통과하지 않도록 하기
____월드 끝에서 떨어지지 않기
____작은 오브젝트 넘기, 울퉁불퉁한 지형 처리하기
____움직이기 시작하고 멈추기
____헤드 제스처를 사용해서 걷기/멈추기
__사용자 칼리브레이션
____캐릭터 키
____현실에서의 플레이어 키
____리센터링
__자아의식 유지하기
____머리-몸 분리
____머리와 몸…
____그리고 발
____몸 아바타
____가상 코 만들기
____오디오 큐
__운동, 순간이동, 센서
__VR 멀미 해결하기
__정리
7장. 물리와 환경
__유니티 물리 효과
__탱탱볼
__헤드샷
__트램펄린과 벽돌
__인간 트램펄린
____벽돌같이
____캐릭터같이
__환경과 사물에 대한 빠른 소개
____Wispy Sky
____행성 지구
____기업 로고
__엘리베이터
__점프하기
__정리
8장. 워크쓰루와 렌더링
__블렌더에서 빌드하기
____벽
____천장
__유니티에서 씬 조립하기
____갤러리 룸
____전시 장치
____전시 계획
__갤러리에 사진 추가하기
__애니메이션 워크쓰루
____유니티 애니메이션 시스템
____스크립트를 사용한 애니메이션
__성능과 편의 최적화하기
____구현과 콘텐츠 최적화하기
____유니티 렌더링 파이프라인 최적화하기
____타깃 하드웨어와 드라이버에 최적화하기
____유니티 프로파일러
__정리
9장. 360도 전부 사용하기
__360도 미디어
__크리스탈 공
__매직 오브
__파노라마
__인포그래픽
__정방형 도법
__지구본
__포토스피어
__시야
__360도 미디어 찍기
__정리
10장. 소셜 VR 메타버스
__멀티플레이어 네트워킹
____네트워킹 서비스
____네트워크 아키텍처
____로컬 vs. 서버
____유니티 네트워킹 시스템
__간단한 씬 만들기
____씬 환경 만들기
____아바타 머리 만들기
__멀티플레이어 네트워킹 추가하기
____네트워크 매니저와 HUD
____네트워크 아이덴티티와 트랜스폼
____호스트에서 실행하기
____스폰 위치 추가하기
____두 개의 게임 인스턴스 실행하기
____아바타와 1인칭 캐릭터 연결하기
__멀티플레이어 가상현실 추가하기
____오큘러스 리프트 플레이어
____구글 카드보드 플레이어
____다음 단계
__커스텀 VRChat 룸 빌드하고 공유하기
____월드 준비하고 빌드하기
____월드 호스팅하기
__정리
11장. 다음은 무엇일까