Table of Contents

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

Ü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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      space
      space
      DeviceB["Device B<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Library&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      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.

Nächste Schritte