※ 유니티 엔진을 다룰 수 있는 사람을 기준으로 정리했습니다.
나는 Gear VR with Controller를 사용했다.
제품 소개 - http://www.samsung.com/global/galaxy/gear-vr/
Gear VR이 뭔지는 한번쯤 알면 괜찮을 것 같다. 추상적으로 생각만 하면 말하기 힘드니까.
Gear VR 은 삼성전자가 오큘러스 VR과 협력하여 개발한 HMD 기기라고 한다.
(HMD 는 머리에 착용하는 디스플레이 장치를 말함.)
그래서 개발 관련 패키지를 오큘러스에서 다운받아 사용하는 것 같다.
VR 컨텐츠 제작을 하기 위해 내가 원했던 것들을 말해보면,
1. 스마트폰 자이로스코프 센서를 이용하여, 내가 VR을 끼고 여러 방향을 보면 이에 따라 카메라도 움직이는 것.
2. Controller를 이용하여 센서 값을 받아오는 것.
공부하면서 찾아본 정보들을 알기 쉽게 정리해놓으려고 한다.
우선 Gear VR과 관련된 Package를 Import해야한다.
방법
1) https://developer.oculus.com/downloads/package/oculus-utilities-for-unity-5/ 에 접속한다.
2) 로그인을 해야 다운받을 수 있다. 나는 페이스북 계정으로 간편하게 로그인했다.
3) checkbox 에 체크한 후 파일을 다운로드 받는다.
4) zip 파일이 다운되었으면, 알기 쉬운 곳에 zip 파일을 풀어준다.
5) OculusUtilities.unitypackage 를 import 해준다.
package 를 import 하는 방법에는
- 파일을 바로 Unity로 끌어넣는 방법.
- 왼쪽 상단의 Assets -> Import Package -> Custom Package... 로 파일을 선택하는 방법. (밑의 사진 참고)
6) import package를 했으면, OVR 폴더와 Plugins 폴더가 추가된다.
7) Prefab을 설명하자면,
카메라는 OVR -> Prefabs -> OVRCameraRig 이고,
컨트롤러는 OVR -> Prefabs -> TrackedRemote 이다.
8) 카메라 역할을 하는 OVRCameraRig를 추가해본다.
CenterEyeAnchor이 maincamera 역할을 한다.
Gear VR 컨트롤러는 스마트폰과 블루투스로 연결하고 사용할 때, 왼손잡이와 오른손잡이를 고를 수 있기에, 양손을 구분한다.
LeftHandAnchor - 왼손
RightHandAnchor - 오른손
9) 컨트롤러 역할을 하는 것도 추가한다.
LeftHandAnchor에는 컨트롤러 역할을 하는 OVR -> Prefabs -> TrackedRemote를 추가해주고 L Touch로 바꾼다.
RightHandAnchor에도 OVR -> Prefabs -> TrackedRemote를 추가해주고 R Touch로 바꾼다.
이제 프리팹은 끝났다!!
10) 가장 중요한 서명파일을 추가해야한다.
우선 device id를 알아야한다.
빌드를 할 스마트폰에 Gear VR Device ID 를 설치한다.
앱을 열게 되면 맨 위에 DEVICE ID 가 표시가 된다.
※ COPY TO DEVICE CLIPBOARD로 복사를 할 수 있다.
보통은 휴대폰으로 Device id를 보고 컴퓨터로 작업하기에, 복사보다는 그냥 치는게 더 빠르다.
https://dashboard.oculus.com/tools/osig-generator/
여기에 들어가서 DEVICE ID를 입력하고, 파일 다운로드를 누르면 파일(.osig)이 다운로드 된다.
이 서명파일을 \Assets\Plugins\Android\assets 에 넣어준다.
나는 Plugins 폴더 하위에 Android 폴더가 없었다.
없다면, Android 폴더를 만들고, 그 안에 assets 폴더를 만들어서 .osig 파일을 넣어주면 된다.
11) 안드로이드로 빌드를 해보자.
빨간색 - Android 클릭 후 Switch Platform 클릭 (Android 플랫폼으로 빌드 할 것이라고 알려주는 것)
초록색 - 위와 같이 설정을 해준다.
'Unity' 카테고리의 다른 글
[Unity] 유니티 최적화 / 반복문의 속도 차이 (0) | 2018.05.01 |
---|---|
[Unity] Tip / 스크립트가 적용된 오브젝트 쉽게 찾기 (2) | 2018.04.30 |
[Unity] Transform (위치, 회전, 크기) (0) | 2018.04.09 |
[Unity] 유니티 최적화 / 자주 접근하는 컴포넌트는 캐칭하기 (0) | 2018.04.02 |
[Unity] 자주쓰는 Vector3 값, 간단히 나타내기 (0) | 2018.04.02 |