Accueil

Traduction

Tutoriel Inkscape - sommaire

Tutoriel Inkscape - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

Animation des documents Inkscape

Inkscape est incapable de générer du SMIL (langage d'animation de SVG).
Il faut donc générer avec Inkscape un dessin vectoriel statique puis ouvrir le document Inkscape avec un éditeur de textes tel Notepad, pour rajouter du code d'animation (JavaScript ou SMIL ou CSS).

Animer avec SMIL

Observez attentivement quelques secondes (au moins 10) l'image ...

La flèche (contour bleu) s'affiche durant 4 secondes puis disparaît tandis le nom de la discothèque (Saturne Dancing) apparaît durant 4 secondes. Ce cycle de 8 secondes se répète à l'infini.


Le travail avec Inkscape

Je vous explique ma démarche avec le logiciel Inkscape.

Dans un canevas qui fait 400 par 400 j'ai produit les objets suivants :

Le travail avec un éditeur

Animer la flèche

Il faut repérer le groupe de formes correspondant à la flèche bleu. C'est facile ce sont deux formes ayant la valeur #0000ff (bleu) pour l'attribut stroke. Et oui, vous voyez ça sert d'avoir des notions du langage SVG !
Ensuite j'ai changé la valeur de l'attribut ID de la balise G par "fleche" .
Dans ce groupe donc toujours à l'intérieur du conteneur G j'ai rajouté une instruction SMIL avec le code suivant :

Sens : La flèche est affiché 4 secondes (8 secondes * 0.5) puis masquée 4 secondes durant un cycle de 8 secondes qui se répète à l'infini.

Animer le texte

Ensuite il faut repérer la balise text (valeur de l'attribut fill : #ff0000) et insérer le code suivant à l'intérieur du conteneur :

Sens : le texte est masqué 4 secondes puis affiché durant 4 secondes durant un cycle de 8 secondes qui se repète à l'infini.

Donc quand la flèche est affiché "Saturne Dancing" est masqué et vice-versa.

Animation avec CSS

Dans le document ci-dessus l'animation consiste à manipuler le calque supérieur qui devient progressivement de plus en plus transparent. Puis le cycle s'inverse et tout cela de façon infinie.

Le code de l'image vectorielle

Le code SVG proprement dit a été généré par Inkscape.
Il consiste en deux calques, chaque calque contenant deux objets.

Sous NotePad je me suis contenté d'ajouter un ID à chaque calque (car en "sortie SVG optimisée" Inkscape ne le fait pas forcément).
Et j'ai rajouté la feuille de style : modèle d'animation (keyframes) et la règle qui précise les éléments concernés par ce modèle.

Inskscape : animation en 3D

Jusqu'à présent nos animations étaient plates. Dans cette page je vous propose une animation 3D : un jet atterrissant sur la piste.
L'avion est d'abord minuscule puis grossit de plus en plus. Donc effet 3D !
Vous allez découvrir qu'en fait c'est très simple.

Mais attention on ne peut se contenter d'utiliser le logiciel Inkscape. Il y a quelques lignes de code SVG à saisir directement dans la page Web.

À la différence d'une boite HTML et via CSS3 on ne peut pas créer sous SVG de zone 3D.
Donc on ne peut pas translater selon l'axe Z. L'effet 3D est rendu par un changement d'échelle.

Travaux avec Inkscape

Production avec Inkscape du décor : "piste.svg"

Cette image vectorielle sera le "background" du canevas SVG. document inkscape

Ce document Inkscape fait 900 pixels par 600.

Production avec Inkscape du "sprite" : "avion.png"

Toujours avec Inkscape j'ai ensuite produit le document avion.svg
Voir le rendu ci-dessous : document inkscape

Toujours avec Inkscape j'ai exporté au format PNG pour obtenir : "avion.png".

Utilisation de NotePad

Il faut maintenant animer l'avion : translation 2D et changement d'échelle (pour créer un effet 3D).
On peut utiliser le SMIL ou le CSS ou le JavaScript.
Je ne présenterai que la solution CSS.

Solution avec CSS

Le rendu :

Le code SVG correspondant :

Le code CSS correspondant :