Table of Contents

Laboratorul ​08. Meta Quest | Overview & Setup ​

⚠️ Update-uri / Fixes ⚠️

Repo-ul a fost updatat pentru a rezolva probleme ce țineau de testarea Quest Link-ului în editor și (unele) erori de Gradle.

Erori build Gradle

S-ar putea ca setarea Project Settings → Player → Other Settings → Target API Level, care în mod implicit este pe Automatic (highest installed), să nu fie suficientă, așadar recomandăm să testați API Level-uri 31+.

Până în prezent, în proiectul suport au fost integrate diverse SDK-uri, precum Cardboard XR, SteamVR și Meta XR. Fiecare dintre acestea rulează pe un anumit target (Windows, Android, etc.), și necesită configurarea corectă a unui XR Plug-in provider.

Un XR plug-in provider este o componentă software ce permite interfațarea dintre Unity și hardware-ul VR – așadar, fiecare headset comunică printr-un provider diferit. Acest provider se poate configura în Project Settings → XR Plug-in Management → Plug-in Providers.

Așadar, în funcție de headset-ul target, trebuie să setați provider-ul corect – acest proces a fost automatizat în proiect prin implementarea script-ului XRPluginProviderController, care setează provider-ul corect în funcție de un VR target atât în testarea în editor cât și la realizarea unui build.

"Ce trebuie eu să fac?"

În fiecare scenă VR pe care doriți s-o testați:

Introducere

Dispozitivele dezvoltate de către Meta (în trecut, cunoscute ca și Oculus) sunt soluții `all-in-one` ce permit dezvoltarea aplicațiilor de realitate virtuală și oferă suport pentru cele mai recente funcționalități din acest domeniu, precum hand tracking, realitate mixtă (MR), audio spațializat, eye și body tracking.

Dispozitive

În mod curent, în seria Quest, regăsim 3 astfel de dispozitive ce oferă suport activ pentru dezvoltarea aplicațiilor VR, anume:

O comparație mai detaliată o puteți studia aici.

Integrări

Pentru dezvoltarea aplicațiilor de VR, există suport pentru OpenXR (aplicații native), sau SDK-uri ce oferă integrare cu game engine-urile standard, precum Unity și Unreal Engine.

Vom lucra folosind integrarea din Unity. Cel mai probabil puteți lucra pe oricare platformă, în următoarele link-uri aveți informații despre integrările folosind OpenXR sau Unreal Engine.

Tehnologii disponibile

Integrarea SDK-ului vine cu suport pentru diverse feature-uri pe care le putem utiliza, în funcție de necesitățile aplicației pe care dorim s-o dezvoltăm:

Setup mediu de dezvoltare

În imaginea de mai jos puteți studia un flow generalizat al dezvoltării aplicațiilor de VR folosind dispozitivele celor de la Meta.

Cerințe pentru setup

Meta Quest Developer Hub (MQDH)

Aplicația vă oferă setări adiționale pentru un dispozitiv Quest conectat la calculator. Folosind MQDH puteți să:

Această secțiune este dedicată învățării workflow-ului de testare al unei aplicații direct în Unity Editor, fără a fi necesară realizarea unui build

Setup SDK | Meta XR All-in-One SDK (UPM)

Pașii prezentați în acest subcapitol nu sunt necesari dacă folosiți proiectul suport din repo.

Până în Octombrie 2023, pachetul oficial, care se putea descărca de pe Unity Asset Store era Oculus Integration SDK. Atenție, acesta a fost deprecated începând cu versiunea 57. Nu o să-l folosim pe acesta, dar pentru suport legacy acesta se poate încă descărca de pe Asset Store de aici.

Începând cu versiunea 59, pachetul de integrare se folosește de UPM (Unity Package Manager), oferind astfel o modalitate mai ușoară de integrare, realizarea rapidă a upgrade-urilor, iar probabil cel mai important, un management ușor în alegerea pachetelor esențiale de folosit (Core, Integration, Audio, etc.).

Pașii detaliați ai setup-ului complet într-un proiect nou îi puteți studia aici.

Import scene demo | Meta XR Interaction SDK OVR Samples

Pașii prezentați în acest subcapitol nu sunt necesari dacă folosiți proiectul suport din repo.

Quest Link (înainte cunoscut ca Oculus Link) este un feature disponibil pe device-uri ce permite folosirea acestora ca dispozitive de tip PC-VR – mai exact, vă puteți bucura de content VR care rulează pe PC și este streamed pe headset.

🎮 Dacă doriți să vă jucați pe căști, recomandăm să utilizați aplicația Virtual Desktop (trebuie plătit), oferă o experiență și configurabilitate superioară Quest Link-ului!

Puteți realiza conexiunea de tip Link între cască și PC prin două moduri: Prin cablu sau wireless (Air Link). Pentru Air Link trebuie să aveți headset-ul conectat la aceeași rețea locală ca și PC-ul la care vreți să conectați casca.

Asigurați-vă ca aveți instalat pe calculator Quest (desktop app). Va trebui să realizați pairing-ul folosind acest program. For safety, porniți-l (și configurați-l) înainte să urmați pașii prezentați mai jos.

Setup-ul aferent Air Link-ului este prezentat în GIF-urile următoare. Întâi, asigurați-vă că toggle-ul de Quest Link este activ în setările headset-ului.

În continuare, puteți accesa Quest Link din meniul principal al căștii – de aici puteți să activați și funcția de Air Link.

Pe Quest (desktop app) confirmați codul de conectare.

Dacă totul s-a realizat cu succes ar trebui să fie interactibil butonul de Pair din meniul de Quest Link de pe headset.

În caz că întâmpinați probleme, studiați pașii prezetați în detaliu din următoarele link-uri: Quest Link (caz general) și Air Link.

În cazul în care ați lucrat într-un proiect nou / diferit de cel suport, trebuie să aveți pachetul Meta XR All-in-One SDK (UPM) precum și Meta XR Interaction SDK OVR Samples + scenele demo importate în proiect pentru a realiza următorii pași.

  1. În proiectul suport, deschideți scena de la următoarea cale: Assets → Samples → Meta XR Interaction SDK OVR Samples → 59.0.0 → Example Scenes → HandGrabExamples
  2. Porniți Oculus Link pe headset
  3. Rulați proiectul (Play din editor)

În următorul GIF este prezentat feature-ul de tip desktop virtual – puteți astfel controla PC-ul pe care l-ați conecat cu casca. În GIF proiectul este rulat din Unity prin acest desktop virtual.

Realizare build-uri

Sistemul de operare al acestor device-uri se bazează pe Android, așadar, procesul de build al unei aplicații este similar cu cel prezentat în laboratoarele precedente.

Puteți realiza build-uri în cel mai simplu mod prin opțiunea de Build And Run din meniul de Build Settings din Unity Editor. La finalul build-ului, aplicația este instalată pe headset și pornită în mod automat. Aplicația se poate apoi regăsi în următorul submeniu (vezi GIF).

Pentru alte variante de build, în urma construirii APK-ului din Unity (așadar Build simplu, nu Build And Run), se pot folosi Meta Quest Developer Hub sau SideQuest pentru instalarea acestor aplicații pe headset (proces cunsocut ca și sideloading).

Guide pentru folosirea MQDH.

Tasks

  1. Realizați pașii necesari setup-ului: Download repo (sau configurare proiect propriu cu SDK-ul necesar + samples), instalare software adițional, pairing prin Quest Link, testare scenă demo
  2. În urma testării cu succes a scenei demo folosind Quest Link, realizați un build pe headset cu aceasta. În mod ideal, testați multiple variante de deployment (Build And Run, sideloading folosind MQDH sau SideQuest)
  3. Creați-vă o scenă nouă (organizați-vă fișierele cum doriți în proiect, vă recomandăm să aveți un folder separat pentru ce lucrați custom) și urmăriți pașii din acest tutorial de tip Hello World – săriți peste pașii care sunt deja configurați, extrageți informația din etapele relavante din tutorial. În final, testați aplicația atât pe Quest Link cât și într-un build

✨ Bonus