Come viene implementata l'illuminazione 2D?


58

Mi chiedo quale sia il modo migliore per affrontare un effetto di "illuminazione" nei giochi 2D. Ad esempio, se il mio personaggio principale brilla, quali tecniche posso usare per completare l'effetto visivo del personaggio che brilla quando è vicino ad altri oggetti che sarebbero interessati dalla luce?

Risposte:


39

È possibile sovrapporre una semplice trama ad effetto bagliore con bordi trasparenti morbidi. Se vuoi luci / ombre simili a quelle che potresti trovare in un mondo 3d potresti fare qualcosa del genere: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d-shadows / . Tuttavia, se non conosci HLSL, potrebbe essere un po 'troppo.

modifica : mi sono imbattuto in un bel tutorial HTML5 2D sulla luce


Quel link è esattamente quello che stavo cercando. Non posso ringraziarti abbastanza; questo è estremamente utile.
Christopher Horenstein,

7

C'è un progetto XNA open-source che è un'eccellente libreria e implementazione di illuminazione 2D che sembra essere compatibile con il profilo Reach di XNA 4.0 - Krypton XNA .


4

Avresti bisogno di un effetto shader postfiltro scritto in HLSL o GLSL. Lo shader riceve le coordinate del giocatore e modifica la luminosità di tutti i pixel in un determinato intervallo. XNA supporta abbastanza bene gli shader 2D.

Un'altra soluzione sarebbe quella di simulare la luminosità usando una trama con un canale alfa. La trama sarebbe per lo più nera ad eccezione di una macchia trasparente nel mezzo. Questa trama ci sovrappone allo schermo del gioco con il punto trasparente centrato sul personaggio del giocatore "luminoso". I vecchi giochi di avventura utilizzavano questa tecnica per simulare le torce.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.