Scripts-Fu
Gimp Bumpy
Gimp Aquabou
Gimp Plasticlogo

Fond d'écran
Debian (19)
POV-Ray (26)
GNUstep (23)
Enlightenment (8)
Celtique (14)
Autres... (2)

Articles
Gimp (1.2 & 2.x)
Electronique
Prog. & Dével.

Code
PAM t2g
ppdog

Effet de verre

Le verre et les autres matériaux transparents sont parmi les effets les plus difficiles à réaliser. The Gimp comporte heureusement quelques scripts permettant d'obtenir du texte ou une forme quelconque ayant un rendu proche de la réalité. Il ne faut pas oublier cependant qu'une maîtrise des arts et des outils graphiques ne passe pas par l'utilisation de scripts tout fait mais requière une compréhension de leur fonctionnement. C'est capital.

Une forme au rendu transparent nous retourne une partie de la lumière avec laquelle elle est éclairée mais une autre partie la traverse et frappe l'arrière plan. Il nous faut donc tirer parti de ces informations et composer nos images en conséquence. Un autre phénomène physique intéressant est la présence de reflets sur les bordures des objects transparents.

Comme pour toutes création graphique, nous commençons par la forme principale. Celle-ci peut être une forme quelconque, un tracé ou tout simplement du texte. Ici, choisissons la facilité avec un texte que nous composerons avec l'option Dynamic Text.


Figure 1


Figure 2

Après cela, nous pouvons nous pencher sur la première étape qui constitue à créer une base pour les effets de bordure. Pour cela nous allons tout d'abord créer deux nouveaux calques blancs placés au dessus du présent calque. Le calque le plus en haut devra être placé en mode Différence

Le premier calque contenant le texte étant actif, transformez la transparence (l'alpha) en sélection puis rendez actif le calque le plus en haut. Ici, utilisez la touche Alt pour déplacer la sélection (et non la portion d'image sélectionnée) légèrement vers le haut et à gauche. Remplissez cette zone de noir. Visuellement, vous verrez votre texte en blanc sur fond noir, ce qui est parfaitment normal étant donné le mode dans lequel se trouve le calque.

Procédez de même sur le second calque blanc, mais en déplacant, cette fois, la sélection vers le bas et à droite. Le résultat final devrait vous montrer uniquement le résultat de la différence entre les deux formes. Si vous avez du mal à vous représenter ce résultat, voici ce que cela donnerai avec de simples cercles :


Figure 3


Figure 4

Pour l'heure, notre manipulation sur le texte nous donnera ceci

Avec les calques organisés de cette manière


Figure 5


Figure 6

Afin d'ajouter une touche de réalisme, fusionnons les deux premiers calques (les blanc), inversons les couleurs afin d'obtenir des formes noir sur fond blanc, puis enfin, appliquons un légé flou gaussien :

Passons à l'étape suivante consistant composer le calque complet simulant le reflet. Ici, plusieurs solutions s'offrent à nous. Nous choisirons notre image de base pour cette étape en fonction du type de reflet que nous souhaitons obtenir. Si nous désirons simuler un verres parfaitement plat soumit à un éclairage uniforme, nous utiliserons un simple dégradé. Nous verrons plus loin comment utiliser une image déjà existante pour obtenir un effet de verre ancien légèrement irrégulier (en surface et en épaisseur).

Pour notre premier exemple, nous choisirons le dégradé. Créez donc un nouveau calque blanc placé au tout premier plan et remplissez-le à l'aide d'un dégradé du noir vers le blanc. Réglez la transparence de ce claque sur 50% afin que vous puissiez distinguer le calque immédiatement en dessous.


Figure 7


Figure 8

Nous allons maintenant augmenter le contraste entre les teintes. Pour cela, commencez par fusionner les claques visibles puis nous allons régler les courbes de couleurs :

Notre image sera alors totalement transformée pour ressembler à ceci :


Figure 9

Comme l'effet de relief ne concerne que l'objet de départ, il nous faut éliminer les parties indésirables. Ici, plutôt que de supprimer réellement des morceaux de l'image, nous allons les cacher. Il existe en effet une fonctionnalité présente dans la plupart des logiciels de retouche d'images dignes de ce nom : les masques. The Gimp, bien sûr, ne coupe pas à cette règle et une fois l'habitude d'utiliser les masques installée, il est difficile de s'en passer.

Le fonctionnement des masques et très simple, il s'agit d'ajouter à un calque un élément graphique spécifiant sa transparence. Ainsi, le noir 100% du masque correspondra à une transparence totale sur les même zone de du calque auquel s'applique le masque. Inversement, le blanc 100% déterminera une opacité complète. De ce fait, tous les niveaux de gris intermédiaires nous donnerons une transparence relative.

L'avantage de cette technique sur la réelle suppression de zones graphique est la possibilité de changer à tout moment les partie visible du calque auquel s'applique le masque. Mais ce n'est pas tout, toutes les manipulations classiques, les filtres et les transormationqu'il est possible d'appliquer aux images sont applicables également aux masques.

Après cette brève description voyons comment un masque peut nous faciliter la vie dans notre travail actuel. Ajoutez un masque au calque en cours via le menu contextuel (clic droit) dans la fenêtre des calques. The Gimp vous demande alors comment il doit créer ce masque. Il est, en effet imposible de créer un masque vide car cela n'aurait pas de sens pour l'image en cours. Nous avons le choix entre :

  • un masque complètement noir, ce qui masquera complètement l'image sur le calque en cours
  • un masque blanc, ce qui ne modifiera en rien l'aspect du calque puisque le blanc dans un masque laisse apparaître complètement la partie correspondante de l'image
  • un masque composé à partir des zones alpha du calque en cours. Les zone transparentes deviendront noir sur le masque et les zone opaques seront blanche. Au final, l'image du calque en cours ne changera pas puisque seules les zones transparentes seront masquées.

Figure 10


Figure 11

Dans notre cas, choisissez un masque de départ complètement noir et donc, masquant l'ensemble du calque en cours. Activez ensuite le calque où réside encore le texte de base et transformez l'alpha (transparence) en sélection. Retournez sur le calque précédant et assurez-vous d'avoir activé le masque. Il sera peut-être nécessaire de déplacer légerement la sélection avant de la remplir avec du blanc. Au final, vous ne devrez voir qu'une partie de l'image correspondante à la forme du texte original.

En fonction de la manière dont vous aurez déplacé les sélections au départ de la manipulation, vous apercevrez plus ou moins d'effet de bord à ce moment de la procédure. Si cela ne vous convient pas, vous pourrez toujours modifier le masque afin de faire correspondre la zone en blanc à la partie de l'image que vous désirez laisser apparente.

Nos manipulations sur le calque permettant d'obtenir les reflets du verre s'arrêteront là. Certe, cela ne ressemble pas du tout à ce que nous espèrions mais le miracle ne se produira qu'un peu plus tard. Nous allons à présent nous intéresser au fond de l'image finale. Ajouter un calque immédiatement en dessous du calque des reflets. Remplissez ce dernier avec un motif de votre choix puis préparez-vous au miracle :)


Figure 12


Figure 13

Retenez votre souffle, puis passez le calque des reflets en mode Overlay.

Le résultat que vous devez obtenir ici est très dépendant des différents choix que vous aurez fait tout au long de la procédure. Mais nous n'avons pas finit, la lumière à des effets très intéressants sur les objets transparent. Ainsi, il est fort probable que la luminosité du fond perçu à travers l'objet transparent soit plus grande. Nous pouvons obtenir cela très simplement grâce à nos amis les masques.

Dupliquez le calque contenant les motifs de fond et activez celui le plus en haut. Modifiez-en la luminosité et le contraste de manière à donner un effet le luminosité accrue. Ajoutez ensuite un masque à ce calque et copiez le masque du claque des reflets pour ne laisser visible que la partie correspondante au texte.


Figure 14


Figure 15

L'effet s'en trouve largement amélioré mais nous pouvons faire mieux en ajoutant une ombre sous l'objet de verre. Pour cela, il nous suffit d'utiliser le calque du texte en noir en le déplacant sous le calque que nous venons de manipuler. Utilisez un flou gaussien sur le texte et passez le calque en mode Overlay. Il sera sans doute nécessaire de déplacer l'ombre afin de la rendre davantage visible

J'en ai parlé plus haut, le verre d'un objet peut avoir une surface irrégulière tel qu'on peut le voir avec du verre de fenêtre "à l'ancienne". Pour obtenir un tel effet et des reflets moins uniformes, il nous faut utiliser une image autre qu'un simple dégradé avant de modifier les courbes de couleurs.

Le script-fu Crystal-Logo de Spencer Kimball utilise une image en niveaux de gris (une photo d'un adorable chaton placé dans le répertoire des scripts et nommé beavis.jpg). Utilisez une photo pour créer des effets réalistes de transparence ou de reflection est une technique efficace. Sachez seulement que le choix de l'image sera décisif dans le résultat finale.

Les deux images suivantes comparent une manipulation de courbes sur deux bases différentes. A gauche nous avons l'image du chat issue du script de Spencer Kimball appliquée à un cercle. A droite, nous avons une base crée avec le filtre Solid Noise et manipulée avec une forme composée de deux cercles :


Figure 16


Figure 17

Vous pouvez constater que le rendu final est d'autant modifié (on distingue d'ailleur la silouette du chaton sur l'image de gauche, surtout depuis que l'on sait qu'il s'agit d'un chaton)


Figure 18


Figure 19

Une autre modification peut améliorer le réalisme. Normalement, si notre forme de verre à une surface irrégulière, le fond vu par transparence doit être déformé en fonction de la surface de l'objet. C'est la refraction. Un filtre nous permet d'obtenir cet effet à partir des éléments que nous possédons.

La seule chose que nous avons à faire c'est d'utiliser le filtre Displace sur le fond lumineux en utilisant le calque des reflets. Supprimez pour cela le masque présent sur le calque du fond lumineux, dupliquez le calque des reflets et éliminez le masque sur la copie.

Activez le calque de fond lumineux et utilisez le filtre en prenant comme base de déplacement la copie du calque des reflets débarassée de son masque (c'est important). Utilisez un taux de déplacement équivalent pour X et Y et faites plusieurs essais jusqu'à obtenir un résultat satisfaisant. Enfin, ajoutez le masque pour ne conserver que la zone concernant le texte. La différence avec le résultat précédent peut paraître infime mais nous venons d'ajouter le petit quelque chose qui donne tout son réalisme à l'image finale :


Figure 20


Figure 21

Bien sûr, toutes ces manipulations auraient pour être automatisées grâce à l'utilisation du script-fu Crystal-Logo (pour du texte) ou du perl-fu Logulator-Crystal (pour une forme quelconque). Cependant, il est tout aussi incontestable qu'une bonne connaissance du fonctionnement de ces scripts permettent de rendre leur utilisation d'autant plus efficace. D'autre part, nous savons à présent comment manuellement obtenir des effet équivalent aux scripts et pouvons donc apporter notre touche personnelle aux manipulations.

Un véritable artiste ne se bornera pas à l'utilisation des automatismes mis à sa disposition, mais les mettra à profit pour augmenter l'étendu de ses connaissance...

$Id: glass.php,v 1.11 2004/01/12 15:54:38 denis Exp $

© Denis Bodor <lefinnois@lefinnois.net>

Aucune reproduction, même partielle, autres que celles prévues à l'article L 122-5
du code de la propriété intellectuelle, ne peut être faite de ce site
sans l'autorisation expresse de l'auteur.