Partage
  • Partager sur Facebook
  • Partager sur Twitter

[slick2D] Problème d'éclairage.

besoin de vos lumières...

    2 mai 2012 à 19:23:27

    Amis zéros, bien le bonsoir!

    Je développe actuellement un petit framework basé sur slick2d pour pouvoir être en mesure de développer mon jeu rapidement et facilement. Pas mal d'éléments sont déjà en place mais je me heurte actuellement à un problème de taille. Je ne sais pas du tout comment gérer simplement les lumières en slick. Je voudrais pouvoir créer des ambiances de nuit avec des lampes allumées, des ombres, tout ça, mais je ne sais pas du tout comment m'y prendre.
    Je sais qu'il existe déjà quelques topics sur le sujet (croyez-moi, je me suis renseigné...) mais je n'ai pas vraiment réussi à obtenir de réponse satisfaisante. Si quelqu'un (JohnCarmack par exemple ou quelqu'un d'autre ;) ) pouvait m'aider en me fournissant un début de piste, ce serait formidable!

    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      3 mai 2012 à 13:33:03

      C'est quel type de jeu ? Ton monde est modélisé par des tiles ?
      Si c'est le cas tu peux ne pas trop t'embêter et utiliser ces tiles pour faire un système d'éclairage simple.
      • Partager sur Facebook
      • Partager sur Twitter
        3 mai 2012 à 15:29:30

        Merci de ta réponse!

        C'est effectivement modélisé par des tiles. Quelle est ton idée ?
        • Partager sur Facebook
        • Partager sur Twitter
          3 mai 2012 à 16:01:53

          Tu peux attribuer un niveau de lumière à tes tiles entre 0 (noir complet) et 255 (visibilité totale) qui varie en fonction de leur proximité à une/des sources de lumière.
          Ca fonctionne un peu comme un calque dans un logiciel de traitement d'image.

          Après c'est à toi de jauger l'intensité de tes sources de lumière pour pas qu'une torche éclaire jusqu'au bout du monde, tu gères la luminosité de manière dégréssive afin d'obtenir des "halos" de lumière autour de tes sources lumineuses.

          Dans le cas où la même zone est éclairée par plusieurs sources, tu fais un petit calcul de manière à ce que les valeur s'ajoute (sans dépasser 255).

          Sinon conceptuellement tu peux faire une classe LightSource dont tu fais hériter tes différentes sources (torche, feu de bois, etc), et à chaque itération de ta boucle principale tu mets à jour le niveau de luminosité de tes tiles si nécessaire.

          Tu peux certainement jouer sur la valeur alpha de tes sprites/tiles, je ne sais pas vraiment comment fonctionne Slick à ce sujet.
          • Partager sur Facebook
          • Partager sur Twitter
            5 mai 2012 à 11:18:55

            Le problème est que ça risque de me faire des contours de lumières un "cubiques", non? Même si je règle le alpha... Je cherche plutôt une solution qui me permettrait d'utiliser des calques par dessus ma map ou quelque chose dans le genre. J'ai vu qu'on pouvait utiliser le graphics de slick en mode alpha map et en mode blend. Je pense que le salut peut venir de là. Après je ne sais pas encore vraiment comment utiliser ces modes...
            • Partager sur Facebook
            • Partager sur Twitter
              8 mai 2012 à 9:31:15

              Tu cherches à faire du smooth lighting, je ne saurais pas t'aider. Tu peux regarder du coté du moteur de lumière du projet amateur HolySpirit : Act of Faith. Ils avaient rédigé un article assez détaillé dessus. C'est écrit en C++ avec SFML donc c'est pas trop éloigné du java.
              Good luck.
              • Partager sur Facebook
              • Partager sur Twitter
                9 mai 2012 à 18:55:26

                Excuse moi Firnael, mais HolySpirit n'a rien à voir avec ca : c'est de la 3D. Or gérer la lumière en 2D et en 3D est totalement différent.

                Tu es en 2D ou en 2D isométrique ?
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mai 2012 à 9:29:04

                  HolySpirit est en 2D dimétrique, get your facts straight (cf le lien plus bas).

                  J'ai retrouvé l'article dont je parlais plus haut : http://gregouar.developpez.com/tutorie [...] ynamiques-2d/
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mai 2012 à 14:11:26

                    Je suis en 2d classique. J'ai beaucoup avancé dans la gestion des lumières et je parviens maintenant à l'intégrer de manière efficace dans mon moteur slick perso. Mon principal problème réside maintenant dans la gestion des ombres, très délicates à gérer de façon dynamique. Cela concerne aussi les performances, lorsqu'un certain nombre d'entités annimables est affiché à l'écran, le FPS commence à tourner autour de 30 ce qui n'est pas bon, d'autant plus qu'il me reste encore beaucoup de travail pour rendre mon moteur exploitable.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 mai 2012 à 10:28:18

                      Combien d'entités as tu à l'écran pour faire chuter ton FPS a 30? o_O
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 mai 2012 à 12:06:52

                        Il faut quand même qu'il y ait foule, hein. Genre 200 ou plus mais c'est pour le principe.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [slick2D] Problème d'éclairage.

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown