Table of Contents

EasyAR unterstützung für das Unity XR framework

EasyAR ist nicht auf das Unity XR framework angewiesen, um AR-Funktionen bereitzustellen, kann jedoch einige Komponentenpakete des Unity XR frameworks unterstützen, um die Nutzung von EasyARs AR-Funktionen in Unity mit den Funktionen des Unity XR frameworks zu kombinieren. Der folgende Inhalt beschreibt die Unterstützung von EasyAR für das Unity XR framework und wann die Verwendung von AR Foundation in Betracht gezogen werden kann.

Unity XR unterstützung

Unity unterstützt die XR-Entwicklung über sein Plugin-Framework und eine Reihe von Funktionspaketen und Toolkits. EasyAR unterstützt ebenfalls diese Unity XR-Komponentenpakete, um die Nutzung von EasyARs AR-Funktionen in Unity mit den Funktionen des Unity XR frameworks zu kombinieren.

EasyAR unterstützt die folgenden Unity XR-Komponentenpakete:

Anzeigename Paketname Mindestversion Erforderlich Verwendung
XR Core Utilities com.unity.xr.core-utils 2.0.0 Nein Bietet Unterstützung für Unity.XR.CoreUtils.XROrigin
AR Foundation com.unity.xr.arfoundation 5.0.0 Nein Bietet AR Foundation-Unterstützung
XR Plugin Management com.unity.xr.management 3.0.0 Nein Bietet ARCore SDK-Management-Kompatibilität und Abruf des Laufzeit-XR-Loader-Typs
XR Interaction Toolkit com.unity.xr.interaction.toolkit 2.0.0 Nein Wird nicht direkt verwendet
PolySpatial visionOS com.unity.polyspatial.visionos 2.0.41 Nein Wird nicht direkt verwendet
Apple visionOS XR Plugin com.unity.xr.visionos 2.0.41 Nein Wird nicht direkt verwendet
Apple ARKit XR Plugin com.unity.xr.arkit 5.0.0 Nein Wird nicht direkt verwendet
Google ARCore XR Plugin com.unity.xr.arcore 5.0.0 Nein Bietet ARCore SDK-Management-Kompatibilität
Anmerkung

EasyAR ist nicht auf das Unity XR framework angewiesen, um AR-Funktionen bereitzustellen. Daher können diese Komponentenpakete nicht installiert werden, wenn keine Verwendungsanforderung für Unity XR-Komponenten wie AR Foundation besteht. EasyAR funktioniert weiterhin auf unterstützten Geräten.

AR Foundation unterstützung

AR Foundation ist das von Unity bereitgestellte AR-Entwicklungsframework, dessen AR-Funktionen über das zugrunde liegende System oder Drittanbieter implementiert werden. Es wird häufig zur Unterstützung von ARCore, ARKit und einigen Headsets verwendet.

Beziehung zwischen EasyAR und AR Foundation

block
  columns 6
  block:groupApp:6
    block:groupAppWrapper
      space
      App1["EasyAR<br>App"]
      space
      App2["EasyAR + AR Foundation<br>App"]
      space
      App3["AR Foundation<br>App"]
    end
  end
  
  block:groupSensePlugin:4
    columns 1
    SensePlugin["EasyAR Sense Unity Plugin"]
    space
  end
  block:groupARF
    columns 1
    ARF["AR Foundation"]
    space
  end
  block:groupXRI
    columns 1
    XRI["XR Interaction Toolkit"]
    space
  end
  
  block:groupAREngineInterop
    columns 1
    AREngineInterop["EasyAR<br>AR Engine Interop"]
    space
  end  
  block:groupSense:3
    columns 1
    Sense["EasyAR Sense"]
    block:groupSenseWrapper
      Image["Bild-<br>Tracker"]
      Object["Sparse<br>SpatialMap"]
      MotionTracker["Bewegungs-<br>Tracker"]
      MARCore["ARCore"]
      MARKit["ARKit"]
      Others["..."]
    end
  end
  block:groupXRSubsystem:2
    columns 1
    XRSubsystem["XR Subsystems"]
    XRSDK["Unity XR SDK"]
  end

  block:groupSystem:6
    columns 1
    System["Systembibliothek"]
    block:groupSystemWrapper
      space
      AREngine["AR Engine<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bibliothek&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      space
      ARCore["ARCore<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bibliothek&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"]
      space
      ARKit["ARKit<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bibliothek&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"] 
      space
    end
  end
  
  SensePlugin --> App1
  SensePlugin --> App2
  ARF --> App2
  ARF --> App3
  groupSense --> SensePlugin
  groupAREngineInterop --> SensePlugin
  AREngine --> groupAREngineInterop
  XRSubsystem --> ARF
  XRSubsystem --> XRI
  ARCore --> MARCore
  ARKit --> MARKit
  ARCore --> XRSDK
  ARKit --> 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 AREngineInterop 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:#fff
  style System fill:none,stroke:none,stroke-width:0px
  style groupSystemWrapper fill:none,stroke:none,stroke-width:0px

  classDef EasyAR fill:#6e6ce6,stroke:#333,color:#fff
  class groupAREngineInterop EasyAR
  class groupSense EasyAR
  class SensePlugin EasyAR

  classDef Unity fill:#636,stroke:#333,color:#fff
  class groupXRSubsystem Unity
  class ARF Unity
  class XRI Unity

EasyAR und AR Foundation sind zwei unabhängige AR-Frameworks. EasyAR ist nicht auf AR Foundation angewiesen, um seine AR-Funktionen zu implementieren. EasyAR kann auch die Bewegungsverfolgungsfähigkeit über Systembibliotheken wie ARKit oder ARCore implementieren. Darüber hinaus bietet EasyAR zwei Bewegungsverfolgungsimplementierungen, die AR Foundation nicht bietet: EasyARs eigene Bewegungsverfolgungsimplementierung und die über AR Engine bereitgestellte Bewegungsverfolgung. Dadurch bietet EasyAR eine breitere Geräteunterstützung als AR Foundation.

Gleichzeitig kann EasyAR Daten der AR Foundation-Laufzeit abrufen und während ihrer Laufzeit die von ihr bereitgestellte Bewegungsverfolgungsfähigkeit nutzen, um andere AR-Funktionen anzutreiben, und so Kompatibilität mit AR Foundation bieten. Diese Funktionen umfassen:

  • Mega
  • Sparse Raumkarte
  • Dichte Raumkarte
  • Bildverfolgung und Objektverfolgung mit Bewegungsfusion

Weitere Informationen zur Beziehung zwischen Bewegungsverfolgung und EasyAR-Funktionen finden Sie unter Bewegungsverfolgung und EasyAR-Funktionen.

Wann AR Foundation verwendet werden sollte

In den meisten Fällen kann auf AR Foundation verzichtet werden, da EasyAR auf einer breiteren Palette von Geräten funktioniert als AR Foundation. In der Regel kann AR Foundation in den folgenden zwei Situationen in Betracht gezogen werden:

  1. Verwendung von ARKit- oder ARCore-Funktionen, die nicht von EasyAR gekapselt sind

    Wenn Sie Funktionen verwenden müssen, die von ARCore oder ARKit bereitgestellt werden, aber nicht von EasyAR gekapselt sind, können Sie AR Foundation verwenden. Zum Beispiel bietet AR Foundation Unterstützung für die ARKit-Gesichtsverfolgung ARFaceManager, die EasyAR nicht kapselt.

  2. Verwendung der ARCore-implementierten Bewegungsverfolgung auf einigen Xiaomi-Handys mit Systemproblemen

    Wenn Sie ARCore auf allen unterstützten Xiaomi- und Redmi-Handys verwenden möchten, können Sie AR Foundation aktivieren. Aufgrund von Problemen mit dem System einiger Xiaomi- und Redmi-Handys unterstützt EasyARs ARCore-Kapselung diese Geräte nicht, darunter die Mi 9-, Mi 10-, Redmi K20-, Redmi K30-, Redmi K40-Serien (die Liste ist nicht vollständig, die Geräteunterstützung wird fortlaufend aktualisiert). Auf diesen Handys wird ARCore in der Standardkonfiguration nicht verwendet. Auf Handys, die die EasyAR-Bewegungsverfolgung unterstützen, wird stattdessen die EasyAR-Bewegungsverfolgung verwendet.

Die Funktionsleistung von EasyAR ist bei Verwendung von AR Foundation nicht optimal. Es gibt zwei Situationen:

  1. Auf den Xiaomi- und Redmi-Handys, die EasyAR nicht direkt unterstützt, sind die in EasyAR eingegebenen Daten Graustufenbilder und keine Farbbilder, was die Leistung einiger Algorithmen beeinträchtigt. Aufgrund von Problemen mit den Geräten selbst kann dies nicht durch Konfiguration gelöst werden.
  2. Bei der Verwendung von Mega ist die von AR Foundation standardmäßig verwendete Konfiguration nicht optimal.
Vorsicht

Es ist möglich, durch Ändern von ARCameraManager.currentConfiguration in AR Foundation einen besseren Dateneingang zu erhalten. Das Aktivieren von ARCoreARFoundationFrameSource.OptimizeConfigurationForTracking kann automatisch die beste ARCameraManager.currentConfiguration auswählen. Beachten Sie jedoch, dass einige Handys selbst Probleme haben (z.B. Xiaomi 10) und nach der Konfigurationsänderung möglicherweise keine Bilder mehr erhalten werden können, wodurch EasyAR unbrauchbar wird (die App hat einen Bildhintergrund, aber EasyAR-Funktionen reagieren nicht). Daher wird die Aktivierung normalerweise nicht empfohlen. Wenn Sie es dennoch verwenden möchten, benötigen Sie einen Fallback-Plan für den Fall, dass EasyAR nicht funktioniert.

Headset-unterstützung

Da das Unity XR framework keine ausreichenden Datenschnittstellen bietet, unterstützt EasyAR Headsets nicht über das Unity XR framework.

Auf Headsets, die das Unity XR framework unterstützen, unterstützt EasyAR die Verwendung von Unity.XR.CoreUtils.XROrigin über XR Core Utilities, implementiert die Headset-Unterstützung jedoch nicht mit dem Unity XR framework. EasyAR beeinträchtigt die Funktionen des XR Interaction Toolkit nicht, solange das Gerät unterstützt wird, kann es normal verwendet werden.

Im Allgemeinen bieten Headset-Hersteller eigene SDKs oder Systemschnittstellen an, um diese Daten bereitzustellen. EasyAR unterstützt Headsets über Systemschnittstellen und Hersteller-SDKs. Manchmal sind diese SDKs nicht vollständig öffentlich, EasyAR arbeitet mit Herstellern zusammen, um vollständige Unterstützung zu bieten. Die Headset-Unterstützung in Unity beschreibt die von EasyAR unterstützten Headsets und deren Verwendung.

Nächste schritte

Verwandte themen


  1. In Unity 6 und neuer ist die Mindestunterstützung 2.0.4. In Unity 2022.3 ist die Mindestunterstützung 1.2.3, 1.3.x wird nicht unterstützt.