Table of Contents

AR-gesteuerte 3D-Renderung

Die Entwicklung von AR-Anwendungen erfordert die Lösung eines grundlegenden Problems: das Rendern von AR-Inhalten. Dieser Artikel beschreibt am Beispiel der ebenen Bildverfolgung die grundlegenden Module, Abläufe und Renderimplementierungen von AR-Anwendungen.

Typische AR-Anwendungsablauf

Eine typische AR-Anwendung erkennt in der Regel bestimmte Bilder, Objekte oder Szenen aus Kamerabildern, verfolgt deren Position und Ausrichtung und rendert virtuelle Inhalte (3D-Modelle) entsprechend dieser Position und Ausrichtung.

image tracking

Das obige Bild zeigt beispielsweise eine AR-Anwendung zur ebenen Grafikverfolgung

Nachfolgend finden Sie ein Ablaufdiagramm der Anwendung.

flowchart TD
    CameraDevice[Camera Device]
    Tracker[Tracker]
    Renderer[Renderer]

    CameraDevice -->|Image Frame| Tracker
    Tracker -->|Image Frame + Tracked Pose| Renderer

Der Ablauf umfasst die folgenden Module.

Modul Funktion
Physische Kamera Liefert eine Sequenz von Eingabebildern. Ein Bildrahmen umfasst das Bild, den Zeitstempel der Bildgenerierung und manchmal auch die Position und Ausrichtung der Kamera im Raum
Tracker Berechnet die Position und Ausrichtung des Verfolgungsziels aus dem Bildrahmen. Je nach Verfolgungsziel gibt es verschiedene Tracker, z.B. Tracker für ebene Bilder und Tracker für 3D-Objekte
Renderer Dient zum Rendern des Kamerabildes und der dem verfolgten Objekt entsprechenden 3D-Modelle auf dem Bildschirm. Bei einigen AR-Brillen wird möglicherweise nur das 3D-Modell gerendert, nicht das Kamerabild

Renderung auf mobilen Geräten

Das Rendern auf mobilen Geräten gliedert sich in zwei Teile: das Rendern der Kamerabilder und das Rendern virtueller Objekte.

Renderung des Kamerabildes

camera image

Beim Rendern des Kamerabildes sind einige Parameter zu beachten.

  • Skalierungsmodus

    Normalerweise muss das Kamerabild den gesamten Bildschirm oder ein Fenster ausfüllen. Dabei kann es zu Problemen mit dem Seitenverhältnis zwischen Kamerabild und Bildschirm/Fenster kommen.

    Angenommen, wir verlangen, dass das Zentrum des Kamerabildes mit dem Zentrum des Bildschirms/Fensters übereinstimmt und das Seitenverhältnis beibehalten wird, gibt es zwei gängige Skalierungsmodi: proportionale Skalierung und proportionale Füllung.

    Skalierungsmodus Effekt
    Proportionale Skalierung Zeigt den gesamten Inhalt auf dem Bildschirm an, lässt aber links/rechts oder oben/unten schwarze Ränder
    Proportionale Füllung Keine schwarzen Ränder, schneidet aber Teile des Bildes links/rechts oder oben/unten ab
  • Kamerabildrotation

    Auf mobilen Geräten sind die von der physischen Kamera aufgezeichneten Bilder in der Regel fest am Gehäuse ausgerichtet und ändern sich nicht mit der Bildschirmanzeigerichtung. Die Änderung der Gehäuseausrichtung des Geräts beeinflusst jedoch unsere Definition der Bildrichtungen (oben, unten, links, rechts). Beim Rendern wirkt sich auch die aktuelle Bildschirmanzeigerichtung auf die Richtung des angezeigten Bildes aus.

    Beim Rendern muss normalerweise ein Drehwinkel des Kamerabildes relativ zur Bildschirmanzeigerichtung bestimmt werden.

  • Kamerabildspiegelung

    In einigen Fällen wird die Frontkamera verwendet. Dabei muss das Bild normalerweise horizontal gespiegelt werden, damit es wie ein Spiegel wirkt.

Renderung virtueller Objekte

virtual object

Um virtuelle Objekte auf mobilen Geräten zu rendern, müssen diese mit dem Kamerabild ausgerichtet werden. Dazu müssen wir die Renderkamera und die Objekte in einem virtuellen Raum platzieren, der dem realen Raum exakt entspricht, und mit demselben Sichtfeld (FOV) und Seitenverhältnis wie die physische Kamera rendern. Die perspektivische Projektionstransformation, die das Kamerabild und das virtuelle Objekt durchlaufen, ist identisch, mit der Ausnahme, dass die Transformation für das Kamerabild größtenteils in der physischen Kamera stattfindet, während sie für das virtuelle Objekt ein rechnerischer Prozess ist.

Renderung auf Head-Mounted Displays

Die Renderung auf Head-Mounted Displays (HMDs) unterscheidet sich etwas von der auf mobilen Geräten und muss in zwei Fällen betrachtet werden.

  • VST

    Video-See-Through (VST) bezeichnet eine AR-Technik, bei der das HMD Bilder über eine physische Kamera aufnimmt und dann das Kamerabild sowie virtuelle Inhalte auf dem Bildschirm des HMDs anzeigt. Ein typischer Vertreter ist das Vision Pro. Normalerweise wird die perspektivische Projektionsmatrix für Kamerabild und virtuelle Inhalte vom SDK des HMDs festgelegt. Extern muss nur die Position und Ausrichtung der virtuellen Inhalte gesetzt werden. Die für die Verfolgung verwendete physische Kamera und die Kamera für das auf dem Bildschirm gerenderte Kamerabild können sich an unterschiedlichen Positionen befinden; beim Rendern erfolgt eine Koordinatentransformation.

  • OST

    Optical-See-Through (OST) bezeichnet eine AR-Technik, bei der der Bildschirm des HMDs transparent ist und das HMD nur virtuelle Inhalte auf dem Bildschirm anzeigt. Ein typischer Vertreter ist das HoloLens. Normalerweise wird die perspektivische Projektionsmatrix für die virtuellen Inhalte vom SDK des HMDs festgelegt. Extern muss nur die Position und Ausrichtung der virtuellen Inhalte gesetzt werden. Die für die Verfolgung verwendete physische Kamera und die Kamera für das auf dem Bildschirm gerenderte Kamerabild können sich an unterschiedlichen Positionen befinden; beim Rendern erfolgt eine Koordinatentransformation.

Plattformspezifische Leitfäden

Die AR-gesteuerte 3D-Renderung ist eng mit der Plattform verbunden. Bitte beziehen Sie sich für Ihre Zielplattform auf die folgenden Leitfäden für die Entwicklung: