This is an old revision of the document!
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:
Meta Quest 2 (pe care le veți folosi și voi) reprezintă încă o alegere bună pentru dezvoltarea (și consumul de content) VR
Meta Quest 3 vine cu o serie de îmbunătățiri față de Meta Quest 2 precum o rezoluție mai bună, o nouă generație de chipset (SD XR2 Gen1 vs Gen2) și suport sporit pentru realitate mixtă
Meta Quest 3S este o variantă mai puțin performantă decât Meta Quest 3, având o rezoluție mai mică și alt tip de lentile
Meta Quest Pro are un display panel mai bun, un upgrade de memorie RAM, dar avantajele principale sunt reprezentate de suport pentru face și eye tracking, precum și un design mai ergonomic. În plus, Meta Quest 3 și Meta Quest Pro vin cu controller-e ce au suport pentru feedback haptic mai avansat
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.
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:
Meta XR Core SDK: Funcționalități esențiale precum headset tracking, hand tracking, passthrough, ancore spațiale, etc.
Meta XR Interaction SDK: Funcționalități de interacțiune cu controller-ele sau mâinile, precum ray, poke, grab, etc. Pe acestea le vom studia în acest laborator!
Meta XR Audio SDK: Suport pentru sunet spațializat
Meta XR Haptics SDK: Suport pentru redare haptică avansată
Meta XR Voice SDK
Meta XR Platform SDK: Aspecte sociale / networking: Matchmaking, In-App Purchasing (IAP), Cloud Storage, etc.
Meta XR Simulator
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 (opțional,
download)
-
Aplicația vă oferă setări adiționale pentru un dispozitiv Quest conectat la calculator. Folosind MQDH puteți să:
Vizualizați log-uri ale dispozitivului pentru a face debugging
Screen cast, screen recording
Instalare/deploy aplicații pe cască
În cele ce urmează vom prezenta modalitatea de integrare a SDK-ului Meta XR în Unity. Veți avea și voi de integrat Meta XR în proiectul Unity suport.
XR Loader
În cazul în care nu vă apare acest meniu, sau dacă sunt actualizări ale acestuia, stergeți din proiect folder-ul Assets → Project Setup → CustomXRPluginProvider si reimportați ultima versiune a pachetului IRVA_ProjectSetup_XRPluginProviderController
, care se găsește în folder-ul UnityPackages din folder-ul root al proiectului, după care restartați Unity.
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.). Versiunea up-to-date la momentul redactării acestui text este 69.0.0.
Oculus XR Plugin
Acest plugin este backend-ul necesare pentru a dezvolta și face build-uri folosind Meta XR.
Din
Package Manager apăsați pe (+), selecați
Add package from git URL, introduceți
com.unity.xr.oculus
În Unity Editor ar trebui să aveți un buton nou cu iconița companiei Meta în colțul din dreata jos.
De aici puteți deschide Project Setup Tool, care vă permite să vă configurați proiectul de Unity pentru a fi compatibil cu cerințele SDK-ului.
Import scene demo
În continuare vom importa câteva scene demo din SDK-ul de interacțiuni pentru a vă prezenta și familiariza cu feature-urile incluse.
Pachetul instalat Meta XR All-in-One SDK nu mai conține scene sample, dar acestea se pot instala de pe pachelete individuale:
Play-test scene demo prin Quest Link
Intrați în modul Link pe headset
În proiectul suport, deschideți și testați scenele (prin Play în 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
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
Î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)
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