책소개
상상의 현실인 가상현실(VR)과 현실에 가상을 더한 증강현실(AR)을
유니티 게임 제작에 접목하여 메타버스(Metaverse)까지!
인생 유니티 VR/AR 교과서
315조 메타버스(Metaverse) 시장을 선점하려고 통신, 포털, 게임 업계가 혈안이라는 뉴스에 로블록스(Roblox)가 뉴욕 증시 직상장을 통해 52조 원의 기업 가치를 인정받았다는 소식이 최근 연일 뉴스에 오르내렸다. 초보자용 VR 게임 엔진으로 로블록스 스튜디오와 함께 탑으로 꼽히는 유니티도 메타버스 시장의 유망주로 꼽혀 관심이 부쩍 높아지고 있다.
가상현실(VR) 시장으로만 좁혀서 살펴보면 시장조사기관 디지캐피탈(Digi-Capital)이 전 세계 VR 시장 규모를 2016년 40억 달러에서 2017년 200억 달러, 2020년 1,500억 달러 규모로 예측한 바 있다. 또 현재는 VR 산업이 디바이스 위주 성장이지만 향후 컨텐츠 개발로 성장이 가속화 될 것으로 전망했다. 이제 가상현실(VR, Virtual Reality), 증강현실(AR, Augmented -), 융합현실(MR, Mixed -), 확장현실(XR, eXetended -), 공존현실(CR, Coexistent -)에 이어 메타버스가 핫 키워드로 등장함에 따라 유니티로 VR/AR 게임 개발에 더욱 관심이 집중될 전망이다.
메타버스는 ‘초월적(Meta)’ ‘우주(Universe)’를 뜻하는 단어로 3차원 가상 세계가 현실과 이어지는 개념으로 과거에 유행하던 ‘세컨드 라이프’ 같은 게임, 영화 ‘매트릭스’ 등을 연상하면 되지만 요즘에는 제대로 VR을 체험할 수 있는 오큘러스 VR 글래스 등으로 더욱 인기를 끌고 있다. VR 기술은 게임, 교육, 방송영상, 마케팅, 테마파크, 의료, 커뮤니티, 군사 및 기타 분야에 다양하게 적용된다. 특히 최근 유니티는 건설 현장에 증강현실(AR) 설계도를 덧입히는 기술을 보유한 비주얼 라이브를 인수했고 이로 인해 게임 개발에 사용되는 도구로 건축 설계를 돕는 플랫폼인 유니티 리플렉트도 현장에서 활용되는 AR 설계도 기능을 갖추게 됐다. 이런 가운데 [인생 유니티 교과서]를 낸 집필진들이 두 번째로 집필한 [인생 유니티 VR/AR 교과서]는 오큘러스 VR 글래스를 제대로 적용해 유니티 게임 개발을 위한 각종 개발 환경을 구성하고 방법을 제대로 안내한다. 전망이 밝은 메타버스 시장에 뛰어들 수많은 유니티 개발자들이 배울 내용이 많아 관심이 집중될 것으로 보인다.
Chapter 1에서 VR 콘텐츠 제작을, Chapter 2에서 AR 콘텐츠 제작을 균형 있게 다룬다. Chapter 1에서는 VR에 대해 알아보고 개발 환경을 설정한 뒤 매직복셀 프로젝트를 통해 복셀(Voxel, 3차원 큐브 데이터)과 VR 360 영상 제작 플레이어, VR 타워 디펜스도 만들어보고 VR 네트워크도 제작해 본다. Chapter 2에서는 지형 인식을 이용한 자동차 카탈로그와 얼굴 인식을 이용한 앱, 마커 인식을 이용한 게임 제작 등을 알아본다. 책에 사용된 소스와 예제들은 저자 깃허브(github/araxrlab/xlifeunity)와 ㈜성안당 자료실(www.cyber.co.kr)에서, 각종 독자 문의와 질의응답은 저자 카페 유니티 언리얼(cafe.naver.com/unrealunity)을 통해 제공한다.
저자소개
저자 : 이영호
저자 : 이영호
ARA XR Lab 대표
ㆍ 전 유니티 코리아 에반젤리스트
ㆍ 가천대 게임대학원 게임공학 석사
ㆍ 17년 이상 넥슨 및 게임 개발사에서 실무 개발
ㆍ 세종대, 명지전문대 등 겸임교수
ㆍ 2020년 과학기술정통부장관 표창(디지털콘텐츠)
저자 : 박원석
WS Develop 대표
ㆍ 와이디 온라인 등 게임 개발사에서 7년 실무
ㆍ 전남대학교 법학과 학사
저자 : 박현상
ARA XR Lab 대표
ㆍ 한국전파진흥협회, 정보통신진흥원, 부산정보진흥원 등 다수 기관 및 대학에서 VR/AR/MR 분야 강의
ㆍ 스마일게이트, 위메이드 등 게임 개발사에서 10년 실무 개발
ㆍ DNA LAB, 마로마브 등 다수 기업 자문
저자 : 탁광욱
BnT 대표
ㆍ 게임하이, 넥슨GT, 네오싸이언 등 게임 개발사에서 10년 실무 개발
ㆍ ㈜하우온라인게임스쿨 원화 강사
ㆍ 건국대학교 산업디자인 학사
저자 : 이영훈
위드제이소프트 대표
ㆍ 한국전파진흥협회, 정보통신진흥원 등 기관 및 대학에서 유니티 및 XR 분야 강의
ㆍ 와이디온라인, 넥슨 등의 게임 개발사 15년 이상 실무 개발
목차
Preface 7인 7색 저자 서문
Profile 저자 소개
Chapter 1 VR
1 VR콘텐츠 제작
1.0 VR 개요
1.0.1 VR의 현재와 미래
VR 산업의 발전 과정
VR 기기의 발전 흐름과 방향
1.0.2 VR 기기의 종류와 개발환경 설치 및 설정
오큘러스 개발 환경 구성하기
바이브 개발 환경 구성하기
1.0.3 VR 플랫폼별 대응을 위한 원소스멀티유즈
PC 환경에서 작업할 수 있도록 구성하기
오큘러스에서 작업할 수 있도록 구성하기
바이브에서 작업할 수 있도록 구성하기
1.1 MagicVoxel 제작
1.1.1 프로젝트 생성
1.1.2 VR 매직복셀 프로젝트 생성하기
1.1.3 카메라 컨트롤 제작
CamRotate 스크립트 생성해 추가하기
CamRotate 스크립트 구현하기
1.1.4 바닥 만들기
1.1.5 복셀 만들기
복셀이란?
복셀 게임 오브젝트 생성하기
복셀 스크립트 작성하기
1.1.6 복셀 제작자 만들기
복셀 제작자 만들기
마우스 포인트가 닿는 곳에 복셀을 만들고 싶다
1.1.7 오브젝트 풀 사용하기
오브젝트 풀에 비활성화한 복셀 담기
복셀 오브젝트 풀 이용하기 복셀 오브젝트 풀 이용하기
복셀 오브젝트 풀에 반환하기
복셀 자동 생성하기
1.1.8 VR 입력 대응하기
컨트롤러
VR 컨트롤러의 발사 버튼을 누르면
컨트롤러가 향하는 방향으로 레이 만들기
조준점 표시하기
VR 기기별 테스트
1.2 VR 360 영상 플레이어 제작
1.2.1 360 영상의 이해
1.2.2 프로젝트 개요 및 생성
1.2.3 유니티 비디오 플레이어
비디오 플레이어 제어
1.2.4 360 영상 활용하기
스피어에 360 영상 구현하기
360 영상을 교체하며 재생하기
1.2.5 Gaze Pointer 구현하기
Gaze Pointer 구현하기
Gaze Pointer를 활용한 영상 제어 구현하기
Gaze Pointer로 360 영상 제어하기
바라보는 방향에 따라 영상 제어하기
1.2.6 VR 환경 설정하기
VR 기기별 테스트
1.3 VR 타워 디펜스 제작
1.3.0 개요
1.3.1 프로젝트 생성
VR Tower Defense 프로젝트 생성하기
필요 에셋 가져오기
1.3.2 씬 환경 구성하기
지형 작업하기
구조물 배치하기
1.3.3 Player 제작
카메라 설정
총 쏘기 기능 제작하기
자유 이동 기능 제작하기
텔레포트 기능 제작하기
워프 기능 제작하기
잡기 구현하기
원거리 물체 잡기
컨트롤러 진동 처리
1.3.4 드론 제작
상태 머신 틀 제작
대기 상태 구현하기
이동 상태 구현하기
공격 상태 구현하기
피격 상태 구현하기
죽음 상태 구현하기
1.3.5 DroneManager 제작
드론을 스폰할 위치 만들기
드론을 생성할 관리 객체 및 스크립트 제작하기
폭탄을 이용해 다수의 드론 제거하기
1.4 VR 네트워크 제작
1.4.1 프로젝트 및 Photon 설정
1.4.2 PUN2 설치
1.4.3 PUN2의 구조
1.4.4 씬 생성 및 서버 구조
씬 생성
포톤 게임 서버 접속
1.4.5 위치와 회전 동기화
게임 플레이를 위한 환경 구성
캐릭터 메카님 애니메이션 구성하기
이동 및 회전 기능 구현하기
위치 및 회전 데이터 동기화
1.4.6 RPC를 이용해 이벤트 발생시키기
공격 애니메이션 동기화하기
피격과 체력 동기화
1.4.7 음성 채팅 기능 구현
Photon Voice 2 SDK 설치 및 앱 등록
Voice Manager 생성하기
Chapter 2 AR
2 AR 콘텐츠 제작
2.0 AR 개요
2.1 지형 인식을 이용한 자동차 카탈로그 제작하기
2.1.1 바닥 지형 인식하기
AR 전용 카메라 배치하기
감지된 바닥을 시각적으로 표시하기
APK 파일로 빌드하기
2.12 인식된 바닥에 자동차 모델링 생성하기
AR Raycast를 이용해 바닥면에 표식 출력하기
Indicator 위에 자동차 모델링 생성하기
2.1.3 자동차 모델링 조작하기
자동차 모델링의 색상 변경
터치 스와이프로 모델링 회전하기
스마트폰에서 앱 실행 중에 꺼짐 방지
2.2 얼굴 인식을 이용한 앱 제작
2.2.1 얼굴 인식 및 이미지 배치하기
AR Face Detection 준비하기
이미지 프리팹 준비하기
UI 버튼을 이용해 이미지 출력하기
2.2.2 얼굴의 움직임을 반영한 메시 만들기
AR Face Mesh를 위한 게임 오브젝트 만들기
얼굴 모델링에 입힐 매터리얼 제작
버튼 UI를 이용해 매터리얼 변경하기
2.2.3 얼굴의 특정 위치 좌표를 가져오기
AR Core API를 이용해 특정 위치 알아내기
AR Face Manager를 이용해 특정 위치 알아내기
2.3 마커 인식을 이용한 게임 제작
2.3.1 단일 마커 인식 방식
Reference Image Library 준비하기
동물 모델링과 포획용 공