Plattformspezifische Leitfäden
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreale Engine
Damit du realistische AR-Erlebnisse schaffen kannst, musst du unbedingt die richtige Beleuchtung auswählen. Wenn einem virtuellen Objekt ein Schatten fehlt oder es ein glänzendes Material hat, das den umgebenden Raum nicht widerspiegelt, können die Nutzenden spüren, dass das Objekt nicht ganz passt, auch wenn sie nicht erklären können, warum. Das liegt daran, dass Menschen unbewusst Signale darüber wahrnehmen, wie Objekte in ihrer Umgebung beleuchtet werden. Die Lighting Estimation API analysiert bestimmte Bilder auf solche Hinweise und liefert detaillierte Informationen zur Beleuchtung einer Szene. Diese Informationen können Sie dann beim Rendern virtueller Objekte verwenden, um sie unter denselben Bedingungen wie in der Szene auszuleuchten, in der sie platziert sind, sodass die Nutzer geerdet und motiviert bleiben.
Hinweise zur Beleuchtung
Die Lighting Estimation API bietet detaillierte Daten, mit denen Sie beim Rendern virtueller Objekte verschiedene Beleuchtungshinweise nachahmen können. Dies sind Schatten, Umgebungslicht, Schattierung, spekulative Spitzlichter und Reflexionen.
Schatten
Schatten sind oft richtungsweisend und zeigen den Zuschauern, woher die Lichtquellen kommen.
Umgebungslicht
Umgebungslicht ist das insgesamt diffuse Licht, das aus der Umgebung eingeht und alles sichtbar macht.
Schattierung
Schattierung bezieht sich auf die Intensität des Lichts. Zum Beispiel können verschiedene Teile desselben Objekts in einer Szene unterschiedliche Schattierungsgrade haben, je nach Winkel relativ zum Betrachter und Nähe zu einer Lichtquelle.
Spekulative Highlights
Spekuläre Spitzlichter sind die glänzenden Teile von Oberflächen, die eine Lichtquelle direkt reflektieren. Hervorhebung eines Objekts im Verhältnis zur Position des Betrachters in einer Szene
Stimmungsprotokoll
Licht reflektiert unterschiedlich von Oberflächen, je nachdem, ob diese spekulative (hochreflexive) oder diffuse (nicht reflektierende) Eigenschaften haben. Zum Beispiel ist eine metallische Kugel stark reflektiert und spiegelt ihre Umgebung wider, während eine andere, mattgrau gestrichene Kugel diffus wirkt. Die meisten realen Objekte weisen eine Kombination dieser Eigenschaften auf – zum Beispiel eine abgeplatzte Bowlingkugel oder eine häufig genutzte Kreditkarte.
Reflexionsflächen nehmen auch die in der Umgebung wirkenden Farben auf. Die Färbung eines Objekts kann direkt von der Färbung seiner Umgebung beeinflusst werden. Ein weißer Ball in einem blauen Raum erhält beispielsweise einen bläulichen Farbton.
HDR-Umgebungsmodus
Diese Modi bestehen aus separaten APIs, die eine detaillierte und realistische Lichteinschätzung für gerichtetes Licht, Schatten, spiegelnde Spitzlichter und Reflexionen ermöglichen.
Der HDR-Modus nutzt maschinelles Lernen, um die Kamerabilder in Echtzeit zu analysieren und Umgebungsbeleuchtung zu synthetisieren, um das realistische Rendern virtueller Objekte zu unterstützen.
Dieser Modus für die Beleuchtungsschätzung bietet Folgendes:
Hauptrichtungslicht: Stellt die Hauptlichtquelle dar. Kann verwendet werden, um Schatten zu werfen.
Sphärische Umgebungsharmoniken. Stellt die verbleibende Umgebungslichtenergie in der Szene dar.
Eine HDR-Cubemap: Kann für Reflexionen in glänzenden metallischen Objekten verwendet werden.
Sie können diese APIs in verschiedenen Kombinationen verwenden, aber sie sind so konzipiert, dass sie zusammen einen möglichst realistischen Effekt erzielen.
Richtungslicht (Hauptlicht)
Die Hauptlicht-API berechnet Richtung und Intensität der Hauptlichtquelle einer Szene. Durch diese Informationen können virtuelle Objekte in Ihrer Szene in angemessener Höhe Spiegellichter einblenden und Schatten in eine Richtung werfen, die anderen sichtbaren, realen Objekten entspricht.
Sehen Sie sich dazu diese beiden Bilder derselben virtuellen Rakete an. Im Bild links ist ein Schatten unter der Rakete zu sehen, aber ihre Richtung stimmt nicht mit den anderen Schatten in der Szene überein. In der Rakete rechts zeigt der Schatten in die richtige Richtung. Das ist ein subtiler, aber wichtiger Unterschied und die Rakete wird in der Szene positioniert, da die Richtung und Intensität des Schattens besser mit anderen Schatten in der Szene übereinstimmen.
Wenn die Hauptlichtquelle oder ein beleuchtetes Objekt bewegt wird, passt die spekulative Markierung am Objekt seine Position in Echtzeit relativ zur Lichtquelle an.
Richtschatten passen auch ihre Länge und Richtung relativ zur Position der Hauptlichtquelle an, genau wie im richtigen Leben. Betrachten Sie zur Veranschaulichung dieses Effekts diese beiden Schaufensterpuppen, eines virtuell und das andere. Die Mannequin auf der linken Seite ist die virtuelle.
Sphärische Umgebungsharmonik
Zusätzlich zur Lichtenergie im direktionalen Hauptlicht erzeugt ARCore sphärische Oberschwingungen, die das gesamte Umgebungslicht darstellen, das aus allen Richtungen einfällt. Nutzen Sie diese Informationen beim Rendern, um subtile Hinweise hinzuzufügen, die die Definition virtueller Objekte verdeutlichen.
Betrachten Sie diese beiden Bilder desselben Raketenmodells. Die linke Rakete wird anhand von Informationen zur Beleuchtungsschätzung gerendert, die von der Main direktionalen Licht-API erkannt wurden. Die Rakete auf der rechten Seite wird anhand von Informationen dargestellt, die sowohl von der Hauptrichtungslicht-API als auch von der API für sphärische Umgebungsgeräusche erkannt werden. Die zweite Rakete bietet deutlich mehr visuelle Definitionen und fügt sich nahtlos in die Szene ein.
HDR-Cubemap
Mit der HDR-Cubemap kannst du realistische Spiegelungen von virtuellen Objekten mit mittlerer bis hoher Glanzkraft, z. B. glänzenden Metalloberflächen, darstellen. Die Cubemap wirkt sich auch auf die Schattierung und Darstellung von Objekten aus. Beispielsweise reflektiert das Material eines spiegelglatten Objekts, das von einer blauen Umgebung umgeben ist, blaue Farbtöne. Die Berechnung der HDR-Cubemap erfordert eine geringe zusätzliche CPU-Berechnung.
Ob Sie die HDR-Cubemap verwenden sollten, hängt davon ab, wie ein Objekt seine Umgebung reflektiert. Da die virtuelle Rakete metallisch ist, hat sie eine starke Spiegelkomponente, die die Umgebung direkt reflektiert. Daher profitiert er von der Cubemap. Andererseits hat ein virtuelles Objekt mit einem mattgrauen, matten Material überhaupt keine Spiegelkomponente. Ihre Farbe hängt hauptsächlich von der diffusen Komponente ab. Eine Cubemap würde hier nicht von Vorteil sein.
Alle drei Environmental HDR APIs wurden verwendet, um die darunterliegende Rakete zu rendern. Die HDR-Cubemap ermöglicht reflektierende Hinweise und weitere Hervorhebungen, die das Objekt vollständig in der Szene platzieren.
Hier sehen Sie dasselbe Raketenmodell in unterschiedlich beleuchteten Umgebungen. Alle diese Szenen wurden mithilfe von Informationen aus den drei APIs mit gerichteten Schatten gerendert.
Umgebungsintensitätsmodus
Der Umgebungsintensitätsmodus bestimmt die durchschnittliche Pixelintensität und die Farbkorrekturskala für ein bestimmtes Bild. Die Umgebung ist grob für Anwendungsfälle, bei denen eine präzise Beleuchtung nicht entscheidend ist, z. B. bei Objekten mit eingebranntem Licht.
Pixel-Intensität
Erfasst die durchschnittliche Pixelintensität der Beleuchtung in einer Szene. Du kannst diese Beleuchtung auf ein ganzes virtuelles Objekt anwenden.
Farbe
Erkennt den Weißabgleich für jeden einzelnen Frame. Anschließend können Sie die Farbkorrektur eines virtuellen Objekts vornehmen, damit es sich besser in die Farbgestaltung der gesamten Szene einfügt.
Umgebungsprüfungen
Umgebungsprüfungen organisieren 360-Grad-Kameraansichten in Umgebungstexturen wie Würfelkarten. Diese Texturen können dann verwendet werden, um virtuelle Objekte realistisch auszuleuchten, z. B. eine virtuelle Metallkugel, die den Raum „reflektiert“, in dem es sich befindet.