최근 모델은 VR 형태로 전시되어야하는데 장비는 하나가 아니고 htc의 vive와 oculus의 탐구가있다. 프로젝트가 별도로 수행되는 경우 htc 개발에는 steamVR을 사용하고 퀘스트에는 oculus 통합을 사용할 수 있습니다. 그러나 두 프로젝트 세트의 작업량은 약간 무겁고 이후의 업데이트 및 유지 관리가 매우 불편합니다. 물론 같은 프로젝트에이 두 가지 플러그인을 추가하려고했지만 충돌이있을 수 있다는 사실을 알게되었고 SteamVR이 직접 시작되지 않았기 때문에이 아이디어를 포기해야했습니다.
다른 사람들로부터 Unity에는 이미 모든 XR 제품 (XR Interaction 툴킷)과 호환되는 플러그인이 있다고 들었습니다. 관련 정보를 확인한 결과 시도해 볼 수 있다는 사실을 확인 했지만이 플러그인은 이제 내부 베타 버전은 중국에서 참고할 수있는 사람이 많지 않습니다. 정보도 제한되어 있으며이 플러그인을 사용하는 외국 개발자의 경험을 이해하기 위해 웹 페이지 번역에만 의존 할 수 있습니다. 주로 XR Interaction 툴킷을 사용하는 과정을 기록한 것이므로 나중에 사용해야한다면 돌아와서 살펴볼 수 있습니다. 도움이 필요한 사람들을 도울 수 있다면 좋을 것입니다.
공식은 github에서 데모 세트를 오픈 소스로 제공했습니다 ( 클릭하여 점프 ). 데모가 Unity에서로드되고 정상적으로 실행되는 한 VR 작업을 정상적으로 호출 할 수 있습니다. 물론 일련의 준비 작업을 수행해야합니다. 이 전에 하나씩 설명하겠습니다.
내 개발 환경에 대해 먼저 이야기
운영 체제 : Windows 10
개발 플랫폼 : Unity 2019.3.4f1
플러그인 사용 : XR Interaction ToolKit 미리보기 0.9.4
출시 플랫폼 : HTC Vive, Oculus Quest
Windows 쪽에서는 Steam과 steamVR이 기본적으로 설치되어 있어야합니다. 계정 등록 및 구성은 여기에 자세히 설명되어 있지 않습니다. 기본적으로 인터넷에 튜토리얼이 있습니다.
한 가지 주목할 점은 XR Interaction 툴킷을 사용할 때 Windows 환경은 기본적으로 SteamVR을 사용한다는 것입니다. Unity의 steamVR 플러그인을 사용하는 것과 마찬가지로 Unity 프로젝트를 실행할 때 steamVR.exe도 활성화되므로이 데모 세트를 Unity로 성공적으로 임포트하면 steamVR을 실행할 때 시작하지 못하면 steamVR 환경을 확인하십시오. 잘 어울리 든 여기서 반복하지 않겠습니다.
퀘스트에서 주목해야 할 몇 가지 작은 포인트도 있습니다. 먼저, 개발자 모드를 켜기 위해 오큘 러스 링크 앱에 퀘스트를 연결해야합니다.이 작업은 래더가 필요할 수 있습니다. 기본적으로 온라인 튜토리얼을 참조하여 확인할 수 있습니다. 퀘스트는 실제로 Android 기기이므로 Unity도 구성해야합니다. 안드로이드 환경; 동시에 데이터 전송을 위해 데이터 케이블이 필요합니다. 노트북 컴퓨터 개발 인 경우 동일한 경로를 사용하여 데이터를 전송할 수 있습니다. Android 개발 및 테스트는 항상 번거로운 작업이었습니다. 로그 출력을 직접 확인하고 테스트 할 때마다 착용해야합니다 헤드 마운트 디스플레이는 상당히 어색해서이 문제를 해결할 수있는 해결책을 찾았습니다.
우선 안드로이드 테스트 방식으로 로그 출력을 확인했는데 adb + ddms인데 퀘스트가 성공적으로 연결되면 ddms는 안드로이드 폰처럼 로그를 출력 할 수 있습니다. 화면 출력은 Scrcpy 플러그인을 사용하는데 adb가 설치되어있는 한 quest에 연결하면 화면을 바로 볼 수 있습니다. 화면을 표시하기 위해 퀘스트 단말기를 착용해야하는 문제는 더 잘 해결됩니다. 헤드 기어의 코에 적외선 센서가있어 종이가 게시되는 한 페이지를 계속해서 표시 할 수 있습니다! 단, 화면이 꺼지지 않으면 손잡이의 배터리가 계속 소모된다는 점에 유의해야합니다. 스티커를 잊었 기 때문에 새 배터리를 장착 한 후 손잡이가 방전되었습니다. . .
모든 것이 올바르게 설정되면 scrcpy 및 ddms의 디스플레이는 다음 두 그림과 같습니다.
이런 식으로 개발 전 준비 작업이 완료되면 Unity를 개발할 수 있습니다.