Die richtige Beleuchtung

Plattformspezifische Leitfäden

Um realistische AR-Erlebnisse zu schaffen, ist es wichtig, die richtige Beleuchtung einzustellen. Wenn ein virtuelles Objekt keinen Schatten hat oder ein glänzendes Material hat, das den umgebenden Raum nicht widerspiegelt, können Nutzende spüren, dass das Objekt nicht ganz passt, auch wenn sie nicht erklären können, warum. Das liegt daran, dass Menschen unbewusst Hinweise darauf wahrnehmen, wie Objekte in ihrer Umgebung beleuchtet werden. Die Lighting Estimation API analysiert gegebene Bilder auf solche Hinweise und liefert detaillierte Informationen zur Beleuchtung in einer Szene. Diese Informationen können Sie dann beim Rendern virtueller Objekte verwenden, um sie unter denselben Bedingungen wie die Szene zu beleuchten, in der sie platziert sind. So bleiben die Nutzer verankert und interessiert.

Hinweise zur Beleuchtung

Die Lighting Estimation API bietet detaillierte Daten, mit denen Sie beim Rendern virtueller Objekte verschiedene Lichtsignale nachahmen können. Dies sind Schatten, Umgebungslicht, Schattierungen, spiegelnde Spitzlichter und Reflexionen.

Schatten

Schatten dienen häufig dazu, den Betrachtern zu zeigen, woher die Lichtquellen kommen.

Umgebungslicht

Umgebungslicht ist das diffuse Licht, das aus der Umgebung einfällt, sodass alles sichtbar wird.

Schattierung

Schattierung ist die Intensität des Lichts. Verschiedene Teile desselben Objekts können beispielsweise unterschiedliche Schattierungen in derselben Szene haben, abhängig vom Winkel relativ zum Betrachter und seiner Nähe zu einer Lichtquelle.

Spekuläre Highlights

Spiegelreiche Spitzlichter sind die glänzenden Stücke von Oberflächen, die eine Lichtquelle direkt reflektieren. Die Highlights auf einem Objekt ändern sich relativ zur Position des Betrachters in einer Szene.

Stimmungsprotokoll

Das Licht wird unterschiedlich von Oberflächen reflektiert, je nachdem, ob die Oberfläche reflektierende (stark reflektierende) oder diffuse (nicht reflektierende) Eigenschaften hat. Eine Metallkugel ist beispielsweise stark spiegeln und ihre Umgebung reflektieren, während eine andere Kugel, die matt grau gestrichen ist, diffus wirkt. Die meisten realen Objekte haben eine Kombination dieser Eigenschaften. Denken Sie an eine zerstückelte Bowlingkugel oder eine gut verwendete Kreditkarte.

Reflektierende Oberflächen nehmen auch Farben aus der Umgebung auf. Die Färbung eines Objekts kann direkt von der Färbung seiner Umgebung beeinflusst werden. Beispiel: Ein weißer Ball in einem blauen Raum nimmt einen bläulichen Farbton an.

Umgebungs-HDR-Modus

Diese Modi bestehen aus separaten APIs, die eine detaillierte und realistische Einschätzung der Beleuchtung von Richtungslicht, Schatten, spekulative Spitzlichter und Reflexionen ermöglichen.

Der Umgebungs-HDR-Modus nutzt maschinelles Lernen, um die Kamerabilder in Echtzeit zu analysieren und das Umgebungslicht zu synthetisieren, um eine realistische Darstellung virtueller Objekte zu ermöglichen.

Dieser Modus zur Beleuchtungseinschätzung bietet Folgendes:

  1. Richtlicht: Stellt die Hauptlichtquelle dar. Kann verwendet werden, um Schatten zu werfen.

  2. Sphärische Umgebungsgeräusche: Stellt die verbleibende Umgebungslichtenergie in der Szene dar.

  3. Eine HDR-Cubemap Kann verwendet werden, um Reflexionen in glänzenden metallischen Objekten zu rendern.

Sie können diese APIs in verschiedenen Kombinationen verwenden, sie wurden jedoch so konzipiert, dass sie zusammen verwendet werden, um einen möglichst realistischen Effekt zu erzielen.

Hauptrichtungslicht

Die Hauptlicht-API berechnet die Richtung und Intensität der Hauptlichtquelle der Szene. Diese Informationen ermöglichen es virtuellen Objekten in Ihrer Szene, angemessen positionierte reflektierende Spitzlichter anzuzeigen und Schatten in eine Richtung zu werfen, die mit anderen sichtbaren realen Objekten übereinstimmt.

Sehen Sie sich diese beiden Bilder derselben virtuellen Rakete an, um zu sehen, wie das funktioniert. 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 rechten Rakete zeigt der Schatten in die richtige Richtung. Dies ist ein subtiler, aber wichtiger Unterschied, der die Rakete in der Szene stützt, weil Richtung und Intensität des Schattens besser mit anderen Schatten in der Szene übereinstimmen.

     

Wenn die Hauptlichtquelle oder ein beleuchtetes Objekt in Bewegung ist, passt die spiegelnde Hervorhebung auf dem Objekt seine Position in Echtzeit relativ zur Lichtquelle an.

Bei gerichteten Schatten werden außerdem Länge und Richtung relativ zur Position der Hauptlichtquelle angepasst, genau wie in der realen Welt. Um diesen Effekt zu veranschaulichen, betrachten Sie diese beiden Schaufensterpuppen, eine virtuell und die andere real. Die Schaufensterpuppe links ist die virtuelle.

Sphärische Umgebungsgeräusche

Zusätzlich zur Lichtenergie des Hauptrichtungslichts liefert ARCore sphärische Oberschwingungen, die das gesamte Umgebungslicht darstellen, das aus allen Richtungen in die Szene einfällt. Verwenden 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 primären Richtungslicht-API erkannt wurden. Die rechte Rakete wird mit Informationen gerendert, die von der Hauptrichtungslicht-API und den sphärischen Oberschwingungseffekten der Umgebung erkannt werden. Die zweite Rakete hat eine deutlich bessere visuelle Definition und fügt sich nahtlos in die Szene ein.

     

HDR-Cubemap

Mit der HDR Cubemap kannst du realistische Spiegelungen auf virtuellen Objekten mit mittlerem bis hohem Glanz wie glänzenden metallischen Oberflächen rendern. Die Cubemap beeinflusst auch die Schattierung und Darstellung von Objekten. Das Material eines spiegelnden Objekts in einer blauen Umgebung reflektiert beispielsweise blaue Farbtöne. Die Berechnung der HDR Cubemap erfordert wenig zusätzlichen CPU-Aufwand.

Ob Sie die HDR Cubemap verwenden sollten, hängt davon ab, wie ein Objekt seine Umgebung widerspiegelt. Da die virtuelle Rakete metallisch ist, hat sie eine starke Spiegelkomponente, die die Umgebung um sie direkt reflektiert. Daher nutzt es die Cubemap. Andererseits hat ein virtuelles Objekt mit einem matten, grauen, matten Material keine Spiegelkomponente. Ihre Farbe hängt hauptsächlich von der diffusen Komponente ab und eine Cubemap wäre hier nicht von Vorteil.

Alle drei Environmental HDR APIs wurden zum Rendern der Rakete unten verwendet. Die HDR-Cubemap aktiviert die reflektierenden Hinweise und hebt so das Objekt hervor, das sich vollständig in der Szene befindet.

Hier sehen Sie dasselbe Raketenmodell in Umgebungen mit unterschiedlicher Beleuchtung. Alle diese Szenen wurden unter Verwendung von Informationen aus den drei APIs mit gerichteten Schatten gerendert.

           

Umgebungsintensitätsmodus

Der Modus „Umgebungsintensität“ bestimmt die durchschnittliche Pixelintensität und die Farbkorrekturskalare für ein bestimmtes Bild. Die grobe Einstellung eignet sich für Anwendungsfälle, bei denen eine präzise Beleuchtung nicht entscheidend ist, z. B. Objekte mit eingebrannter Beleuchtung.

Pixelintensitä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 Farben eines virtuellen Objekts korrigieren, sodass es sich reibungsloser in die Gesamtfarbe der Szene einfügt.

Umgebungsprüfungen

Umgebungsprüfungen organisieren 360-Grad-Kameraansichten in Umgebungstexturen wie Cube Maps. Diese Texturen können dann verwendet werden, um virtuelle Objekte wie eine virtuelle Metallkugel realistisch zu beleuchten, die den Raum „reflektiert“, in dem sie sich befindet.