Ich frage mich, was der beste Weg ist, um einen "Beleuchtungseffekt" in 2D-Spielen zu erreichen. Wenn zum Beispiel meine Hauptfigur leuchtet, welche Techniken kann ich verwenden, um den visuellen Effekt der leuchtenden Figur zu vervollständigen, wenn sie sich in der Nähe anderer Objekte befindet, die vom Licht beeinflusst werden würden?
quelle
Es gibt ein Open-Source-XNA-Projekt, das eine hervorragende Bibliothek und Implementierung von 2D-Beleuchtung ist, die mit dem Reach-Profil von XNA 4.0 kompatibel ist - Krypton XNA .
quelle
Sie benötigen einen Postfilter-Shader-Effekt, der in HLSL oder GLSL geschrieben ist. Der Shader empfängt die Player-Koordinaten und ändert die Helligkeit für alle Pixel in einem bestimmten Bereich. XNA unterstützt 2D-Shader recht gut.
Eine andere Lösung wäre die Simulation der Helligkeit mithilfe einer Textur mit einem Alpha-Kanal. Die Textur wäre größtenteils schwarz bis auf einen transparenten Fleck in der Mitte. Diese Textur überlagert Ihren Spielbildschirm mit dem transparenten Fleck, der auf dem leuchtenden Spielercharakter zentriert ist. Alte Abenteuerspiele verwendeten diese Technik, um Taschenlampen zu simulieren.
quelle
Nach einigem Suchen schien dieser Blog ein guter Anfang zu sein:
http://www.soolstyle.com/2010/02/15/2d-deferred-lightning/
Lesen Sie unbedingt die Kommentare, da es dort einige Verbesserungen gibt, aber der Blog-Beitrag wird Ihnen den Einstieg erleichtern :).
quelle