gimp

Explosion

Français
English
Ce tutoriel fait parti de la "Trilogie du Feu".

Pour le suivre, il faut avoir installé le plug-in Math-Map sur votre système (pour l'installer sous MS-Windows : apprenez le japonais et allez voir du coté de wingimp. hp. infoseek. co.jp/ files/ plug-ins/ mathmap.exe. N'ayant pas cet OS sur ma machine, je n'ai pas testé cette version. Les retours d'informations sont les bienvenus).

This tutorial is a part of the "Fire Trilogy ".

To follow it, you may have Math-Map installed on your system (To install it under MS-Windows: learn japanese and go around of wingimp. hp. infoseek. co.jp/ files/ plug-ins/ mathmap.exe. As I haven't this OS on my system, I did not test this version. Feedbacks are wellcome).

1) Créez une nouvelle image carrée

2) Utilisez le filtre "Filtres/ Rendu/ Nuages/ Perturbation solide" avec les paramètres suivants :

  • Détail : 1
  • Taille X : 4 ou plus
  • Taille Y : la même valeur que pour "Taille X"
  • Morcelable : coché
  • Turbulent : décoché
  • 1) Create a new square image

    2) Use the filter "Filters/ Render/ Coulds/ Solid Noise" with the next parameters:

  • Detail: 1
  • X Size: 4 or more
  • Y Size: same value as "X Size"
  • Titleable: checked
  • Turbulent: unchecked
  • 3) Lancez le plug-in "Math-Map" (Filtres/ Générique/ MathMap/ MathMap).

    4) Dans le panneau "Settings" cochez "Animate" et "Warp" puis copiez la formule ci-contre dans le panneau "Expression". Ne validez pas tout de suite !

    tt=100*t;
    rr=tt-r;
    p=rr/25;
    #p=(rr/25)*
          (0-rr/25+2);
    p=p*(1-t)*3.5;
    pp=origValRA(4*
          r/(1+t),a)*p;
    pp[3]=1;
    pp
    3) Take the "Math-Map" plug-in (Filter/ Generic/ MathMap/ MathMap).

    4) Check "Animate" and "Warp" in the "Settings" panel and next copy the formula in the center in the "Expression" panel. Do not validate yet !

    Commentaires sur le script
    à lire
    Comments on the script
    must be read
    Cette ligne à pour but de créer une variable temporelle (tt) de grandeur semblable aux variables spatiales (x, y et r). t varie entre entre 0 et 1 alors que x, y et r sont exprimées en pixels et sont donc de l'ordre de la taille de l'image.

    Le coefficient doit être proportionnel à la taille de l'image, 100 convient pour une image de 256 pixels de coté, 200 pour 512 pixels, 50 pour 128.

    tt=100*t; The goal of this line is to create a time-variable (tt) that is comparable in value to space-variables (x, y and r). t change from 0 to 1 while x, y and r are given in pixels and so are comparable to the size of the image.

    The coefficient must be proportionnal to the image size, 100 is OK for a image of 256 pixels, 200 for 512 pixels, 50 for 128.

    Ici, il est important de comprendre que rr :
    1. est négatif quand r est supérieur à tt
    2. diminue "doucement" quand r augmente
    rr=tt-r; Here, it is important to understand that rr :
    1. is negative when r is upper than tt
    2. lessen "gently" when r is raising
    Les lignes ci-contres permettent de définir la forme de l'explosion, celle du haut crée une boule (c'est celle utilisée pour l'exemple). Celle du bas crée un anneau. Il n'est pas faux de dire le facteur (0-rr/25+2) génère le trou central. Mettez en commentaire la ligne inutile en plaçant un "#" devant.

    Le 25 doit-être aussi adapté à la taille de l'image, 25 est une bonne valeur pour un coté de 256 pixels, 50 pour 512 et 12.5 pour 128.

    p=rr/25;
    ou (or)
    p=(rr/25)*
          (0-rr/25+2);
    The two lines show here permit to define the shape of the explosion, the first one generate a ball (this is the one used in the exemple). The second generate a ring. It is not false to say that the factor (0-rr/25+2) make the central hole. Comment the useless line by puting a "#" in front.

    The 25 may be adapted to the image size, 25 is a good value for a size of 256 pixels, 50 for 512 and 12.5 for 128.

    Dans cette ligne, le facteur (1-t) sert à "éteindre" l'explosion (à t=0 : 1-t=1 et à t=1 : 1-t=0).

    Le facteur 3.5 sert à ajuster la luminosité, dans l'exemple il a été réduit à 2.5. Il doit être ajusté empiriquement.

    p=p*(1-t)*3.5; In this line the factor (1-t) is used to fade the explosion (at t=0: 1-t=1 and at t=1: 1-t=0).

    The factor 3.5 is here to adjust the luminosity, in the exemple it was reduced to 2.5. It may be ajusted empiricaly.

    On récupère la texture du fond (créée à la seconde étape). La multiplication par 4 sert à réduire cette texture, c'est à cause de ce facteur qu'il est important que "Morcelable" soit coché lors de la seconde étape et "warp" dans la quatrième.

    le diviseur (1+t) génère l'expansion de la texture avec le temps. Le choix de ce facteur permet une expansion plus lente que celle de l'explosion.

    pp=origValRA(4*
          r/(1+t),a)*p;
    We recover the background texture (created in step 2). The mulpiplication by 4 is here to reduce this texture, this factor is the origin of the importance of cheking "Titleable" in the second step and "Warp" if the fourth.

    The division by (1+t) generate the expansion of the texure over time. The choice of this factor permit this expansion to be slower than the one of the explosion.

    Rend le pixel totalement opaque : son opacité vaut actuellement p à cause de la ligne précédante. pp[3]=1; Make the pixel totaly opaque: its opacity value is actualy p cause of the previous line.
    Retourne la valeur finale.

    Notez que les valeurs négatives sont ramenées à zéro et celles supérieures à un sont ramenées à un.

    Fin du script.
    pp Return the final value.

    Note that the negative values are refixed to zero and the ones greater than one are refixed to one.

    End of the script.
    5) Détruisez le calque d'origine 5) Destroy the original layer
    6) Sélectionnez le gradient "Incandescent" et appliquer le sur tous les calques. 6) Select the gradient "Incandescent" and apply it on evry layer.
    Pour ce faire, lancer "Filtres/ Filtrer tous les calques", sélectionnez dans la liste des filtres "plug-in-gradmap" et lancer le tout avec "Paramètres constants". To do so, launch "Filters/ Filter all Layers...", select "plug-in-gradmap" in the filter list and launch it with constant parameters.
    7) Enregistrez au format gif en tant qu'animation. 7) Save in gif format as an animation.
    8) Visualisez avec votre navigateur habituel. 8) Visualize with your usual browser.
    D'autres exemples peuvent être trouvés sur le site Lune Rouge : You can find over examples on the site Lune Rouge (Red Moon):
    http://www.lunerouge.org/objets/objets_f.htm
    Vous pouvez aussi en trouver un dans ma galerie. You can also find one in my gallery !

    Laurent Despeyroux
    12/12/2002-26/07/2004