Lichtfunktionen sind im Grunde ein Material, das angewendet werden kann, um die Intensität einer Lichtquelle zu filtern.
Zu beachten ist aber, dass du die Lichtfarbe mit einer Lichtfunktion nicht ändern kannst. Das ist nur über die Lichtfarbe-Einstellung möglich. Außerdem können statische Lichtquellen keine Lichtfunktionen verwenden, da diese Funktion nur für Lichtquellen ohne Lightmap-Zuordnung verfügbar ist, wie zum Beispiel bei stationären und beweglichen Lichtquellen.
In dem folgenden Bild verwendet ein Material Panner- und Skalarparameter-Knoten, um eine Textur zu verschieben und gleichzeitig einen Flackerneffekts zu generieren.
Klicke auf das Bild für volle Größe.
Erstellen einer Lichtfunktion
Du kannst eine Lichtfunktion erstellen, indem du die Material-Domain eines Materials für die Verwendung des Lichtfunktion-Attributs einrichtest.
Anwenden einer Lichtfunktion
Du kannst eine Lichtfunktion über den Detail-Panel unter der Einstellung Lichtfunktion-Material auf eine Lichtquelle anwenden.
Bekannte Probleme und häufige Fragen
Im Folgenden werden bekannte Probleme bei der Verwendung von Lichtfunktionen mit dem Vorwärtsrenderer beschrieben.
- Lichtfunktionen funktionieren nur, wenn der Schattenwurf aktiviert ist: Das liegt daran, dass FScene::AssignAvailableShadowMapChannelForLight den schattenwerfenden Lichtquellen nur einen Schattenkartenkanal zuweist. Lichtfunktionen müssen in einer Schattenkarte gerendert werden, damit sie in den Basisdurchlauf im Vorwärtsrenderer übergeben werden.
- Lichtfunktionen funktionieren nur, wenn es ein schattenwerfendes Objekt gibt: Das ist der Fall, weil FDeferredShadingSceneRenderer::RenderForwardShadowProjections die Lichtquelle außer im Fall VisibleLightInfo.ShadowsToProject.Num() > 0 überspringt.