• [^] # Re: Animation et SVG

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Flash d’Adobe à l’agonie. Évalué à 10.

    Autre chose, tu parles de notion de keyframe pour l'animation SMIL. De la petite connaissance que j'en ai, ce n'est justement pas le concept retenu mais on ne parle peut être pas de la même chose.

    Une keyframe, c'est une image à laquelle un animateur donne une importance particulière pour une animation réussie. Souvent ce sont des images qui décrivent l'extrémité d'un mouvement (mais pas seulement). Tu peux aussi voir ça ainsi: en général dans une grosse boîte, l'animateur va dessiner les keyframes, et le stagiaire/assistant les images intermédiaires (inbetween). Bien sûr pas forcément vrai, on lit que certains animateurs perfectionnistes laissaient presque rien aux assistants.

    Quand ce terme est passé dans le monde informatique (vectoriel et 3D surtout), les assistants sont devenus des... algorithmes d'interpolation. En gros les keyframes sont simplement les positions décidées par l'animateur, et l'ordinateur génère le reste par interpolation. Toute position décidée comme "fixée" à un instant t par un animateur est une keyframe.

    Dans SMIL, l'animation d'un objet SVG ne se fait bien sûr pas en terme de numéro d'image (la notion de fps n'a pas trop de sens lorsque l'animation est générée en live, seulement lorsqu'on fait un rendu) mais temporelle, c'est la seule différence. En un sens, c'est plus simple pour les animateurs modernes. Pour être plus précis, on va définir des keyframes en terme de pourcentage d'une durée d'animation. Par exemple on fait bouger un bras pendant 0.3 secondes, et on va définir 3 keyframes, l'un à 0%, le second 40% et le dernier à 100%. Je préfèrerais peut-être définir en terme de seconde mais en même temps, je peux comprendre: cela permet de changer la durée d'animation sans changer la qualité du mouvement en proportionnel (on se dit que c'est trop lent et on veut le mettre en 0.2%, on change juste la durée).
    Et bien sûr le contenu d'une keyframe n'est pas une image, mais des propriétés SVG (coordonnées, distance, angle de rotation, valeur d'opacité...). Mais ça c'est inhérent au format et à ce qu'est une "image" en SVG. :-)

    Donc oui au final, ce sont des keyframes pour moi. :-)
    Note que l'animation CSS est très similaire.

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]