Table of Contents

Diagnose und behebung: Problem mit nicht angezeigten inhalten in der anwendung

"Ich kann die echte Welt sehen, aber virtuelle Inhalte werden nicht angezeigt." Dies ist eines der häufigsten Probleme in der AR-Entwicklung. Das Problem kann mehrere Ursachen haben, angefangen bei der Mega-Ortung selbst bis hin zu Ihrer Rendering-Logik.

Dieser Artikel führt Sie durch einen systematischen Prozess zur Identifizierung und Lösung dieses Problems.

Schritte zur problembehebung: Von außen nach innen

Befolgen Sie das Prinzip "Erst extern, dann intern", um Probleme effizient zu lokalisieren. Führen Sie die folgenden Schritte in der angegebenen Reihenfolge aus:

Schritt 1: Überprüfen des Mega-ortungsstatus mit externen tools (ohne codeänderung)

Bevor Sie in Ihren Anwendungscode eintauchen, bestätigen Sie zunächst, ob der Mega-Ortungsdienst selbst ordnungsgemäß funktioniert. Dies ist der entscheidende Schritt, um festzustellen, ob das Problem bei der Mega-Ortung selbst oder bei der Integration in Ihre Anwendung (z.B. Rendering) liegt.

  1. Verwendung der Mega Toolbox (mobil)

    • Installieren Sie die Mega Toolbox App auf Ihrem Testgerät (falls noch nicht geschehen).
    • Öffnen Sie die App und rufen Sie die Funktion "Vor-Ort-Ortungstest" oder eine ähnliche Funktion auf.
    • Melden Sie sich mit Ihrem Konto an und wählen Sie dieselbe Ortungsbibliothek wie in Ihrer Anwendung.
    • Gehen Sie mit dem Gerät an dieselbe Stelle, an der in Ihrer Anwendung keine Inhalte angezeigt werden.
    • Beobachten Sie das Ergebnis:
      • Wenn die Toolbox erfolgreich ortet (Status zeigt Found): Großartig! Der Mega-Ortungsdienst funktioniert. Das Problem liegt innerhalb Ihrer Anwendung, insbesondere in der Rendering- und Inhaltsanzeigelogik. Fahren Sie mit Schritt 2 fort.
      • Wenn die Toolbox-Ortung fehlschlägt (Status zeigt NotFound oder ähnlich): Das Problem liegt beim Ortungsdienst selbst. Lesen Sie den nächsten Abschnitt für eine detaillierte Analyse.
  2. Verwendung der PC-simulationsausführung (falls EIF aufgezeichnet wurde)

    • Wenn Sie EIF-Daten für diese Szene aufgezeichnet haben, können Sie diese Daten mit dem session-Validierungstool im Unity-Editor auf dem PC wiedergeben.
    • Beobachten Sie das Ergebnis:
      • Wenn die Wiedergabe erfolgreich ortet (Status zeigt Found): Das Problem liegt in Ihrem Anwendungscode oder der gerätespezifischen Umgebung.
      • Wenn die Wiedergabe fehlschlägt (Status zeigt NotFound oder ähnlich): Das Problem liegt beim Ortungsdienst selbst. Lesen Sie den nächsten Abschnitt für eine detaillierte Analyse.

Schritt 2: Überprüfen der rendering- und inhaltslogik innerhalb der anwendung

Wenn Schritt 1 bestätigt, dass der Mega-Ortungsdienst selbst funktioniert, liegt das Problem in Ihrem Anwendungscode. Überprüfen Sie folgende Punkte:

  1. Ob inhalte unter dem richtigen knoten platziert sind:

    • Haben Sie 3D-Objekte korrekt unter den automatisch generierten Knoten MegaBlocks > Block_* platziert?
    • Überprüfen Sie die Hierarchiebeziehung zwischen Inhalten und Block-Knoten, um sicherzustellen, dass virtuelle Inhalte zur Laufzeit korrekt gerendert werden.
  2. Ist der block root im megatracker korrekt eingestellt?:

    • Erweitern Sie AR Session und prüfen Sie, ob Block Root im Mega Tracker auf den generierten MegaBlocks-Knoten gesetzt ist.
  3. Wurden die megablocks-knoten geändert?:

    • Stellen Sie sicher, dass Sie die Namen der Block_*-Knoten nicht geändert und keine Werte in den local transform-Eigenschaften modifiziert haben.
  4. Wird das ereignis korrekt abgehört?:

    • Haben Sie die Logik für die Ortungsrückrufbehandlung im MegaTracker geändert?
    • Führt Ihr Code die Instanziierung oder Anzeige virtueller Inhalte erst aus, nachdem das Erfolgsereignis für den Ortungsstatus ausgelöst wurde?
  5. Headset-rendering und transparenz:

    • Wird Ihr virtuelles Objekt von anderen Objekten verdeckt? Überprüfen Sie die Rendering-Warteschlange und den Shader.
    • Bei Verwendung eines VST-Geräts (Video See-Through): Überprüfen Sie, ob Ihr Rendering korrekt über den Videostream gelegt wird.
    • Bei Verwendung eines OST-Geräts (Optical See-Through): Überprüfen Sie, ob Inhalte aufgrund zu starken Umgebungslichts schwer zu erkennen sind.
  6. Problem mit dem inhalt selbst:

    • Gibt es ein Problem mit dem instanziierten Prefab selbst? Z.B. fehlende Modelldateien, Shader-Fehler, Skalierung auf 0 usw. Versuchen Sie, dasselbe Objekt manuell in der Szene zu platzieren, um zu sehen, ob es korrekt angezeigt wird.

Analyse häufiger ursachen für ortungsfehler und verbesserungsvorschläge

Wenn Sie in Schritt 1 festgestellt haben, dass auch die Mega Toolbox nicht orten kann, müssen Sie das Ortungsproblem genau untersuchen und beheben. Hier sind häufige Ursachen und Gegenmaßnahmen:

  • Ursache 1: Karte und umgebung stimmen nicht überein
    Die reale Umgebung hat sich seit der Kartenerfassung erheblich verändert, der Erfahrungsbereich war bei der Erfassung nicht abgedeckt, oder die Karte selbst ist fehlerhaft.
    Verbesserungsvorschläge:

    • Stellen Sie sicher, dass die in Ihrer Ortungsbibliothek geladene Karte mit dem aktuellen physischen Raum übereinstimmt.
    • Wenn die Umgebung verändert wurde (z.B. Renovierung, Änderung der Einrichtung), müssen Sie neu erfassen und eine neue Karte generieren.
    • Wenn der Problembereich bei der ursprünglichen Kartenerfassung nicht abgedeckt war, müssen Sie die Karte durch ergänzende Aktualisierungen neu generieren.
  • Ursache 2: Ungünstiges initialisierungsumfeld
    Starten der Anwendung in einem texturarmen Bereich (z.B. vor einer einfarbigen Wand, auf den Boden gerichtet).
    Verbesserungsvorschläge:

    • Weisen Sie Benutzer an, die Anwendung in texturreichen Bereichen zu starten, um dem System eine schnelle Initialortung zu ermöglichen.
    • Geben Sie klare Anweisungen in der App-UI, z.B. "Heben Sie das Telefon und schauen Sie sich um".
  • Ursache 3: Netzwerk- oder dienstprobleme
    Netzwerklatenz führt zu Timeouts bei Ortungsdienst-Anfragen, oder der Ortungsdienst selbst hat einen Fehler, überschreitet die Nutzungsgrenze usw. Melden Sie letztere Fälle bitte umgehend an uns.

  • Ursache 4: Erreichen der algorithmusgrenzen
    Mega-Ortung basiert auf fortschrittlichen Computer Vision-, KI- und anderen Algorithmen, ist aber nicht allmächtig und hat bestimmte Grenzen. Wenn an bestimmten Punkten oder in bestimmten Szenen Ortungsfehler kontinuierlich auftreten, können Sie uns dies über Bildschirmaufnahmen, aufgezeichnete EIF-Daten usw. melden, um uns bei der kontinuierlichen Verbesserung und Iteration der Algorithmen zu unterstützen.

Zusätzlich ist wichtig zu beachten, dass die Mega-Ortung einen Prozess benötigt, typischerweise etwa 1-2 Sekunden. Aufgrund der Komplexität realer Szenarien wie Netzwerküberlastung, hoher Parallelität oder Überhitzung/Leistungsdrosselung des Telefons kann diese Zeit länger sein. Daher ist es ratsam, in der Anwendung eine klare Lade-/Warteoberfläche mit dem Hinweis "Ortung läuft..." zu entwerfen, um zu vermeiden, dass Benutzer aufgrund des Wartens fälschlicherweise annehmen, der Dienst sei ausgefallen oder eine Ortung unmöglich.

Anmerkung
  • Die Erstortung ist in der Regel langsamer als nachfolgende Ortungen, da das System nach erfolgreicher Erstortung entsprechende Inhalte laden muss. Dies ist normal. Schnelle Bewegungen des Geräts können zu Ortungsverlust führen. Weisen Sie Benutzer an, das Gerät ruhig zu bewegen.

Zusammenfassung und best practices

  • Immer zuerst mit externen tools validieren: Dies grenzt das Problem am schnellsten auf "Ortung" oder "Rendering" ein.
  • Angemessene benutzererwartungen schaffen: Geben Sie über die UI Hinweise, dass die Ortung Zeit benötigt, und leiten Sie Benutzer in eine geeignete Umgebung.
  • Inhaltslogik beachten: Stellen Sie sicher, dass Ihre Inhaltsbindungseinstellungen usw. korrekt sind.
  • Logs effektiv nutzen: Protokollieren an kritischen Punkten (z.B. Ereignisauslösung, Pose-Erhalt, Antwortstatus) kann helfen, Probleme in der Code-Logik schnell zu lokalisieren.

Durch diese systematische Fehlersuche sollten Sie die meisten Probleme mit "nicht angezeigten Inhalten" lösen können. Wenn das Problem weiterhin besteht, bereiten Sie bitte EIF-Daten und Logs vor und reichen Sie einen detaillierten Bericht über Problembericht bei uns ein.