개요
취약점을 찾던 개발을 하던 결국 VR기기에서 본인이 작성한 코드를 사용이 가능하도록 환경을 구성해야 한다. 이를 위해 진행한 과정들을 정리한다.
기기(Oculus), PC 연결
모든 테스트는 Oculus Quest 2를 통해 진행하고 개발은 Unity를 통해 진행하기로 결정했다. 따라서 가장 먼저 해야 할 것은 PC와 Oculus간의 연결이다. USB 3.0 연결을 제공하고 C to C도 가능하다고 되어있는데 본인은 C to C는 연결이 되지 않았다. Oculus 기기는 C타입만 제공한다.
소프트웨어 설치
먼저 Meta에서 제공하는 소프트웨어를 설치한다.
Quest 설정하기: Quest, Quest 2, Link, Rift S 및 Rift | Meta Quest
PC에 VR 소프트웨어를 다운로드하여 Meta Quest Rift S 및 Meta Quest Rift를 설정하세요. 휴대폰에 Meta Quest 모바일 앱을 다운로드하여 Meta Quest 및 Meta Quest Go를 설정하세요.
www.meta.com
본인에 맞는 기기를 선택한다
이후 연결 방식을 선택하는데 유선, 무선 2가지 방식이 존재한다.
무선은 연결 자체가 불안정하고 연결된 이후에도 테스트가 비교적 수월하지 않기 때문에 본인은 유선을 사용한다. 물론 무선도 가능은 하다.
해당 화면이 뜨면 유선으로 연결하면 된다.
이렇게 뜨면 정상적으로 연결이 된 것이다.
개발자 모드 및 OpenXR 설정
사용자가 직접 만든 프로그램을 실행하기 위해서는 PC와 연결하는 것 이외에도 추가적인 설정이 필요한데 첫번째는 개발자 모드로 설정하여 알 수 없는 출처의 앱을 실행 가능하게 해주는 것이다.
개발자모드는 보안을 위해 막아둔 기능을 개발을 위해 풀어놓은 모드로 rooting과 비슷한 개념으로 보면 편하다. 물론 rooting은 root 권한을 직접 가지는 건데 개발자모드는 그정도로 권한이 높은 것은 아니다. 정말 개발에 필요한 만큼만 풀어준다. 논외로 Oculus의 jail break(rooting)에 대한 bounty는 아직도 가져간 사람이 없다고 한다. 안드로이드 기반이기에 2020년도에는 한창 시도를 한 것으로 보이는데 현재는 oculus pro나 3이 나와서 2는 지금은 시도조차 별로 안하는 것 같다;;
먼저 여기서 "개발자 런타임 기능"을 활성화 한다. 그러면 아래에 활성화 시키지 못했던 기능들도 활성화가 가능한데 지금 당장은 크게 필요는 없다.
이후 알 수 없는 출처에 대한 허용을 한다.
마지막으로 Link를 OpenXR로 설정해준다. OpenXR은 VR 런타임에서 가장 포괄적인 표준 런타임으로 Steam에서 사용하는 OpenVR이나 Unity에서 제공하는 OpenXR에 호환되게 설정해준다. 기본은 Oculus Runtime으로 설정 되어있다.
이렇게 하면 Unity에서 개발한 프로그램을 실행하면 바로 Oculus에서 테스트가 가능하다.
VRchat SDK
이후 실제 환경에서 테스트를 위해 VRchat이라는 메타버스 게임에 개발한 World를 올릴 계획인데 그러기 위해 VRchat SDK를 import해야한다.
Unity 설치
기본적으로 Unity를 사용하기 때문에 Unity를 설치하는데 중요한 것은 VRchat SDK를 지원하는 버전을 확인하고 설치를 해야한다. 2022.3.6f1 버전을 본인은 사용중이다.
https://unity.com/releases/editor/archive
Download Archive
Download Archive
unity.com
위 링크에서 해당 버전을 별도로 설치하면 된다.
Creat Companion 설치
VRchat SDK가 포함된 Unity 개발 도구로 Unity와 UI가 거의 동일하며 해당 도구를 이용하면 Default로 SDK가 포함되어있다.
https://vrchat.com/download/vcc
설치하고 따라가면 알아서 Unity를 탐색한다.
잡히면 Unity와 동일하게 Project를 생성하고 개발을 진행할 수 있다.
주의해야 할 점은 VRchat은 World를 올리기 위한 조건이 존재한다. Play time이나 친구 수 등 여러 조건을 필요로 하고 이는 VRchat 자체 계정이나 Steam계정을 통해 인증하기 때문에 로그인이 필요하다. 조건을 정확히는 모른다. VRchat 측에서는 이를 악용할 것을 우려하여 정확한 정보를 공개하지 않았기 때문이다. 어렴풋이 설명한 바로는 플레이 타임과 친구 수 등을 종합적으로 점수를 매겨 등급을 준다고 한다.
이후 해당 탭에서 VRchat 계정으로 로그인 하면 build와 Test 및 Upload가 가능해진다.
물론 위에서 말한 계정 인증을 완료해야 가능하다.
'연구실 과제 > Metaverse' 카테고리의 다른 글
Metaverse에서의 DBD Attack (0) | 2024.02.28 |
---|