Pure-Data - Savoir-faire
Pour télécharger un patch, clic droit sur l'image et choisir
"Enregistrer la cible sous...".
Simulation d'animations lumineuses en GEM
Intérêt d'une simulation graphique simple
Il est utile parfois de simuler une situation réelle pour en étudier
divers paramètres. Par exemple, si l'on ne dispose pas des éclairages
nécessaires à un projet avant la fin de celui-ci, il est
possible néanmoins de se faire une idée de leur gestion
avec une petite simulation.
Cette démarche permet de se faire une idée du nombre de
lumières à utiliser, de leur couleur, de la pertinence des
effets sur chacune quand elles se retrouvent les unes à côté
des autres. Elle permet aussi de travailler si besoin est sur des rythmes
d'allumage/extinction, sur des vitesses de gradation, ainsi que sur la
corrélation de ces événements avec d'autres part
de l'installation (son, projection video, etc).
=> Une simulation simple permet donc de travailler en absence
de matériel, de faire des recherches
préliminaires sur les effets souhaités et d'avancer
sur une programmation en fonction aussi des autres éléments
en jeu.
Il est aussi possible de montrer ce type de simulation pour présenter
un projet.
L'aspect expliqué ici est volontairement très simple
afin d'éviter une perte de temps et une dispersion du travail :
le but n'est pas de créer un univers 3D mais d'avancer dans un
projet qui comporte de la gestion de lampes.
Il faut avoir installé GEM avec Pure Data : http://gem.iem.at/
Représentation basique en Pure-Data / GEM
Imaginons des spots lumineux dans une pièce. Leurs impacts au
sol peuvent être représentés simplement par des ronds
posés sur un plan de la pièce.
Spots lumineux
Schéma au sol (en GEM)
1 - Fenêtre Gem
Ce patch permet simplement de créer une fenêtre Gem dans
le coin supérieur droit de l'écran. Cliquer sur le bang
Creer pour ouvrir cette fenêtre et sur le bang Detruire pour la
fermer.
L'objet "gemwin" est celui qui gère cette fenêtre.
Les messages fondamentaux qui lui sont nécessaires sont "create"
suivi de "1" et "0" suivi de "destroy".
- create envoie l'ordre de création de la fenêtre graphique
;
- 1 lance l'affichage des éléments 3D ou video (rien ici)
;
- 0 arrête cet affichage ;
- destroy supprime la fenêtre graphique.
Le message destroy n'est plus indispensable avec la version actuelle
de Gem, mais il est utile souvent de pouvoir fermer et réouvrir
une fenêtre Gem.
Le bang nommé "Créer" lance un trigger (t b b
b). Pour une description de l'objet trigger : ici.
Ses sorties sont ordonnées de la droite vers la gauche.
Messages envoyés au gemwin :
- reset : Tout d'abord, un message "reset" est envoyé
au gemwin. Il efface tous les paramètres que peut avoir le gemwin
en mémoire (couleur du fond, position de la fenêtre, taille,
etc...) et met les paramètres par défaut.
- border 0 : indique que la fenêtre est dépourvues des bordures
et barres de titre prévues par le système d'exploitation.
- dimen 400 400 : taille en pixels. Un petite fenêtre permet de
travailler sur le patch tout en vérifiant l'affichage sur le même
écran.
- enfin, après ces paramètres, l'ordre est donné
au gemwin d'afficher la fenêtre puis son contenu, avec le message
"create, 1", qui est la même chose qu'un message "create"
suivi d'un message "1".
2 - Géométrie basique
Nous allons créer les trois disques représentant les spots
lumineux au sol.
Ce patch permet d'afficher un premier disque, blanc.
Tout affichage en Gem commence par l'objet "gemhead" et finit
par la forme que l'on veut créer, ici un cercle. Une forme 3D ne
s'affiche pas si elle n'est pas surmontée par un gemhead, ou une
chaîne d'objets dépendant d'un gemhead, entrant par l'entrée
gauche de l'objet 3D (="gemlist").
L'objet "circle" donne un cercle ou un disque sans épaisseur.
La couleur par défaut est le blanc. L'argument de circle est la
taille, ici 2. Cette taille peut aussi être précisée
par l'entrée droite de l'objet circle.
L'objet "translateXYZ" donne la position dans l'espace. Une
fenêtre Gem va grossièrement de -4 à +4, en X et en
Y. La coordonnée Z donne la profondeur, l'éloignement par
rapport au spectateur devant l'écran. Le translation s'applique
au centre du cercle. Les coordonnées 2 et -0.8 (avec un point,
pas une virgule) donnent une position à droite un peu vers le bas.
Les trois entrées autres que celle du gemhead servent à
entrer des nombres séparément pour chaque coordonnée
X, Y puis Z.
3 - Couleurs
L'objet "colorRGB" s'insère dans la chaîne entre
le gemhead et le circle. Les coordonnées de couleurs (R rouge,
G vert, B bleu) sont données de 0 à 1. Le triplet 0 0 0
donne du noir, 1 1 1 donne du blanc.
Les couleurs sont définies soit par argument dans l'objet colorRGB,
soit en nombres dans les trois entrées du milieu. L'entrée
de droite correspond à l'alpha.
4 - Transparence
L'objet "colorRGB" sert aussi à donner une information
de transparence, par le 4e argument (ici 0.6) ou bien par la dernière
entrée à droite.
L'objet "alpha" est alors indispensable dans la séquence
d'objets conduisant au cercle transparent.
Aperçu des trois disques = schéma de la lumière des
trois spots au sol.
Le disque blanc partiellement transparent apparaît gris sur le
fond noir.
Corrélation avec du pilotage d'actionneurs lumineux
A suivre...
|