방프리

21.02.07 Oculus Quest VR 프로젝트를 진행하면서... 본문

GameEngine/UnityEngine

21.02.07 Oculus Quest VR 프로젝트를 진행하면서...

방프리 2021. 2. 7. 14:13

올해 들어서 이 Oculus Quest로 프로젝트를 포팅하는데 꽤나 고생을 많이 했다.

덕분에 새해들어서부터 야근에.... 주말출근에.... 정신없는 나날들을 보냈다. 

이 과정에서 굉장히 많을 걸 배웠는데 까먹기 전에 기억도 되짚어볼겸 정리해보려고 한다.

 

1. 텍스쳐 압축은 필수적으로!!

- 가장 문제가 되는 부분이였다. 텍스쳐 압축은 그냥 블로그나 타 사이트에서 정리된 것만 보고 오... 이런거구나라고만 느꼈지 PC에서는 그다지 필요성을 못느꼈는데, Oculus Quest가 안드로이드 환경이다보니 확 체감되었었다. 압축하지 않고 프로파일링 검사 시 큰 것은 한 장당 800MB까지 먹는 걸 보고는 무조건 해야겠다라는 생각을 하였다.

 

2. 빌드 시에는 이제는 x64비트로만

- 구글 플레이스토어, Oculus Store 등 많은 스토어들이 x32의 지원을 더 이상 하지 않는다. 또한 x64에서는 Mono 빌드 대신 IL2CPP로만 진행되니 이 부분도 참고해야할 듯 (참고로 IL2CPP로 진행 시 생각지도 못한 버그가 발생한다.)

 

3. DLL을 사용한다면 플랫폼 체크는 필수

- DLL이 사용되는 에셋을 사용한다면 플랫폼 체크는 수시로 해두자

 

4.  TextMeshPro를 사용한다면 Atlas 패킹 등의 설정, 텍스트 사이즈는 자신이 프로젝트에서 사용하는 텍스트 사이즈의 평균을 넣어주자.

- 이것 때문에 글자가 흔들리는 현상이 발생해 꽤나 골치 아팠다. 필수로 체크해주자

 

5. 에셋 내용을 변경해야할 시에는 브릿지 형태로 만들어 사용하자

- VR은 각각의 플랫폼에서 지원하는 에셋을 설치 후 연동해 사용해야하는데 몇몇 기능을 구현하려면 내부코드를 수정해야할 때가 있다. 이 때 내부코드를 수정하는 것이 아닌 브릿지 형태로 맞추어주는게 좋다. 초기 모델이라면 해당 에셋도 계속 업데이트를 진행하는데 프로젝트 진행 중에 부득이하게 업데이트를 진행해야한다면 연동작업이 꽤나 어려워진다.

 

최근 Oculus Quest2가 출시되고, 판매량이 꽤나 많아졌다는 소식을 듣고 하루빨리 많은 개발자들이 Oculus 개발을 시도해 많은 정보들이 공유되었으면 좋겠다. (기기 연동이나, Side Quest 연동 등의 내용만 있지....)

Comments