❤ 1Gari J'expose ici une technique que j'ai bidouillée, qui permet d'afficher un, voire plusieurs halos mobiles, ainsi qu'un halo ou ensemble de halos sur des lampes ou éléments lumineux, en utilisant simultanément les modes de fusion Ajouter et Soustraire.
En effet, RMVX Ace --la version utilisée ici-- permet de créer facilement un halo de vision autour du héros, ou des halos de vision autour d'éléments fixes ; cependant, créer des halos qui peuvent bouger les uns par rapport aux autres n'est pas aussi simple à créer. C'est cela que cette technique permet de créer.
NOTES PRÉLIMINAIRES
Limites de la technique : Plusieurs images en mode de fusion "Addition" superposées vont donner une brillance forte qui tend vers le blanc (donc obstrue la vision).
Une luminosité maximale n'est pas possible, la luminosité maximale avec un bon rendu sera d'environ 50%.
J'entends ici par "Halo" un endroit rond éclairé parmi la pénombre. Je conseille d'utiliser une brosse à taille ajustable sur votre éditeur-d'image-gérant-la-transparence favori, et d'utiliser la même pour tous les halos. Le halo peut avoir des bords durs ou flous selon ce que vous souhaitez.
INGRÉDIENTS
Il nous faut :
•Une grosse image blanche de la taille de l'écran (544x416 sur VX Ace), comportant des "trous" sous forme de halos aux endroits qui vous intéressent (je conseille d'en faire une spécifiquement pour la map, de la taille de la map).
↓ Exemple utilisé ici ↓
Spoiler (cliquez pour afficher)
•Une image de type "halo", de couleur très claire, de la taille désirée. J'utilise ici une image jaune à bord flous
•Deux numéros d'image + un numéro d'image par halo mobile
•Deux variables par élément mobile + deux variables pour l'image fixe
LA MÉTHODE
1
Tout d'abord, on va afficher l'ombre fixe, pour cela nous allons utiliser notre image blanche trouée aux endroits des points lumineux. Il est préférable que cette image possède une opacité maximale de 50% ou 127***.
Ici, ce sera celle-ci
•Il faut l'afficher en "sandwich". C'est à dire que, au lieu de l'afficher une fois au-dessus OU au-dessous des halos mobiles, nous allons l'afficher À LA FOIS en dessous ET au dessus, mais avec une opacité divisée par deux (puisqu'il y a deux images).
Il faut donc utiliser un numéro d'image élevé, et un bas. Par exemple, si je veux afficher 3 halos mobiles, j'utiliserais les numéros d'image 2 et 2 + 3 + 1 = 6. Les numéros entre le 2 et le 6 seront mes halos mobiles.
•Le mode de fusion doit être "SOUSTRAIRE", puisque votre image est blanche. Si on soustrait du blanc à n'importe quelle couleur, ça donne du noir, hors c'est ce qu'on veut produire ici.
•L'opacité doit être la moitié de ce que vous voulez obtenir à la fin, puisque vous avez deux images superposées.
Ici, on veut une opacité finale de 255 au endroit les plus sombres, il faut donc 255 / 2 = 127.5 d'opacité.
•L'image doit être placée par rapport à la map, il faut donc qu'elle se déplace avec elle. Si votre image fait bien la taille de la map, vous devriez pouvoir créer un évènement à l'extrémité haut-gauche de celle-ci et recueillir sa position X et Y par rapport à l'écran dans 2 variables qu'on nommera X lumière fixe et Y lumière fixe. Il faut ensuite enlever 16 à X et 28 à Y (32 à Y si son nom de fichier visuel a un ! au début) afin qu'elles correspondent bien à l'angle haut-gauche de la map, et non au centre de l'évènement situé en haut à gauche de la map (le point d'origine des coordonnées d'un évènement à l'écran correspondent à ses coordonnées [16,28] ; et [16,32] si le fichier du visuel de l'évènement commence par un ! ).
La fenêtre d'affichage d'image.
Les 4 champs dont je parle au-dessus sont entourés
L'évènement situé en haut à gauche de la map.
On le laisse tourner en processus parallèle.
Il peut être préférable de mettre un temps d'attente de moins de 5 frames.
On obtient ceci.
2
Seconde et dernière partie, nous allons afficher les halos mobiles au-dessus des entités qui nous intéressent. Ici on en affichera un sur le héros.
Image utilisée pour les halos mobiles. Faites attention à ce qu'elle soit bien centrée !
•Ces images seront affichées entre la couche supérieure et la couche inférieure du "sandwich".
Ici, on a choisi d'utiliser les numéros d'images 2 et 6 pour l'image fixe, nous pouvons donc utiliser les numéros d'images 3, 4 et 5 pour afficher les halos mobiles.
•Le mode de fusion doit être "AJOUTER". En effet, si on soustrait, puis qu'on ajoute, on obtient en théorie quelque chose de nul (c'est un peu plus compliqué que ça, mais bon ça marche plus ou moins alors chut).
•L'opacité dépendra du nombre de halos qui peuvent se superposer.
En effet, plus l'opacité se rapprochera de 255, et plus le halo sera opaque. Si vous ajoutez deux halos de 120 d'opacité chacuns, l'opacité totale sera de 240, ce qui est élevé, mais correct (on pourra avoir une impression d'être ébloui en jeu, ce qui se justifie puisque vous êtes dans le noir).
L'opacité que vous choisissez est un peu un compromis entre visibilité du halo seul et visibilité des halos superposés.
J'utilise ici une opacité de 120, je déconseille d'utiliser plus.
***. Il est préférable que votre image fixe possède la même opacité dans ses "trous" que l'opacité que vous mettrez à vos halos mobiles, afin d'améliorer le rendu final. En effet, si les trous sont trop lumineux, les halos mobiles auront l'air très faibles en comparaison, et éblouiront plus lors d'une superposition des halos.
N'hésitez pas à tester différentes opacités !
•L'image doit avoir une origine centrée.
•L'image doit être placée aux coordonnées X écran et Y écran de votre évènement mobile, il vous faut donc récolter ces données (il faut réajuster le Y en lui soustrayant 4 si le fichier du visuel de l'évènement commence par un !). Ici je les ai nommées X écran et Y écran.
La fenêtre d'affichage d'image.
Les 5 champs dont je parle au-dessus sont --encore-- entourés
Exemples de halos superposés ; en haut avec une opacité de 80 et en bas avec une opacité de 120.
On voit qu'une opacité élevée donne une impression de brillance lors d'une superposition, tandis qu'une opacité faible donne une impression de faible luminosité sans superposition.
À vous de choisir l'opacité qui vous convient le mieux.
Les halos mobiles seront également bien plus brillants que les halos "trous" une fois superposés.
Vous disposez normalement de toutes les informations nécessaires pour réaliser un système d'éclairage du genre ! Bonne chance !
Voilà un rendu possible, avec une variation de l'opacité et de la taille du halo sur le joueur en fonction de l'appui sur une touche.
On remarque que le halo sur le PNJ est peut-être trop opaque, ce qui crée une brillance forte lorsqu'il croise le halo du héros.
|