Voir la version complète : [PSP][Aide] Halo
Bonjour à tous. :busted_bl
Bon voici l’un des mes problèmes actuel. Je souhaite mettre de beaux effets de lumières dans mon jeu (un peu comme tout le monde, j’imagine). :roll1:
J’ai donc fait des test visuel sur Photoshop et j’aimerai savoir s’il est possible, pour le commun des mortels, de reproduire l’effet « lueur externe» de Photoshop (un jolie halo lumineux). :bave:
J’ai essayé de m’en approcher sur PSP, mais le seul moyen trouvé pour créer le halo est de rajouter une couleur entourant mon objet (un éclair sur la photo) et de la rendre un peu moins opaque. Malheureusement ça ne rend pas aussi bien (on s’en serait douté :whst:). :ranting:
Bref si quelqu’un voit un moyen , autre qu’un algorithme complexe qui diminuerait progressivement l’opacité au fur à mesure qu’on s’éloigne de la source lumineuse. (En fait, pourquoi pas) :shock:
http://img216.imageshack.us/img216/4366/eclairta1.jpg
Sur la photo, le halo de gauche est fait avec Photoshop. L’éclair de droite est simplement fait en rendant transparent une couleur entourant l’éclair. :huh:
Merci d’avance.
Sinon, il y a deux ou trois truc sur lesquels j’hésite. Dois-je créer un topic par sujet (ça serait logique, mais ça multiplierait les sujets) ou alors toutes les poser dans le même, ce qui réduit les sujets mais est un peu bordélique et ne facilite pas la recherche pour les lecteurs. :ninja:
un algorithme complexe qui diminuerait progressivement l’opacité au fur à mesure qu’on s’éloigne de la source lumineuse.
Photoshop peut pas te générer ça ?
Juste l'image des éclairs, mais avec l'halo de plus en plus transparent.
Avec oslib tu peux afficher des images PNG avec leur canal alpha ;)
Et oui, un topic par question. Il n'y a pas de limite au nombres de sujets, c'est les doublons qu'il faut éviter :)
Je ne pensais réellement pas avoir une réponse aussi rapide, merci. :zorro:
Je n’avais pas pensé à modifier le niveau de transparence d’une seule couleur d’une image, ça va être plus simple que de la superposer à une autre image transparente. :roll1:
Mais pour être vraiment efficace (comme dans Photoshop) il faudrait utiliser plusieurs niveaux de transparence pour une seule image. En faite, plus on s’éloigne de la source de lumière et plus l’image (le halo) doit être transparente. :hmm:
Je ne sais pas si c’est possible d’exporter ça avec Photoshop. A la limite avec un masque en dégrader permettant de définir plusieurs niveau de transparence (j’ai vu dans la doc qu’on peut utiliser des masques avec OSLib, mais n’ai pas encore essayé). :wallbash:
Mais là je chipote, j’imagine que, comme l’animation est rapide et que les éclaires sont fins personnes ne remarquera que le halo de la source lumineuse n’est juste qu’une couleur un peu transparente. :ange:
Et puis sur l’image des éclairs ça va encore. Mais pour les flammes dont la lueur est rouge, ça fait tout de suite moins bien. Pour les barres de vie, la comparaison ne se fait même pas. :cry:
La flamme de gauche a une lueur faite avec la « lueur externe » de Photoshop et celle de droite avec une simple modification de la transparence du contour.
http://img106.imageshack.us/img106/6217/exemplefeusa3.jpg
Le menu du haut est fait avec … bah, là c’est même pas la peine d’expliquer tellement c’est flagrant.
http://img87.imageshack.us/img87/881/melkiorbarrevieof7.jpg
Bref merci d’avance si quelqu’un qui a réussi a reproduire ce genre d’effet dans son jeu peut m’expliquer. :papanoel:
Ass-Itch
10/05/2008, 13h16
La deuxième barre de vie reproduit bien l'effet que tu veux obtenir non ? Ou alors je n'ai pas tout compris... En tout cas je n'ai jamais eu de problème a reproduire mes effets de transparence photoshop avec OSlib, un export PNG 24 bits reproduit tout parfaitement.
Merci Ass-Itch, si ça marche, c’est génial (c’est quoi ce pseudo lol ?) :bravo:
J’ai cherché, et un PNG 24 bits permet d’avoir un canal Alpha pour chacun des pixels. :bave:
Donc, pour ceux que ça intéresse, il faut enregistrer l’image en allant dans « Fichier » puis « enregistrer pour le web » et enfin dans les paramètre choisir « PNG » et « 24 bits » "entrelacé". :ninja3:
J’ai donc enregistré mon image et ai testé sur ma PSP. Malheureusement la partie sensée être transparente est complètement opaque. Ai-je oublié quelque chose lorsque j’ai créé l’image ou dois-je utiliser une fonction particulière de OSLib ? :cry:
Merci d’avance. :emoticon_
Excellent ça marche, le petit Melkior est heureux (il ne lui faut pas grand-chose, mais ça rend trop bien lol). :bave: :roll1:
Pour ceux que ça intéresse il faut modifier les paramètres lors de la création de l’image et utiliser les paramètres pour les images 32 bits. :graduated
Extrait de la documentation : :notworthy
- OSL_PF_8888: 32 bits par pixel, 8 composantes de rouge, vert, bleu et alpha. La composante alpha sert à définir l'opacité d'un pixel (255=opaque, 0=transparent).
- OSL_PF_5650: 16 bits par pixel, 5 composantes de rouge, 6 composantes de vert, 5 composantes de bleu et 0 d'alpha. Ces images ne devraient pas être utilisées pour les sprites ou les maps notamment, car elles peuvent pas avoir de partie transparente puisqu'elle n'ont pas de composante alpha.
- OSL_PF_5551: 16 bits par pixel, 5 composantes de rouge, vert et bleu, et 1 composante d'alpha, qui permet juste de dire si le pixel est transparent ou affiché. Utile pour les sprites simples.
- OSL_PF_4444: 16 bits par pixel, 4 composantes de rouge, vert, bleu et alpha. Ces images ont une étendue de couleurs assez limitée (4096 couleurs), mais elles permettent de définir 16 niveaux de transparence par pixel.
- OSL_PF_8BIT: 8 bits par pixel, indexé sur une palette.
- OSL_PF_4BIT: 4 bits par pixel, indexé sur une palette.
Ce qui donnera un truc du genre :
imgMenu = oslLoadImageFilePNG("res/ZoomMenu.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_8888);
au lieu de :
imgMenu = oslLoadImageFilePNG("res/ZoomMenu.png", OSL_IN_RAM | OSL_SWIZZLED, OSL_PF_5551);
Bref merci à tous, mon jeu sera vraiment très beau. :dblthumb:
vBulletin® v.3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org