Plattformspezifische Leitfäden
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine

Ein wichtiger Aspekt für realistische AR-Erlebnisse ist die richtige Beleuchtung. Wenn einem virtuellen Objekt ein Schatten fehlt oder es aus einem glänzenden Material besteht, das die Umgebung nicht widerspiegelt, können Nutzer spüren, dass das Objekt nicht ganz passt, auch wenn sie nicht erklären können, warum. Das liegt daran, dass Menschen unbewusst wahrnehmen, wie Objekte in ihrer Umgebung beleuchtet werden. Die Lighting Estimation API analysiert die angegebenen Bilder nach solchen Hinweisen und liefert detaillierte Informationen zur Beleuchtung in einer Szene. Sie können diese Informationen dann beim Rendern virtueller Objekte verwenden, um sie unter denselben Bedingungen wie die Szene zu beleuchten, in der sie platziert sind. So bleiben Nutzer orientiert und engagiert.
Beleuchtungshinweise
Die Lighting Estimation API liefert detaillierte Daten, mit denen Sie beim Rendern virtueller Objekte verschiedene Beleuchtungssignale nachahmen können. Dazu gehören Schatten, Umgebungslicht, Schattierung, Glanzlichter und Reflexionen.
Schatten
Schatten sind oft gerichtet und geben Zuschauern Aufschluss darüber, woher Lichtquellen kommen.
Umgebungslicht
Umgebungslicht ist das diffuse Licht, das aus der Umgebung kommt und alles sichtbar macht.
Schattierung
Die Schattierung ist die Intensität des Lichts. Beispielsweise können verschiedene Teile desselben Objekts in derselben Szene unterschiedliche Schattierungsgrade aufweisen, je nach Winkel relativ zum Betrachter und der Nähe zu einer Lichtquelle.
Spiegelnde Highlights
Spiegelnde Glanzlichter sind die glänzenden Stellen auf Oberflächen, die eine Lichtquelle direkt reflektieren. Die Highlights auf einem Objekt ändern sich in Abhängigkeit von der Position des Betrachters in einer Szene.
Stimmungsprotokoll
Licht wird unterschiedlich von Oberflächen reflektiert, je nachdem, ob die Oberfläche spiegelnd (hochgradig reflektierend) oder diffus (nicht reflektierend) ist. Eine Metallkugel ist beispielsweise sehr spiegelnd und reflektiert ihre Umgebung, während eine andere Kugel, die mattgrau lackiert ist, diffus ist. Die meisten realen Objekte haben eine Kombination dieser Eigenschaften, z. B. eine abgenutzte Bowlingkugel oder eine häufig verwendete Kreditkarte.
Reflektierende Oberflächen nehmen auch Farben aus der Umgebung auf. Die Farbe eines Objekts kann direkt von der Farbe seiner Umgebung beeinflusst werden. Ein weißer Ball in einem blauen Raum erhält beispielsweise einen bläulichen Farbton.
HDR-Modus für die Umgebung
Diese Modi bestehen aus separaten APIs, die eine detaillierte und realistische Schätzung der Beleuchtung für gerichtetes Licht, Schatten, spiegelnde Highlights und Reflexionen ermöglichen.
Im Umgebungs-HDR-Modus wird maschinelles Lernen verwendet, um die Kamerabilder in Echtzeit zu analysieren und die Umgebungsbeleuchtung zu synthetisieren, damit virtuelle Objekte realistisch gerendert werden können.
Dieser Modus zur Schätzung der Beleuchtung bietet:
Hauptrichtungslicht: Stellt die Hauptlichtquelle dar. Kann zum Erstellen von Schatten verwendet werden.
Sphärische Ambient-Harmonische: Stellt die verbleibende Umgebungslichtenergie in der Szene dar.
Eine HDR-Cubemap. Kann verwendet werden, um Spiegelungen in glänzenden Metallobjekten zu rendern.
Sie können diese APIs in verschiedenen Kombinationen verwenden. Für den realistischsten Effekt sollten sie jedoch zusammen verwendet werden.
Hauptrichtungslicht
Die Haupt-API für gerichtetes Licht berechnet die Richtung und Intensität der Hauptlichtquelle der Szene. Anhand dieser Informationen können virtuelle Objekte in Ihrer Szene an einer angemessenen Position spiegelnde Highlights aufweisen und Schatten in einer Richtung werfen, die mit anderen sichtbaren realen Objekten übereinstimmt.
Sehen Sie sich dazu diese beiden Bilder derselben virtuellen Rakete an. Im Bild links ist ein Schatten unter der Rakete zu sehen, dessen Richtung jedoch nicht mit den anderen Schatten in der Szene übereinstimmt. Bei der Rakete rechts zeigt der Schatten in die richtige Richtung. Das ist ein subtiler, aber wichtiger Unterschied, der die Rakete in der Szene verankert, da die Richtung und Intensität des Schattens besser zu anderen Schatten in der Szene passen.

Wenn sich die Hauptlichtquelle oder ein beleuchtetes Objekt bewegt, wird die Position des spiegelnden Highlights auf dem Objekt in Echtzeit an die Lichtquelle angepasst.
Auch die Länge und Richtung von gerichteten Schatten werden an die Position der Hauptlichtquelle angepasst, genau wie in der realen Welt. Zur Veranschaulichung dieses Effekts sehen Sie sich diese beiden Schaufensterpuppen an, eine virtuell und die andere real. Die Schaufensterpuppe links ist die virtuelle.

Sphärische Harmonische für Umgebungsgeräusche
Zusätzlich zur Lichtenergie im Hauptrichtungslicht stellt ARCore sphärische Harmonische bereit, die das gesamte Umgebungslicht aus allen Richtungen in der Szene darstellen. Verwenden Sie diese Informationen beim Rendern, um subtile Hinweise hinzuzufügen, die die Definition virtueller Objekte hervorheben.
Sehen Sie sich diese beiden Bilder desselben Raketenmodells an. Die Rakete auf der linken Seite wird mit Informationen zur Beleuchtungsschätzung gerendert, die von der API für das Hauptrichtungslicht erkannt wurden. Die Rakete rechts wird mit Informationen gerendert, die sowohl von der API für das Hauptrichtungslicht als auch von der API für sphärische harmonische Ambient-Funktionen erkannt wurden. Die zweite Rakete ist deutlich besser zu erkennen und fügt sich nahtloser in die Szene ein.

HDR-Cubemap
Mit dem HDR-Cubemap lassen sich realistische Spiegelungen auf virtuellen Objekten mit mittlerem bis hohem Glanzgrad rendern, z. B. auf glänzenden Metalloberflächen. Die Cubemap wirkt sich auch auf die Schattierung und das Erscheinungsbild von Objekten aus. Das Material eines spiegelnden Objekts, das von einer blauen Umgebung umgeben ist, reflektiert beispielsweise blaue Farbtöne. Für die Berechnung der HDR-Cubemap ist nur wenig zusätzliche CPU-Leistung erforderlich.
Ob Sie die HDR-Cubemap verwenden sollten, hängt davon ab, wie ein Objekt seine Umgebung reflektiert. Da die virtuelle Rakete aus Metall ist, hat sie eine starke spiegelnde Komponente, die die Umgebung direkt widerspiegelt. Daher profitiert sie vom Cubemap. Ein virtuelles Objekt mit einem matten, grauen Material hat dagegen überhaupt keine Spiegelung. Die Farbe hängt hauptsächlich von der diffusen Komponente ab und würde nicht von einer Cubemap profitieren.
Alle drei Environmental HDR-APIs wurden verwendet, um die Rakete unten zu rendern. Der HDR-Cubemap ermöglicht die reflektierenden Hinweise und die weitere Hervorhebung, die das Objekt vollständig in der Szene verankern.

Hier sehen Sie dasselbe Raketenmodell in unterschiedlich beleuchteten Umgebungen. Alle diese Szenen wurden mit Informationen aus den drei APIs gerendert und mit gerichteten Schatten versehen.

Modus „Umgebungsintensität“
Im Modus „Umgebungsintensität“ werden die durchschnittliche Pixelintensität und die Skalare für die Farbkorrektur für ein bestimmtes Bild bestimmt. Dies ist eine grobe Einstellung für Anwendungsfälle, in denen eine präzise Beleuchtung nicht entscheidend ist, z. B. für Objekte mit integrierter Beleuchtung.
Pixelintensität
Erfasst die durchschnittliche Pixelintensität der Beleuchtung in einer Szene. Sie können diese Beleuchtung auf ein ganzes virtuelles Objekt anwenden.
Farbe
Erkennt den Weißabgleich für jedes einzelne Bild. Anschließend können Sie die Farbe eines virtuellen Objekts korrigieren, damit es sich besser in die Gesamtfarbgebung der Szene einfügt.
Umgebungssonden
Umgebungssonden organisieren 360‑Grad-Kameraansichten in Umgebungstexturen wie Cube Maps. Diese Texturen können dann verwendet werden, um virtuelle Objekte realistisch zu beleuchten, z. B. eine virtuelle Metallkugel, die den Raum „reflektiert“, in dem sie sich befindet.