Table of Contents

Supporto headset e glasses di EasyAR

EasyAR SDK offre potenti funzionalità AR multipiattaforma e il suo concetto di progettazione si adatta bene anche ai nuovi dispositivi di spatial computing, cioè gli headset. Questo articolo spiega come EasyAR supporta i dispositivi headset e come gli sviluppatori possono usare queste capacità per creare immersive experiences.

Spiegazione dei termini

In questo documento, "headset" o "Headset" indica in particolare un tipo di dispositivo indossato sulla testa che supporta interazioni immersive o see-through. Questi dispositivi possono mostrare contenuti virtuali davanti agli occhi dell'utente, abilitando esperienze di augmented reality (AR) o mixed reality (MR). Tra questi rientrano:

  • Optical See-Through, OST Headset: consente all'utente di vedere direttamente il mondo reale attraverso lenti semitrasparenti.
  • Video See-Through, VST Headset: acquisisce il mondo reale tramite una camera e lo mostra come video stream. In generale, gli headset sono anche chiamati AR glasses, MR glasses o VR helmet. I nomi specifici possono variare a seconda del vendor e del tipo di dispositivo, ma in questo articolo usiamo "headset" come termine uniforme per questo tipo di dispositivi.

Principio di funzionamento degli headset

Per comprendere meglio il principio con cui EasyAR supporta gli headset, è utile prima capire il flusso di lavoro di base di questi dispositivi:

  1. Environmental sensing: attraverso più camere integrate, depth sensor come iToF e inertial measurement unit (IMU), il dispositivo percepisce in tempo reale la struttura geometrica, le condizioni di luce e le superfici degli oggetti nell'ambiente.
  2. Spatial computing: sulla base dei dati dei sensori, il sistema SLAM traccia in tempo reale la 6DoF pose della testa dell'utente (posizione + orientamento).
  3. Content rendering and display: il contenuto 3D, come modelli ed effetti, viene renderizzato in base alla pose del dispositivo e proiettato sul display. In modalità VR, viene mostrata solo un'immagine virtuale pura; in modalità AR/MR, l'immagine virtuale viene combinata con l'ambiente reale (immagine camera VST o sfondo see-through OST).
  4. Interaction system: riceve i comandi dell'utente e risponde tramite controller, gesture recognition, voce o eye tracking.

Principio di supporto di EasyAR per headset

EasyAR non sostituisce il native spatial tracking o il rendering pipeline dell'headset, ma lavora insieme a essi come "spatial computing enhancer". Come AR algorithm engine professionale, fornisce capacità di spatial perception e computing per vari scenari AR e collabora in modo efficiente con il sistema nativo del dispositivo.

Scope of Responsibility Role Division
6DOF head tracking, display rendering, basic interaction, ecc. SDK/runtime nativo dell'headset
Capacità di percezione avanzate come image/object recognition e tracking, oltre a large-scale spatial positioning EasyAR SDK

EasyAR SDK fornisce le funzioni AR principali per comprendere il mondo, come image/object recognition, sparse reconstruction, dense reconstruction e large-scale spatial positioning. Il suo compito è "comprendere" il mondo e dire all'applicazione headset dove collocare i contenuti virtuali.

EasyAR SDK si integra nel framework di sviluppo delle applicazioni headset, di solito Unity o Unreal, come plugin o library. Riceve il flusso di dati grezzi dal sistema del dispositivo, lo elabora e lo calcola, quindi restituisce una pose matrix rispetto al spatial coordinate system del dispositivo. Alla fine, il rendering pipeline dell'engine headset disegna gli oggetti virtuali nella posizione corretta.

Stato del supporto e metodi di implementazione

EasyAR offre un supporto completo per le principali platform di sviluppo headset, implementato soprattutto in due modi:

  • Tramite Unity/Unreal Engine: è il metodo principale e consigliato. I vendor headset di solito forniscono plugin Unity/Unreal dedicati oppure XR SDK. EasyAR può essere integrato senza problemi negli SDK dei vendor.
  • Tramite piattaforma Native: per scenari che richiedono prestazioni estreme o uno sviluppo native specifico, è possibile usare le native interfaces di EasyAR in C++, Java o Objective-C. In genere questo richiede che lo sviluppatore gestisca autonomamente il docking delle interface con i dati di basso livello del dispositivo.

EasyAR è stato già testato e verificato su diverse principali platform headset tramite Unity. I dispositivi attualmente confermati come supportati sono i seguenti:

Modello dispositivo headset Vendor SDK and version requirement System and firmware version requirement
Apple Vision Pro ARKit in visionOS visionOS 2 o successiva
PICO 4 Ultra1 PICO Unity Integration SDK 3.4.0 o successiva Versioni dichiarate supportate dall'SDK del produttore2
PICO Space Pro1 PICO Unity Integration SDK 3.4.0 o successiva Versioni dichiarate supportate dall'SDK del produttore2
Meta Quest 3/3S3 Meta MRUK (Mixed Reality Utility Kit) 201 o successiva Versioni dichiarate supportate dall'SDK del produttore2
Rokid Max Pro
(Rokid AR Studio or other officially supported Rokid usage methods)
Rokid Unity OpenXR Plugin 3.0.3 o successiva Versioni dichiarate supportate dall'SDK del produttore2
XREAL Air2 Ultra XREAL SDK 3.1 o successiva Versioni dichiarate supportate dall'SDK del produttore2
Xrany X1 Xrany Yuanni SDK Versioni dichiarate supportate dall'SDK del produttore2
Nota

Rokid Max Pro può essere supportato tramite Rokid Unity OpenXR Plugin per Rokid UXR 3, ma si consiglia di usare XR Interaction Toolkit, soprattutto per l'uso cross-device.

Importante

Sia Apple Vision Pro sia XREAL richiedono la relativa enterprise authorization per essere utilizzati. Se avete domande, contattate il reparto commerciale.

  • A causa delle limitazioni di interface authorization di Apple Vision Pro, sono supportati solo i dispositivi con Apple enterprise API license.
  • A causa delle limitazioni di interface authorization di XREAL, sono supportati solo i dispositivi con enterprise authorization.

Per i dispositivi headset di altri vendor non menzionati sopra, EasyAR fornisce un metodo di accesso esteso come custom camera. Potete fare riferimento a Create an EasyAR Headset Extension Package per l'integrazione e completarla autonomamente.

Questo in genere include i passaggi seguenti:

  1. Ottenere i diritti di sviluppo del dispositivo: richiedere un developer account e la SDK documentation per il headset di destinazione.
  2. Ottenere i flussi di dati dei sensori: estrarre dal SDK del dispositivo i dati necessari, come camera images (video frames) e camera parameters.
  3. Chiamare le API di EasyAR: usare le low-level API di EasyAR per inviare i sensor data ottenuti a FrameSource di EasyAR per l'elaborazione.
  4. Ottenere e applicare i risultati del calcolo: recuperare i risultati di calcolo (camera pose) dal engine di EasyAR e applicarli al vostro 3D rendering engine.

Forniamo guide di sviluppo dettagliate e sample code per aiutarvi a completare questo processo. Se incontrate problemi durante l'integrazione, siete invitati a chiedere supporto tecnico nella nostra developer community.

Funzioni principali disponibili

Sui dispositivi headset potete sfruttare completamente la matrix di funzioni di EasyAR per creare rich spatial applications:

  • Planar Image Tracking: riconosce e traccia immagini predefinite, sovrapponendo video dinamici o modelli 3D su di esse.
  • 3D Object Tracking: riconosce e traccia modelli 3D predefiniti, come giocattoli e scatole di prodotto, e fa interagire con essi il virtual content.
  • Sparse Spatial Map: scansiona l'ambiente per generare una 3D visual map e fornisce funzioni di visual positioning e tracking. La mappa generata può essere salvata o condivisa in tempo reale tra più dispositivi.
  • Dense Spatial Map: scansiona e genera un dense point cloud map e un mesh model (Mesh) dell'ambiente, ottenendo la physical occlusion tra oggetti virtuali e reali e aumentando notevolmente il senso di immersione.
  • Cloud Image Recognition: si collega al cloud database di EasyAR per riconoscere e gestire un gran numero di immagini, adatto a scenari come mostre ed educazione.
  • Mega Large-Scale Spatial Positioning: soluzione di spatial computing a livello cittadino che si collega al cloud positioning service di EasyAR per ottenere positioning e tracking stabili, rapidi e precisi, ampliando in modo significativo la portata delle esperienze AR.

Guide specifiche per piattaforma

Per aiutarvi a iniziare rapidamente su piattaforme specifiche, abbiamo preparato guide dettagliate di integrazione multipiattaforma. Fate clic sulle schede qui sotto per vedere i tutorial quick-start della piattaforma corrispondente.


  1. È necessario usare EasyAR Sense Unity Plugin PICO Extension 4000.1 o successivo + EasyAR Sense Unity Plugin 4003.1 o successivo. Le versioni precedenti supportano solo i dispositivi PICO 4 Ultra Enterprise e richiedono l'enterprise interface authorization del vendor PICO.

  2. La compatibilità di sistema e firmware è mantenuta dal produttore. EasyAR fornisce solo supporto di compatibilità per l'SDK del produttore.

  3. È richiesto EasyAR Sense Unity Plugin 4003.1.1 o successivo.