Page 1 sur 3

Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 00:14
de algue14
J'ai créé un bout de code qui permet de faire varier l'aspect d'une gauge en fonction de l'éclairage.
Je trouvais navrant d'arriver la nuit sur un appareil "cold&bark" et de prendre la lumière blanche des gauges en pleine poire ecroulerire
l'aspect varie en fonction de
1)l'éclairage panel
2)de l'heure (enfin soit day, soit dusk,dawn ou night) blemeblanc
En cas d'éclairage panel, l'aspect reste le même quelle que soit l'heure.
Bien sur, il faut créer, par élément, autant d'images que d'aspect.(mais on peut charger des images différentes en utilisant le même png - pour les aiguilles par exemple,l'aspect est le même de jour ou éclairées).

Je n'ai pas encore attaqué les chiffres défilants, là ça risque d’être une autre paire de manches. murrouge ecroulerire


Voilà le bout de code qui peut servir de base (d'exemple) pour ceux qui seraient intéressés.

Code: Tout sélectionner
--pour faire varier l'aspect des gauge
--en fonction
--1-de l'éclairage panel
--2-de l'heure jour : day ou bien  dusk,dawn,night

--chargement des images

fond_lumineux = img_add_fullscreen("image_ fond_lumineux.png")
aiguille_lumineuse = img_add("image_aiguille_lumineuse.png", -5, 120, 116, 19)
bezel_lumineux = img_add_fullscreen("image_bezel_lumineux.png")
fond_sombre = img_add_fullscreen("image_fond_sombre.png")
aiguille_sombre= img_add("image_aiguille_sombre.png", 142, 122, 112,11)
bezel_sombre = img_add_fullscreen("image_bezel_sombre.png")
fond_jour =  img_add_fullscreen("image_fond_jour.png")
aiguille_jour = img_add("image_aiguille_jour.png", -5, 120, 116, 19)
bezel_jour = img_add_fullscreen("image_bezel_jour.png")

--choix d'image en fontion de l'eclairage--
 function new_light_FSX(light,ambiance)
 
img_visible(fond_lumineux, light)
img_visible(fond_jour,ambiance ==1 and light==false)
img_visible(fond_sombre, light == false and ambiance~= 1)
img_visible(bezel_jour, ambiance==1)
img_visible(aiguille_jour, ambiance==1)
img_visible(bezel_lumineux,  light, ambiance )
img_visible(aiguille_lumineuse, light)
img_visible(aiguille_sombre,  light == false and ambiance~=1)
img_visible(bezel_sombre, light == false and ambiance~=1)

end

-- Bus subscribe --

fsx_variable_subscribe("LIGHT PANEL","Bool" ,"TIME OF DAY","Enum",new_light_FSX)
ou
--fsx_variable_subscribe("LIGHT PANEL ON","Bool" ,"TIME OF DAY","Enum",new_light_FSX)

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 10:54
de arcc
Effectivement ca rend bien et ca donne des idées. Mais quand est ce qu'on va voler...

A+
Christian

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 11:42
de algue14
arcc a écrit:Effectivement ca rend bien et ca donne des idées. Mais quand est ce qu'on va voler...

A+
Christian


ecroulerire ecroulerire oui tu as raison.

J'ai considérablement amélioré la chose et ça fonctionnera quelle que soit la composition de la gauge.
Un peu de temps et je vous en reparle.

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 15:54
de algue14
Bon j'ai trouvé une astuce pour changer l'aspect de gauges, quels que soient les éléments qui la composent.
et en plus, le code est extrêmement simplifié .
Il s'agit de mettre un masque devant toute la gauge.
c'est juste un rond(ou une autre forme d'ailleurs)rempli avec du noir 100% mais dont on fait varier la transparence.

Image

Voilà le rendu en situation (le masque déborde un peu,mais je suis en phase d'essai)

Image

Précaution: il faut que dans l'image de base, les blancs soient 100% et que les couleurs soient bien pêchues pour que les masques n'assombrissent pas trop et que l'aspect soit réaliste.

Pour info les masques sont fait avec du noir 100% : le jour avec une opacité de 10%,
le dusk, une opacité de 50%, le nuit une opacité de 82%
Le light est fait avec un jaune/noir très foncé et une opacité de 5% + un effet de dégradé.

chacun pourra faire selon son inspiration.

Voila le code correspondant

Code: Tout sélectionner
mask_jour = img_add_fullscreen("masque_jour.png")
mask_lum = img_add_fullscreen("masque_lum.png")
mask_nuit = img_add_fullscreen("masque_nuit.png")
mask_dusk = img_add_fullscreen("masque_dusk.png")
---------------------------------------------------------------------------------------------------
--choix d'image en fontion de l'eclairage--
 function new_light_FSX(light,ambiance)
 img_visible(mask_lum, light)
img_visible(mask_nuit, light == false and ambiance== 3)
img_visible(mask_dusk, light == false and ambiance== 2)
img_visible(mask_jour, ambiance==1)

end

a placer, évidemment après tous les appels d'images de base de la gauge.

L''appel de variable:
fsx_variable_subscribe("LIGHT PANEL","Bool" ,"TIME OF DAY","Enum",new_light_FSX)
ou
fsx_variable_subscribe("LIGHT PANEL ON","Bool" ,"TIME OF DAY","Enum",new_light_FSX) qui semble fonctionner sous FSX mais pas P3D-c'est l'objet d'un autre débat rirebleu

Voilà, j'espère que ça pourra intéresser quelqu'un.

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 17:31
de arcc
C'est ce que j'avais fait il y a qq temps mais j'étais déçu du résultat. Je n'avais qu'un masque pour les "Light Panel" sur On.
Je n'avais peu être pas assez accentué les teinte.
Image

Ton idée d'avoir plusieurs masques selon l'heure de la journée est bien plus intéressante. Je vais revoir ca.

Par contre J'ai trouvé sympa le masque qui "abime" légèrement la vitre de la jauge. Ca rend celle ci un peu moins neuve.
Image
Tu peux la tournée selon différents angles pour ne pas avoir partout la même "usure".


A+
Christian

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 17:45
de algue14
arcc a écrit:Par contre J'ai trouvé sympa le masque qui "abime" légèrement la vitre de la jauge. Ca rend celle ci un peu moins neuve.

Et tu trouves ça où???

Ensuite on peut toujours panacher les solutions.
tout est fonction du temps qu'on est prêt à y passer. peurefrayé
Perso je crois que je ne vais utiliser que les masques dusk et night; garder la gauge telle qu'elle pour l'affichage de jour
et retravailler les bitmaps de fond de gauge pour l'éclairage.

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 19:20
de arcc
Et tu trouves ça où???


Regarde dans les superbes jauges du piper J3 Cub de RomeoGolfBravo (c'est comme ca qu'il à signer)

A+
Christian

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 22:47
de JacquesZ
Oups message en double
Jacques

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Mer 23 Aoû 2017 23:51
de JacquesZ
Il faut aussi coupler l'allumage des jauges au Master sur On, à mon avis.
Car le panel ne doit pas s'allumer si le Master n'est pas sur ON, ou même mieux, si la tension sur le battery bus est inférieure à 24V. Il faut donc souscrire à cette variable (Master)supplémentaire, ce qui modifierait légèrement le code comme suit:

Code: Tout sélectionner
mask_jour = img_add_fullscreen("masque_jour.png")
mask_lum = img_add_fullscreen("masque_lum.png")
mask_nuit = img_add_fullscreen("masque_nuit.png")
mask_dusk = img_add_fullscreen("masque_dusk.png")
---------------------------------------------------------------------------------------------------
--choix d'image en fontion de l'eclairage--
 function new_light_FSX(light,ambiance,master)
lighted=light and master
 img_visible(mask_lum, lighted)
img_visible(mask_nuit, lighted == false and ambiance== 3)
img_visible(mask_dusk, lighted == false and ambiance== 2)
img_visible(mask_jour, ambiance==1)

end


Avec la déclaration de variable qui devient:
fsx_variable_subscribe("LIGHT PANEL","Bool",
"TIME OF DAY", "Enum",
"ELECTRICAL MASTER BATTERY","Bool", new_light_FSX)

Jacques



Jacques

Re: Air Manager - modifier l'aspect d'une gauge -

MessagePosté: Jeu 24 Aoû 2017 10:33
de algue14
Oui Jacques, tu as raison. merci affiche
L'idée de base était d'arriver a modifier l'aspect visuel de la gauge en fonction de son éclairage.
Après ça peut s'améliorer et se peaufiner voir se personnaliser grandsoleil
c'est l'avantage d'un code ouvert
Ben tiens, en écrivant ça je me rend compte que chaque masque peut très bien être une gauge individuelle, de la taille du TdB et qui fera son effet sur tout les gauges présentes.
Pour l'éclairage c'est plus délicat, éclairer un instrument suppose que sa luminosité augmente, et mettre un masque tend naturellement à assombrir, de plus pas simple de simuler l'effet d'une loupiotte.
Par contre c'est beaucoup plus facile en ajoutant une image par instrument concerné.Il suffit d'ajouter un effet et de jouer sur la luminosité.
En tout cas ta remarque est utile et le code se transpose facilement.