Supporto per headset EasyAR in unity
Questo documento descrive l'architettura generale e le considerazioni sul supporto per headset EasyAR in unity.
Prima di iniziare
- Leggere Supporto per headset EasyAR per conoscere i tipi di headset supportati da EasyAR e le funzionalità EasyAR eseguibili su headset.
Panoramica del supporto per headset
EasyAR supporta gli headset in Unity in modo flessibile, principalmente attraverso due approcci:
- Supporto integrato: tipicamente tramite integrazione diretta con l'SDK del dispositivo nella libreria EasyAR Sense, fornendo interfacce corrispondenti in Unity (ad esempio Apple Vision Pro)
- Supporto esteso: tramite pacchetti di estensione headset Unity per interfacciarsi con l'SDK del dispositivo (ad esempio Pico)
block
columns 4
block:groupApp:4
block:groupAppWrapper
space
App1["EasyAR + Dispositivo A<br>App"]
space
App2["EasyAR<br>App"]
space
App3["EasyAR + Dispositivo B<br>App"]
end
end
block:groupSensePluginExtension
columns 1
SensePluginExtension["EasyAR Sense Unity Plugin<br>Estensione per dispositivo A"]
space
end
block:groupSensePlugin
columns 1
SensePlugin["EasyAR Sense Unity Plugin"]
space
end
block:groupXRI
columns 1
XRI["XR Interaction Toolkit"]
space
end
block:groupARF
columns 1
ARF["AR Foundation"]
space
end
block:groupDeviceAUnity
columns 1
DeviceAUnity["Dispositivo A<br>Unity SDK"]
space
end
block:groupSense
columns 1
Sense["EasyAR Sense"]
block:groupSenseWrapper
MDeviceB["Dispositivo B<br>CameraDevice"]
Others["..."]
end
end
block:groupXRSubsystem:2
columns 1
XRSubsystem["XR Subsystems"]
XRSDK["Unity XR SDK"]
end
block:groupSystem:4
columns 1
System["Native Library"]
block:groupSystemWrapper
space
DeviceA["Dispositivo A<br> Library "]
space
space
DeviceB["Dispositivo B<br> Library "]
space
end
end
SensePluginExtension --> App1
SensePlugin --> App1
SensePlugin --> App2
SensePlugin --> App3
ARF --> App3
XRI --> App1
XRI --> App3
groupSense --> SensePlugin
groupDeviceAUnity --> SensePluginExtension
SensePlugin --> SensePluginExtension
DeviceA --> groupDeviceAUnity
DeviceA --> XRSDK
XRSubsystem --> ARF
XRSubsystem --> XRI
DeviceB --> MDeviceB
DeviceB --> XRSDK
style groupApp fill:none,stroke:none,stroke-width:0px
style groupAppWrapper fill:none,stroke:none,stroke-width:0px
style groupSensePlugin fill:none,stroke:none,stroke-width:0px
style groupARF fill:none,stroke:none,stroke-width:0px
style groupXRI fill:none,stroke:none,stroke-width:0px
style DeviceAUnity fill:none,stroke:none,stroke-width:0px,color:#fff
style Sense fill:none,stroke:none,stroke-width:0px,color:#fff
style groupSenseWrapper fill:none,stroke:none,stroke-width:0px
style XRSubsystem fill:none,stroke:none,stroke-width:0px,color
style System fill:none,stroke:none,stroke-width:0px
style groupSystemWrapper fill:none,stroke:none,stroke-width:0px
style groupSensePluginExtension fill:none,stroke:none,stroke-width:0px
classDef EasyAR fill:#6e6ce6,stroke:#333,color:#fff
class groupSense EasyAR
class SensePlugin EasyAR
class SensePluginExtension EasyAR
classDef Device fill:#636,stroke:#333,color:#fff
class groupDeviceAUnity Device
class DeviceB Device
class DeviceA Device
Nel diagramma:
Il dispositivo A appartiene al supporto esteso
Nella pratica, il dispositivo A solitamente dispone di un SDK Unity corrispondente, utilizzato per interfacciarsi con Unity XR SDK o implementare autonomamente le funzionalità di rendering dell'headset.
Il pacchetto di estensione headset per il dispositivo A si occupa di collegare EasyAR Sense Unity Plugin con l'SDK Unity del dispositivo A, consentendo così l'esecuzione di EasyAR sul dispositivo A. Questo pacchetto di supporto può essere fornito da EasyAR o dal produttore del dispositivo.
Il dispositivo B appartiene al supporto integrato
Nella pratica, il dispositivo B potrebbe disporre o meno di un SDK Unity corrispondente, a seconda dell'implementazione del produttore. Ad esempio, Apple Vision Pro non ha un SDK Unity corrispondente, mentre XREAL ne ha uno.
Sia gli headset con supporto integrato che esteso sono compatibili con l'utilizzo di fotocamera personalizzata.
Importante
Quando si utilizzano prodotti in prova (come licenze personali, licenze XR di prova o servizi Mega di prova) su fotocamere personalizzate o dispositivi di visualizzazione, EasyAR Sense smetterà di rispondere dopo 100 secondi dall'avvio (gli utenti Mega possono richiedere a EasyAR Business di modificare questa durata previa approvazione). L'utilizzo della versione a pagamento di EasyAR Sense e del servizio EasyAR Mega a pagamento non presenta questa limitazione.
In Unity, il rendering della fotocamera virtuale, la matrice di proiezione e le trasformazioni (transform) non sono controllate da EasyAR. Questi elementi sono generalmente gestiti dall'SDK del dispositivo o da Unity XR SDK. Le funzionalità native del dispositivo, come il rilevamento dei gesti o l'eye tracking, rimangono fornite dal dispositivo e dal suo SDK. Durante l'utilizzo, è solitamente necessario impiegare sia EasyAR che l'SDK del dispositivo contemporaneamente.