Article: Blender
Titre: Silence, on tourne


Arg ! C'est fini, le soleil, les jolies filles, le sable fin, les fruits de mer, dormir… tourner en rond, les restaurants trop chers, les gamins qui piétinent les serviettes de bain, le sable dans les yeux, les coups de soleil, la radio du zazou qui crache du tchapoumtchapoum... Ouaip, tout compte fait, c'est la rentrée et… il était temps. On va enfin pouvoir se remettre à Blender !

Lors de la leçon du précédent numéro, nous avons abordé le module d'édition des séquences vidéo. Cette fois-ci, nous allons la compléter en commençant par décrire tous les effets disponibles. Avant tout, quelques précisions s'imposent. Nous allons en effet configurer les chemins d'accès aux plugins et autres textures que vous serez amenés à utiliser. Cela permettra d'éviter une navigation fastidieuse et inutile dans le dédale des répertoires de votre disque dur. Cliquez sur l'icône de sélection des menus et cliquez sur celle qui représente un 'I' (pour Information). Vous y trouverez six champs à renseigner. Ici, la saisie des chemins se fait de façon manuelle car Blender n'ouvre pas de boîte de sélection. Indiquez donc notamment le chemin d'accès aux plugins de séquences. Pour sauvegarder cette nouvelle configuration, pressez les touches 'Ctrl U'. La figure 1 représente le menu de configuration de Blender.

Pour les champions du surf, sachez qu'Internet sera pour vous une mine intarissable pour donner à manger à Blender ! Vous pourrez par exemple trouver des plugins. Certains seront déjà compilés et il suffira donc dans ce cas de les placer dans le répertoire approprié. D'autres seront des fichiers sources. Dans ce cas, il faudra impérativement les compiler. Pour cela, il faut placer le fichier source dans le répertoire 'plugins' qui contient les trois répertoires 'texture', 'sequence' et 'include'. Puis sous un shell, entrez les lignes de commandes suivantes :

cd /chemin d'accès sur votre disque dur…/plugins
./bmake nom_du_fichier_source_à_compiler.c


Une fois le plugin compilé, il ne reste plus qu'à placer les fichiers du même nom portant les suffixes '.o' et '.so' dans le répertoire 'sequence' pour un plugin d'effet spécial ou dans le répertoire 'texture' si le plugin est évidemment une texture ! La figure 2 montre le fichier source du plugin 'Robocop' (RCc.c) ainsi que sa compilation. Vous pouvez remarquer les deux fichiers générés par la compilation. Ce plugin ainsi que d'autres ont été récupérés sur Internet. Vous les trouverez sur le CD-ROM du présent numéro de Linux Magazine. Le plugin 'Robocop' a été écrit par Joeri Kassenaar.

Le montage que nous avons réalisé est composé d'un générique de début formé de cinq scènes enchaînées les unes à la suite des autres par l'intermédiaire d'effets de transition simples du type fondus enchaînés. Les deux séquences d'animation sont quant à elles composées d'images pré-calculées issues de deux scènes différentes. La transition entre la fin du générique et la première animation ainsi que celle placée entre les deux animations sont un peu plus complexes puisqu'elles sont formées de deux plugins combinés. Comme nous l'avons déjà vu, certains effets de transitions peuvent être paramétrés par l'intermédiaire d'un menu spécifique et d'une courbe de contrôle. Nous allons commencer par passer en revue les plugins disponibles d'origine avec Blender.


Scatter:

Ce plugin brouille l'image de la séquence à laquelle il est appliqué. La figure 3 représente son menu de configuration. Pour accéder à un menu de configuration de plugin, il faut cliquer sur celui-ci avec le bouton de droite de la souris dans la fenêtre de montage, et presser la touche `N'. Les variables de cet effet sont les suivantes:

- Seed: Sa valeur comprise entre 0 et 10 et appliqué au calcul du décalage des lignes.
- Swing: Amplitude maximale de décalage des lignes.
- Wrap: Replace la partie décalée qui sort de l'écran sur le côté opposé de la même ligne.
- Type: A 1, le décalage des lignes est recalculé de façon aléatoire pour chacune des images de la séquence soumise à cet effet. Cette solution donne un résultat visuel qui rappelle certaines chaînes de télévision à péage. A 0, les lignes avancent toujours dans le même sens jusqu'à la dernière image soumise à cet effet.

Enfin, un dernier paramétrage accessible via la fenêtre des courbes d'animation est possible. Il permet de définir le pourcentage de la valeur d'amplitude qui sera pris en compte et donc la vitesse et le sens de progression de l'effet. La combinaison de tous ces paramètres permet une grande souplesse de configuration. La figure 4 représente ce que donne ce plugin en mode type 1. La courbe de contrôle permet de partir d'une image claire pour obtenir une image brouillée au maximum de la valeur de la variable `Swing' à 50% de l'effet. Enfin, l'amplitude de brouillage va diminuer pour redonner une image claire à 100% de l'effet. Dans le même temps, un fondu enchaîné est mixé à l'effet `Scatter' afin que le passage de la première séquence vers la seconde se fasse en douceur.

Lorsque le calcul de décalage n'est pas aléatoire (mode `Type 0'), ce plugin fonctionne différemment. En effet, dans ce cas, certaines lignes vont se décaler vers la droite pendant que d'autres vont se décaler vers la gauche. L'amplitude du décalage est donnée par la variable `Swing' et peut ici aussi être gérée à l'aide d'une courbe de contrôle. Utilisé sans courbe, l'effet part d'une image normale (décalage nul) pour atteindre un décalage maximum à mi-parcours, puis replace progressivement les lignes en phase pour redonner une image claire en fin d'effet. Dans le cas de l'image 5, le résultat obtenu est identique à celui sans courbe. La figure 6 montre quant à elle un autre cas de configuration de la transition. Ici, la courbe de contrôle n'est pas constante. Pendant le premier quart de l'effet, on obtient un résultat identique à ce que produit la configuration présentée en figure 5, à ceci près que dans le premier cas la courbe est du type sinusoïdal alors que dans le cas présent, elle est linéaire. Le palier à 100% de l'échelle donne des images claires. Seul le fondu enchaîné continue d'évoluer normalement durant cette période. A la suite du palier, la courbe est composée d'une pente descendante puis d'un palier à 50%. Sur ce palier, les images sont brouillées, mais ici, le brouillage est statique. Je pense qu'il n'est pas nécessaire d'expliquer comment évolue l'effet sur le reste des images auxquelles il est appliqué.


Blur:

Ce plugin permet d'appliquer un effet de flou. La figure 7 représente son menu de configuration. Les variables de configuration sont les suivantes:

- Blur: Niveau du flou.
- Gamma: Correction gamma.
- Animated: Ce bouton activé, l'amplitude du flou évolue soit de façon linéaire, soit en fonction d'une courbe de contrôle. Désactivé, le niveau du flou est constant et dépend uniquement de la variable `Blur'.

La figure 8 représente l'évolution du flou tel que nous l'avions défini dans notre montage. Là aussi, cette transition est composée de deux effets cumulés.


Truncate:

Permet de tronquer l'image. Par défaut et sans courbe de contrôle, ce plugin part d'une image noire et fait apparaître l'animation petit à petit en fonction des composantes de couleur. La figure 9 montre le résultat qu'il donne sur la séquence de la sphère sans courbe de contrôle. A l'instar des autres plugins, il est possible de gérer l'évolution de celui-ci à l'aide d'une courbe de contrôle. La figure 10 met en évidence l'utilisation de ce plugin associé à un fondu enchaîné pour la transition entre la séquence du titre et la séquence de présentation du producteur. Ici, grâce aux courbes de contrôle, la séquence du titre va disparaître progressivement puis la séquence suivante va apparaître. La courbe en bas à gauche gère la progression de l'effet appliqué en fin de la séquence du titre. La courbe de droite gère l'effet appliqué au début de la séquence de présentation du producteur.


MakeColor:

Ce plugin permet de donner une dominante de couleur à l'image à l'aide des variables suivantes:

- Enable Mixer: Ce bouton activé, Blender mixe l'image de la séquence source avec la couleur définie par les trois composantes de couleur de ce menu. Désactivé, Blender remplace simplement l'image de la séquence par une image de couleur unie.
- Mix: Degré de mixage de la couleur du plugin et des images de la séquence.
- Red: Réglage de la composante rouge.
- Green: Réglage de la composante verte.
- Blue: Réglage de la composante bleue.

La figure 11 montre le menu de configuration ainsi que plusieurs cas de réglages. La couleur définie pour l'exemple a une forte dominante de vert.


Show Buffer:

Ce plugin donne l'illusion que votre écran se prend pour un poste de télévision qui aurait fumé quelque chose de pas très cathodique! En effet, il utilise ce qui se trouve dans le buffer au moment du calcul et l'affiche. On obtient ainsi des bribes d'images mixées avec des données qui se trouvent représentées par des lignes et des points de couleurs variées. Le résultat donne par exemple l'impression d'un poste de télévision qui a des problèmes de réception. Le contenu du buffer étant toujours différent, le résultat du rendu sera à chaque fois unique. Le figure 12 représente ce que peut donner ce plugin. La variable `Width' définit la largeur utilisée du buffer.

Les plugins que nous allons aborder maintenant ne sont pas inclus dans la distribution de Blender. Vous les trouverez sur le CD-ROM du présent numéro de Linux Magazine.


Sweep:

C'est certainement le plugin qui offre le plus d'effets différents. Il permet de passer d'une séquence à une autre en faisant apparaître la seconde séquence ligne par ligne horizontalement, verticalement ou diagonalement. A partir de ces trois orientations, ce plugin autorise pas moins de vingt-deux effets de transition différents ; nombre qui n'est d'ailleurs pas figé, puisqu'il est livré avec les sources! Mieux que des mots, voyez plutôt la figure 13 qui représente chacun des effets disponibles. Les flèches indiquent le sens de translation d'apparition de la seconde séquence.

Le menu donne accès aux paramètres suivants:

- Animated: Ce bouton activé, la progression de la transition est gérée par une courbe de contrôle.
- Effect: Type d'effet à sélectionner parmi vingt-deux.


Robocop:

ZIIIIII! CLANG!… CLANG!… CLANG!… CHLACK..CHLACK!… Halte, vous êtes en état d'arrestation ! Oups! Pardon, je m'égare! C'est la faute de ce plugin, il transforme mon moniteur en écran de vision du flic d'acier du même nom! Le réglage par défaut applique en effet un filtre composé de lignes de dominantes vertes. Il est tout de même possible de définir une couleur différente. Les paramètres disponibles sont les suivants:

- Thickness: Epaisseur en anglais, ce paramètre permet de définir la largeur des lignes.
- Red, Green, Blue: Composantes de couleur.

La figure 14 montre trois cas de réglages. Le premier est le réglage par défaut qui vaut à ce plugin le nom de `Robocop'. Vous aurez compris que ce plugin n'est pas un effet de transition, mais plutôt un filtre qui ne peut être appliqué que sur une séquence unique. Mais ce n'est pas une réelle limite en soit, puisqu'il est possible, lors d'une transition entre deux séquences, de placer ce plugin en couche supérieure en l'appliquant simplement à l'effet de transition. C'est ce que montre la figure 15.


WipeOut:

Ce plugin nécessite trois séquences, bien qu'il donne aussi de jolis résultats avec seulement deux. Dans le cas d'une utilisation normale, son rôle est de créer un masque. Pour illustrer son usage, deux séquences d'images pré-calculées ont été complétées par une séquence issue d'une scène vide sans source de lumière. La figure 16 montre le résultat obtenu. La séquence du feu est sur fond noir. La séquence représentant une pièce est des metaballs apparaît dans l'image de la séquence du feu en fonction des niveaux de couleurs.
Vous pouvez tester ce que donne le bouton `mask negative' mais aussi le résultat avec seulement deux séquences.


Enfin, la série suivante de plugins est l' uvre de Stephan Gartner que je tiens à remercier pour son aimable autorisation de diffusion de son travail via Linux Magazine. Tous les plugins qu'il a développés sont disponibles sur le CD-ROM de ce numéro en exécutables. Vous y trouverez aussi les sources de certains d'entre eux… un excellent moyen pour apprendre.


Clock Wipe:

Ce plugin nécessite deux séquences et fait apparaître la seconde sur la première en réalisant un balayage rotatif dans le sens des aiguilles d'une montre. Sa progression peut être gérée grâce à une courbe de contrôle. La figure 17 montre ce que ce plugin effectue sans courbe.


IRIS:

Par défaut, fait apparaître une séquence sur une autre à l'extérieur d'un cercle qui diminue de taille jusqu'à disparaître au centre de l'écran. La séquence visible au départ se trouve à l'intérieur du cercle. Ici aussi, la progression peut être gérée à l'aide d'une courbe de contrôle.
La figure 18 représente deux cas de configuration de progression. Le premier cas est celui décrit ci-dessus. Pour second cas, le fonctionnement est inversé. Le cercle apparaît au centre de l'image et augmente de taille jusqu'à disparaître hors de l'écran en laissant apparaître la seconde séquence.


Stroboscope:

Cet effet fait flasher l'écran à intervalle régulier. Par défaut, l'image flashée est en fait un simple négatif de l'image originale. Ce plugin se configure à l'aide des variables suivantes:

- Frames: Définit en nombre d'images l'intervalle entre deux flashes.
- White Flash: Ce bouton activé, l'écran est uniformément blanc lors du flash.
- Gamma Flash: Si une seule séquence est déclarée, l'écran est noir lors du flash. Si deux séquences sont activées lors de l'application de ce plugin, la seconde est affichée lors du flash avec une correction Gamma.

La figure 19 montre le résultat obtenu avec deux séquences.


Désaturate:

Permet de donner une dominante de saturation de couleur à une séquence. Avec les trois composantes `Red', `Green' et `Blue' à 1, le filtre n'a aucun effet sur l'image.


Split:

Divise l'écran en deux parties égales verticalement ou horizontalement et place dans chacune d'elles une des deux séquences auxquelles ce plugin est appliqué. C'est l'outil idéal pour réaliser un générique en réservant une partie au générique et l'autre au bêtisier de votre film! Les paramètres de configuration sont les suivants:

- Scale: Adapte la taille de l'image d'une séquence à la partie de l'écran qui lui est réservée. Ce bouton désactivé, l'image est tronquée.
- Horizontal: Par défaut, l'écran est divisé en deux parties égales verticalement. Ce bouton activé, la division est horizontale.


Je vais maintenant revenir sur le plugin `Stroboscope' qui donne d'excellents résultats, mais je me suis permis d'ajouter quelques possibilités complémentaires. Le fichier source ainsi que l'exécutable de ce plugin sont aussi présents sur le CD-ROM. L'exécutable a été compilé sous Linux Glibc2.
Un bouton nommé `Color Flash' est maintenant disponible. Lorsqu'il est activé, comme le bouton `White Flash', il produit un écran uni, mais il permet en plus de définir la couleur de cet écran via les trois composantes de couleur.
Si le bouton `Gamma Flash' est le seul actif et qu'une seule séquence n'est déclarée en entrée, l'écran n'est plus noir lors du flash, mais de la couleur définie par les composantes.
Enfin, avec deux séquences en entrée et avec le bouton `Gamma Flash' activé, la couleur de la séquence affichée lors du flash dépendra du niveau des composantes disponibles dans le menu.

La figure 20 montre trois résultats obtenus avec le plugin `Stroboscope' modifié. J'espère que cela vous donnera envie de réaliser vos propres plugins.


Pour finir sur le sujet et vous aider à exploser votre forfait Internet, voici quelques adresses de sites incontournables où vous pourrez trouver notamment de nouveaux plugins, y compris pour les lecteurs qui utilisent Blender sous Windows.

Picasso.fhs-hagenberg.ac.at/students//mtd/mtd97047/blender/plugins.html (site de Stephan Gartner)

www.section5.de/cg/blender/plugins.html

www.blender.free.fr/docs/accueil.html

www.uszkurat.demon.co.uk/blender.html

www.five-o-clock.de/blender/blender-plugins


www.iae.nl/users/exwhale/blender


Nous venons donc de faire un survol des plugins disponibles pour le montage sous Blender. Ce système de plugins, souvent adopté par bon nombre de logiciels, permet d'enrichir la gamme des effets. Peut-être cela vous donnera envie de programmer vos propres plugins. Si tel est le cas, n'hésitez pas à me faire parvenir vos réalisations qui seront intégrées au CD-ROM du magazine pour en faire profiter toute la communauté !

Quelques mots sur les déboires de N.a.N, la société qui développe Blender. Outre le fait que cette compagnie ait été nommée par le magazine
CGI magazine comme faisant partie des cinquante compagnies leaders dans le secteur de l'industrie du graphisme informatique qui auront une influence importante pour l'année 2001 dans ce secteur (mais cela ne met pas spécialement de beurre dans les épinards…), N.a.N a conclu des accords avec de nouveaux investisseurs (donc actionnaires) pour poursuivre notamment le développement de Blender. Le but de N.a.N est d'offrir un logiciel professionnel multi plates-formes ainsi que notamment des players pour ordinateurs, serveurs et téléphonie mobile. La petite société a bien grandi, puisqu'elle emploie aujourd'hui 44 personnes en Hollande, aux USA et au Japon. Souhaitons donc longue vie à cette société qui nous a développé un produit vraiment exceptionnel.


Franck Barnier
barnierf@club-internet.fr