Szenenbeleuchtung

Standardmäßig werden die remote gerenderten Objekte mit Himmelslicht beleuchtet. Bei den meisten Anwendungen ist ein statisches Himmelslicht bereits ausreichend, aber Sie können der Szene weitere dynamische Lichtquellen hinzufügen.

Wichtig

Nur PBR-Materialien werden von Lichtquellen beeinflusst. Farbige Materialien und Punktwolken wirken stets vollständig leuchtend.

Hinweis

Schattenwurf wird derzeit nicht unterstützt. Azure Remote Rendering ist so optimiert, dass riesige Mengen von Geometriedaten gerendert werden können, bei Bedarf unter Verwendung mehrerer GPUs. Herkömmliche Ansätze für Schattenwurf funktionieren in solchen Szenarien nicht einwandfrei.

Gemeinsame Eigenschaften von Lichtkomponenten

Alle Lichttypen leiten sich von der abstrakten Basisklasse LightComponent ab und haben diese Eigenschaften gemeinsam:

  • Farbe: Die Farbe des Lichts im Gammabereich. Alpha wird ignoriert.

  • Intensität: Die Helligkeit des Lichts. Bei Punkt- und Spotlicht definiert die Stärke auch, wie weit das Licht strahlt.

Punktlicht

In Azure Remote Rendering kann PointLightComponent nicht nur Licht von einem einzigen Punkt aus abgeben, sondern auch von einer kleinen Kugel oder einer kleinen Röhre, um weichere Lichtquellen zu simulieren.

Eigenschaften von PointLightComponent

  • Radius: Der Standardradius ist Null, in diesem Fall fungiert das Licht als Punktlicht. Wenn der Radius größer als null ist, wirkt es als kugelförmige Lichtquelle, die das Erscheinungsbild spiegelnder Schlaglichter verändert.

  • Length (Länge): Wenn sowohl Length als auch Radius ungleich null sind, wirkt das Licht wie ein Röhrenlicht. Diese Kombination kann zum Simulieren von Neonröhren verwendet werden.

  • AttenuationCutoff: Bei Belassen auf (0,0) hängt die Lichtabnahme des Lichts nur von dessen Intensity ab. Sie können jedoch benutzerdefinierte Mindest- und Höchstabstände angeben, über die die Lichtstärke linear auf 0 verringert wird. Dieses Feature kann verwendet werden, um einen kleineren Einflussbereich eines bestimmten Lichts zu erzwingen.

  • ProjectedCubemap: Bei Festlegung auf eine gültige Cubemap wird die Textur auf die umgebende Geometrie des Lichts projiziert. Die Farbe der Cubemap wird mit der Farbe des Lichts moduliert.

Spotlicht

SpotLightComponent ist PointLightComponent ähnlich, aber das Licht ist auf die Form eines Kegels beschränkt. Die Ausrichtung des Kegels wird durch die negative z-Achse der Entität des Besitzers definiert.

Eigenschaften von SpotLightComponent

  • Radius: Identisch mit PointLightComponent

  • SpotAngleDeg: Dieses Intervall definiert den inneren und äußeren Winkel des Kegels, gemessen in Grad. Alles innerhalb des Innenwinkels wird mit maximaler Helligkeit beleuchtet. Zum äußeren Winkel hin wird eine Abschwächung angewendet, die einen halbschattenartigen Effekt erzeugt.

  • FalloffExponent: Definiert, wie stark der Falloffübergang zwischen dem inneren und dem äußeren Kegelwinkel erfolgt. Ein höherer Wert führt zu einem schärferen Übergang. Der Standardwert 1,0 führt zu einem linearen Übergang.

  • AttenuationCutoff: Identisch mit PointLightComponent

  • Projected2dTexture: Bei Festlegung auf eine gültige 2D-Textur wird das Bild auf Geometrie projiziert, auf die das Licht leuchtet. Die Farbe der Textur wird mit der Farbe des Lichts moduliert.

Gerichtetes Licht

DirectionalLightComponent simuliert eine Lichtquelle, die unendlich weit entfernt ist. Das Licht strahlt in die Richtung der negativen z-Achse der Entität des Besitzers. Die Position der Entität wird ignoriert.

Es gibt keine weiteren Eigenschaften.

Überlegungen zur Leistung

Lichtquellen haben einen erheblichen Einfluss auf die Renderingleistung. Verwenden Sie sie mit Bedacht und nur dann, wenn es die Anwendung erfordert. Alle statischen globalen Lichtverhältnisse, einschließlich einer statischen gerichteten Komponente, können mit einer benutzerdefinierten Himmelstextur ohne zusätzliche Renderingkosten erreicht werden.

API-Dokumentation

Nächste Schritte