EasyAR-Headset-Unterstützung in Unity
Dieses Dokument beschreibt die allgemeine Architektur und Überlegungen zur Headset-Unterstützung von EasyAR in Unity.
Bevor Sie beginnen
- Lesen Sie Headset-Unterstützung von EasyAR, um die von EasyAR unterstützten Headset-Typen und die auf Headsets lauffähigen EasyAR-Funktionen zu verstehen.
Übersicht über die Headset-Unterstützung
EasyAR unterstützt Headsets in Unity auf flexible Weise, üblicherweise auf zwei Arten:
- Integrierte Unterstützung: Direkte Integration des Geräte-SDK in die EasyAR Sense-Bibliothek mit entsprechenden Schnittstellen in Unity (z.B. Apple Vision Pro)
- Erweiterte Unterstützung: Integration des Geräte-SDK über ein Unity-Headset-Erweiterungspaket (z.B. Pico)
block
columns 4
block:groupApp:4
block:groupAppWrapper
space
App1["EasyAR + Device A<br>App"]
space
App2["EasyAR<br>App"]
space
App3["EasyAR + Device B<br>App"]
end
end
block:groupSensePluginExtension
columns 1
SensePluginExtension["EasyAR sense unity plugin<br>Erweiterung für Device 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["Device A<br>Unity SDK"]
space
end
block:groupSense
columns 1
Sense["EasyAR sense"]
block:groupSenseWrapper
MDeviceB["Device 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["Device A<br> Library "]
space
space
DeviceB["Device 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
Im Diagramm:
Gerät A gehört zur erweiterten Unterstützung
In der Praxis verfügt Gerät A typischerweise über ein entsprechendes Unity SDK zur Integration mit dem Unity XR SDK oder für eine eigenständige Implementierung der Headset-Rendering-Fähigkeiten.
Das Headset-Erweiterungspaket für Gerät A ist dafür verantwortlich, das EasyAR Sense Unity Plugin mit dem Unity SDK von Gerät A zu verbinden, um so den Betrieb von EasyAR auf Gerät A zu ermöglichen. Dieses Support-Paket kann von EasyAR oder vom Gerätehersteller bereitgestellt werden.
Gerät B gehört zur integrierten Unterstützung
In der Praxis verfügt Gerät B möglicherweise über ein entsprechendes Unity SDK oder auch nicht, abhängig von der Implementierung des Geräteherstellers. Zum Beispiel hat Apple Vision Pro kein entsprechendes Unity SDK, XREAL hingegen schon.
Sowohl Headsets mit integrierter als auch mit erweiterter Unterstützung sind mit der Verwendung einer benutzerdefinierten Kamera kompatibel.
Wichtig
Verwendung von Testprodukten (Personal-Lizenz, Testversion der XR-Lizenz oder Testversion des Mega-Service usw.) auf benutzerdefinierten Kameras oder Headsets: EasyAR Sense reagiert nicht mehr, nachdem es 100 Sekunden nach jedem Start ausgeführt wurde (Mega-Benutzer können die Dauer nach Genehmigung durch den EasyAR-Geschäftsbereich anpassen). Die Verwendung der kostenpflichtigen Version von EasyAR Sense und des kostenpflichtigen EasyAR Mega-Service unterliegt dieser Einschränkung nicht.
In Unity werden das Rendering der virtuellen Kamera, die Projektionsmatrix und Transform-Eigenschaften usw. nicht von EasyAR gesteuert. Diese werden üblicherweise vom Geräte-SDK oder dem Unity XR SDK kontrolliert. Geräteeigene Funktionen wie Gestenerkennung, Eye-Tracking usw. werden weiterhin vom Gerät und dessen SDK bereitgestellt. In der Praxis müssen Sie normalerweise sowohl EasyAR als auch das Geräte-SDK verwenden.