gimp

Texture mouvante (Moving texture)

Français
English
Ce tutoriel est celui qui fut le plus difficile à rédiger. Pour être franc, je ne comprends pas moi-même certaines subtilités.

Il 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 the one that was the most difficult to write. To be clear, I does not understand my-self some of its subtilities.

It 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 didn't test this version. Feedbacks are wellcome).

Créez une image en niveaux de gris et utilisez le filtre "Filtres/ Rendu/ Nuages/ Perturbation solide" avec les paramètres suivants :
  • Graine aléatoire: "time" enfonçé
  • Détail : 1
  • Taille X : 4 est une bonne valeur
  • Taille Y : la même valeur que pour "Taille X"
  • Morcelable : coché
  • Turbulent : décoché
  • Create a grayscale image and use the filter "Filters/ Render/ Coulds/ Solid Noise" with the next parameters:
  • Random Seed: "time"
  • Detail: 1
  • X Size: 4 is a good value
  • Y Size: same value as "X Size"
  • Titleable: checked
  • Turbulent: unchecked
  • Recommencez deux fois cette opération afin d'obtenir trois images similaires (de même taille). Repeat twice this operation to obtain three similar images (with the same size).
    Composez une nouvelle image à partir de ces trois premières (clic droit sur l'une/ Image/ Mode/ Composer...) en utilisant une image différente pour chaque canal (notez bien que cette nouvelle image est pavable). Compose a new image with this three images (right clic on one/ Image/ Mode/ Compose) using a different image for each channel (mote that this new image is titleable).
    Décomposer cette image dans l'espace Teinte-Saturation-Valeur ("Image/ Mode/ Décomposer..." choisir "TSV") donne des textures interessantes qui de plus sont naturellement pavables (voir ci-dessous). Decomposing this image in the Hue-Saturation-Value space (Image/ Mode/ Decompose) give interessant textures that are naturaly titleable (see below).
    L'image de la teinte ouvre la voie à une autre méthode pour faire des textures mouvantes. The hue image open an other way to made moving textures.
    Lancez le plug-in "Math-Map" (Filtres/ Générique/ MathMap/ MathMap). Dans le panneau "Settings" cochez "Animate" puis copiez la formule ci-contre dans le panneau "Expression". p=origValXY(x,y);
    b=toRGBA(hsva:
          [t,0.5,0.5,1]);
    dr=p[0]-b[0];
    dr=dr*dr;
    dg=p[1]-b[1];
    dg=dg*dg;
    db=p[2]-b[2];
    db=db*db;
    d=dr+dg+db;
    d=1-abs(d-0.06)*20;
    rgba:[d,d,d,1]
    Take the "Math-Map" plug-in (Filter/ Generic/ MathMap/ MathMap). Check "Animate" in the "Settings" panel and next copy the formula in the center in the "Expression" panel.
    Commentaires sur le script
    à lire
    Comments on the script
    must be read
    Ici commencent les difficultées d'explication. En fait je ne comprends pas bien moi-même comment fonctionne ce script, je vais expliquer ce que je comprends. Here begin the explaination difficulties. In fact I do not understand totaly my-self how the script work, I'll try to explain what I understand.
    La première ligne récupère la valeur du pixel courrant dans l'espace des couleurs. p=origValXY(x,y); The first line is "recovering" the value of the current pixel in the color space.
    La seconde définie une valeur dans cet espace des couleur qui varie en fonction de t en décrivant une orbite, c'est à dire en parcourrant périodiquement une trajectoire fermée (comme le point ci-contre). Cela permettra à la texure de boucler sur elle-même dans le temps comme dans l'espace. Je ne peux pas expliquer l'importance du choix de cette orbite ni comment la choisir. b=toRGBA(hsva:
          [t,0.5,0.5,1]);
    The second define a value in this color space that vary as a function of t describing an orbit, that mean travel periodicaly a closed road (like the point in the center). This will permit the texture to be titleable in time as in space. I can't explain the importance of the choice of this orbit neither how to choose it.
    Ces sept lignes calculent le carré de la distance euclidienne entre la valeur du point courrant et celle défine à la seconde ligne dans l'espace des couleurs rouge-vert-bleu. dr=p[0]-b[0];
    dr=dr*dr;
    dg=p[1]-b[1];
    dg=dg*dg;
    db=p[2]-b[2];
    db=db*db;
    d=dr+dg+db;
    This seven lines calc the square of the euclidian distance between the value of the current point and the one calculated at the second line in the red-green-blue color-space.
    L'avant-dernière ligne est le fruit d'une série d'intuitions que je ne suis pas mesure d'expliquer. d=1-abs(d-0.06)*20; The last but one line come from a series of intutions that I can't explain.
    La dernière retourne le niveau de gris.

    Fin du script.
    rgba:[d,d,d,1] The last one return the gray level.

    End of the script.
    Détruisez maintenant le calque d'origine.

    Sélectionnez le gradient "Incandescent" et appliquez le sur tous les calques via la fonction "Filtres/ Filtrer tous les calques" (sélectionnez dans la liste des filtres "plug-in-gradmap" et lancer le tout avec "Paramètres constants").

    Now, destroy the original layer.

    Select the gradient "Incandescent" and apply it on evry layer through the function "Filters/ Filter all Layers..." (select "plug-in-gradmap" in the filter list and launch it with constant parameters).

    Enregistrez au format gif en tant qu'animation et visualisez avec votre navigateur habituel.
    Save in gif format as an animation and visualize with your usual browser.
    D'autres exemples peuvent être trouvés sur le site Lune Rouge : You can find some over example on the site Lune Rouge (Red Moon):
    http://www.lunerouge.org/objets/objets_f.htm

    Laurent Despeyroux
    18/01/2003-02/11/2003