2016
06.06

오큘러스 유틸리티 for 유니티 링크 : https://developer.oculus.com/downloads/game-engines/1.3.2/Oculus_Utilities_for_Unity_5/


오큘러스 유틸리티 사용법 링크 : 

https://developer.oculus.com/documentation/game-engines/latest/concepts/book-unity/


오큘러스에서는 유니티에대한 Utility를 제공해준다.


플레이어 셋팅에서 VR을 체크해주고, 해당 유틸리티를 임포트 후, 

자신의 오큘러싱을 위치시키는 것만으로 기어VR 빌드를 완성할 수 있다.








1. 일단 임포트만 해보았다.


- 수직동기화 제한이 해제되었다. Editor쪽의 Vsync 함수를 건드리는듯.

- Input쪽에 VR 에대한 인풋키들이 할당되었다.

- 샤오미 게임패드에서 조이패드버튼의 사용이 가능해졌다. 

  (확인해보니 Oculus_GearVR_LThumbstickX 가 조이스틱 Axis의 X축으로 되어있다.

   GamePad 에 관한 것이 임포트되서 Horizontal과 Vertical을 샤오미 게임패드에서 인식이 가능해진듯 하다.)

- Moonlight라는 폴더는 기어 VR를 위해 디자인된 클래스들이 포함되어있는 폴더이다.


2. 같이 들어있는 스크립트들을 빈 오브젝트에다가 컴포넌트로 넣어보았다.


1. Ovr Volume Control.cs

 - 외부 버튼을 누르면 해당 오브젝트의 위치에 볼륨 컨트롤을 표시해준다.

 - 카메라 하위에 붙여야할듯.

 - OVR-Moonlight-Resources 에 있는걸로 넣어야할듯?

2. OVERPlatformMenu.cs

 - OVR\Moonlight\Scripts\OVRPlatformMenu.cs 경로에 있다.

 - 이게 씬 내에 존재하면, 기어 VR의 백버튼을 0.75초 이상 누르면 유니버설 메뉴를 호출된다.


3. 프리펩을 사용해보자


1. OVRCameraRig / OVRPlayerController

 - 오직 카메라는 OVR Camera Rig만 존재해야 오류가없다.

 - OVRPlayerController는 카메라 리그를 포함하고 있으니까 두 개를 전부 씬에다가 임포트하지말자.

 - Unity5가 필요하며, Gear와 Rift 둘다 사용할 수있다고 한다.

 - 카메라와 플레이어 컨트롤이 따로 분리되어있는 이유는, VR환경에서는 캐릭터의 로테이션과 카메라의 로테이션이 따로 놀기때문에, 각각으로 분리된걸 스크립트로 싱크를 맞춰줘야함.


4. 그러나 OVR Manager 스크립트가 오류를 낸다.


https://forums.oculus.com/developer/discussion/19117/unity-crash-when-activating-ovrmanager

- 같은 문제가 이미 유니티 4.5때부터 있었던듯. 연구해본 결과 실패.

- 샘플 유니티 프로젝트나 유틸리티에 같이 딸려있는 씬도 오류


5. 그냥 기존코드에 볼륨과 글로벌 메뉴만 붙여서 사용하는 걸로.















COMMENT