Une lampe torche et des lampes aux murs

Bonjour,

J’essaye de trouver une solution pour créer des effets de lumières dans un jeu de plateforme.
En gros ça serait un silent hill en 2D. Les scènes sont représentées dans la pénombre ou le noir total. Cependant le perso possède une lampe torche qui l’éclair légèrement et qui éclair (sur une certaine distance) les objets se trouvant devant lui. Deuxièmement, en parcourant le niveau, le perso peut parfois tomber dans des pièces un peu plus éclairées par exemple via un chandelier. A ce moment là, l’effet de la lampe torche ne s’appliquerai plus, jusqu’à ce que le perso sorte de la zone éclairée.

Avez-vous une idée comment réaliser ce type de scène ?
Mes solutions infructueuses sont :

  • Mettre une grande plaque noire semi opaque sur toute la scène. Créer un objet qui suit le perso en forme de halo/rayon de la lampe torche et qui rendrait transparent la plaque noire. Laissant ainsi apparaitre les éléments derrière la plaque.  infructueux car je ne trouve pas d’action type faire disparaitre localement une partie d’un objet.
  • Autre solution, créer une plaque noire avec au centre un trou transparent en forme de halo/rayon de lumière (lampe torche) et faire que cette plaque suive le perso dans ses déplacements. Cette solution un peu bancale pourrait fonctionner mais le problème se poserait lorsque le perso entrerait dans des zones éclairées. Car la zone noire autour du halo de la lampe viendrait cacher la lumière de la zone éclairée.

Bon je m’arrête là avec toutes ces solutions par terrible en espérant que vous suivez toujours.

Je pense que l’idéal serait la solution 1, un objet A « halo de lampe » suit le perso, lorsque l’objet A entre en contact avec un objet B « plaque noire », la zone de contact entre A et B devient transparente et laisse apparaitre ce qu’il y a derrière B. Cet objet A pourrait également être utilisé pour les lampes aux murs.

D’avance merci pour votre aide

Je ne sais pas si tu as joué à mon jeu “Bloody zombies !”, parce que le principe d’éclairage que j’ai utilisé pourrait t’aider :

  • Mettre une grande image noire avec un “trou” au milieu en dégradé qui suit le joueur
  • Si le joueur tire ou si il est proche d’une source de lumière, faire baisser l’opacité de l’objet “obscurité”, voire le faire disparaître.
  • Tu peux même faire plusieurs images pour l’objet “obscurité” où le “trou” sera plus ou moins grand, pour adapter en fonction de l’intensité des lumières simulées.

Voilà, je sais pas si j’ai été suffisamment clair ! :stuck_out_tongue:

Merci pour ton aide, ta solution est intéréssante, je vais tester à moins que 4ian ou un autre membre du forum n’est quelque chose de mieux à me proposer.

Le plus simple est d’utiliser le principe comme dans “Bloody zombies !”, c’est à dire une image noire, avec des zones plus ou moins transparentes.
Ensuite tu affiche cette image grâce à un objet dessus tous les autres objets, et tu a un joli effet, réglable en intensité en modifier l’opacité de l’objet.

Dans ton image, tu peut aussi prévoir une zone transparente en forme d’un faisceau de lumière émis par ta lampe torche. Ensuite dans le jeu, tu peut ensuite diriger ton objet en fonction de la direction de la lampe torche.