PDA

Voir la version complète : gestion de feux tricolores



alinal
12/04/2019, 18h16
Je m'étais fixé comme but la gestion de feux tricolores. Après de multiples essais, je me suis rendu compte que j'aurai du mal à gérer avec les noeuds Xpresso la cadence 10 secondes pour le feu vert, 5 pour le feu orange et 10 pour le feu rouge. J'ai fini par ajouter un bout de code python et c'est bien plus simple même si ce n'est pas très élégant!

Un node Time pour calculer le temps écoulé depuis le lancement de l'animation
un node valeur absolue qui en profite au passage pour faire une conversion sous forme d'entier
un node python qui selon la valeur d'entrée fait passer de 0 à 100% l'intensité du canal luminescence d'une des 3 sorties. L'adaptateur universel sert à passer d'une valeur booléenne à une valeur entière

Aurety
13/04/2019, 21h08
Super boulot !
Je t'ai passé membre reconnu pour que tu ailles batifoler dans les autres secteurs du forum.

alinal
14/04/2019, 09h00
Merci Aurety

alinal
15/04/2019, 15h19
Puisque ça reste dans le même genre de programmation, je poste cette deuxième version qui gère les feux au croisement de deux routes.
J'ai un peu modifié puisque qu'un feu éteint est noir et que je n'utilise que le canal couleur pour l'allumer. A signaler un bug d'xpresso concernant le node python puisqu'un copier/ coller de Notepad + vers le fenêtre python génère des problèmes d'indentation alors qu'il suffit de décaler les lignes incriminées et de les remettre à la même place pour que la fenêtre Python d'Xpresso considère que l'erreur a été réparée :icon_banghead:

Pour gérer 2 feux, c'est un peu plus compliqué qu'un seul. En faisant les essais je me suis rendu compte que le feu rouge devait être plus long que le feu vert (sinon ceux qui passent au feu orange rentrent dans ceux qui démarrent brutalement au feu vert. Je me suis aperçu également que chaque feu devait être géré séparément pour les mêmes raisons.

alinal
18/04/2019, 17h16
Un nouveau retour dû à la pratique. J'ai créé une scène avec les feux mais incorporés cette fois sous forme de cylindre. Le problème est que dès que l'on ajoute une lumière ou un ciel, le couvercle des cylindres restait noir. Après quelques essais, j'ai fini par comprendre que pour voir les feux, quand il y avait une lumière extérieure, c'était bien l'intensité du canal luminescence qu'il fallait activer.

résultat:
https://youtu.be/besiE1lnlWw

Eh oui! je suis un débutant