GIMP Motion: partie 2 — animations complexes

Voici la seconde vidéo d’introduction de GIMP Motion, notre plug-in pour de l’animation de qualité professionelle avec GIMP. Comme déjà écrit, c’est un travail en cours, les bugs et problèmes sont normaux à ce stade de développement. Je revois aussi régulièrement certains concepts au fur et à mesure qu’on les expérimente en produisant ZeMarmot. En étant conscients de ces points, n’hésitez pas à tester mon code, disponible dans le dépôt officiel de code source de GIMP sous la même licence que ce dernier (GPL v3 et au dessus). À terme, cela devrait être livré avec GIMP lui-même, quand j’estimerai que ce sera stable et suffisamment bon. Plus nous aurons de financement participatif (voir fin de l’article pour les liens de crowdfunding) plus cela se produira vite. 😉

Alors que la vidéo précédentes introduisait les « animations simples », c’est-à-dire principalement des animations où chaque calque est une image finale de l’animation, cette seconde vidéo montre comment créer des animations « composites » où les images sont le résultat de l’association de plusieurs calques. Par exemple un calque de fond, des calques séparés pour un personnage, d’autres pour un second personnage, et même des calques à part pour des objets mobiles ou des effets (par exemple les traces dans la neige dans la scène en fin de vidéo).

Je montre aussi rapidement comment « jouer » avec la caméra, par exemple du « panning » dans une scène plus grande que l’écran pour suivre des personnages. Lorsque le logiciel sera fini, on devra pouvoir aussi animer tout effet (opérations GEGL). Par exemple pour flouter l’arrière ou l’avant plan, pour ajouter des effets de lumière (reflets ou autre…), ou simplement des effets artistiques ou du motion graphics…
Comme je le disais, c’est du travail en cours.

Un aspect difficile du projet est de garder une expérience fluide. Faire du rendu de dizaines d’images, chacune compositée à partir de plusieurs images hautes résolutions et d’effets complexes, cela prend du temps; or on ne veut pas « geler » l’interface, de même qu’on veut rendre possible la prévisualisation d’animation dès que possible et aussi fluide que possible. J’ai beaucoup travaillé et expérimenté sur ces aspects car, d’expérience, ce sont les points les plus pénibles en travaillant avec Blender où on s’est résigné à constamment faire des rendus d’extraits pour pouvoir les visionner dans des conditions acceptables (la prévisualisation est bien trop lente, même avec une bonne carte graphique, 32GB de RAM, un  bon processeur et des disques SSD).
Un résultat direct dans GIMP sera de rendre enfin libgimp thread-safe (mon patch est encore en attente de revue, mais il marche déjà très bien pour nous, comme vous pouvez le voir si vous testez notre branche). Cela sera donc une belle avancée pour tout type de plug-ins, pas seulement pour l’animation.
Cela m’a ainsi permis d’expérimenter plus facilement avec le multi-threading dans mon plug-in et je suis assez content du résultat jusqu’à présent (bien qu’il y ait encore beaucoup à faire).

Un autre gros chantier est d’avoir une interface aussi simple à utiliser que possible, tout en proposant des fonctionnalités avancées. Nous avons tant de problèmes dans d’autres logiciels où les options les plus avancées sont si complexes à utilisés qu’on ne peut que mal les utiliser… Bien entendu, c’est très compliqué (ce pourquoi c’est un problème dans tant de logiciels; je n’entends pas qu’ils sont mal implémentées: la solution n’est simplement jamais aussi simples qu’elle n’en a l’air) mais nous y travaillons. Aryeom me rappelle sans cesse les bugs et problèmes d’interface de toutes façons, donc je n’ai pas d’autres choix. 😉

Vous avez peut-être aussi remarqué que nous travaillons sur de très courtes animations. Nous dessinons en fait un unique plan par fichier XCF. Puis nous exporterons les images depuis GIMP Motion et travaillerons sur les transitions et davantage de compositing dans un autre logiciel (jusque là Blender VSE; on entend aussi beaucoup de bien de Kdenlive ces derniers temps, donc on réessaiera probablement; pour tout dire, ces 2 vidéos d’introduction furent faites avec Kdenlive également et c’est effectivement mieux que dans mes précédents tests). Puisque 2 plans présentent 2 points de vue totalement différents (par définition), il n’y a de toutes façons pas trop d’intérêt à les dessiner dans le même fichier. L’autre raison est que GIMP n’est pas fait pour travailler avec des milliers de calques haute-définition. Même si GEGL permet de travailler sur des images plus grandes que la mémoire en théorie, cela n’est pas idéal dans la pratique, surtout si on veut des rendus rapides (certains ont essayés! J’ai moi-même testé pour débugguer: ce n’est clairement pas utilisable au quotidien, comme on peut s’y attendre). Tant que GIMP est destiné à de l’imagerie statique, on peut considérer que c’est un état de fait acceptable. Si un jour l’animation devait devenir une fonctionnalité au cœur de GIMP, alors nous pourrons réfléchir à une utilisation plus intelligente de la mémoire.
D’un autre côté, un plan fait rarement plus de quelques secondes ce qui rend l’usage mémoire très raisonnable. En outre travailler sur l’animation plan par plan est un workflow des plus standards et qui prend tout son sens dans l’animation 2D (pour le cinéma avec acteurs ou la 3D, c’est une complètement autre histoire; je parle vraiment de 2D dessinée ici), donc ce n’est vraiment pas un si gros problème pour l’instant (même si ça peut toujours être mieux).

En conclusion, vous vous demandez peut-être d’où vient ce terme de « cel animation« , aussi connu sous le terme d’animation « traditionnelle ». Un jour peut-être, je ferai un petit historique sur l’animation qui vous donnera la réponse, et vous montrera comment le workflow de GIMP Motion s’en inspire beaucoup. Pour le moment, vous pouvez jeter un œil à Wikipedia, et voir comment les « cels » (des feuilles transparentes) correspondent plutôt bien au concept de « calques » de GIMP. 🙂

Bon visionnage!

Équipe ZeMarmot

Rappel: vous pouvez soutenir mes contributions de code
Libre en dollar US sur Patreon ou en euros sur Tipeee.
Plus nous obtenons de financement, plus rapidement nous
tout le monde aura accès à ces fonctionnalités dans les
versions stables de GIMP, ainsi qu'à plein d'autres
fonctionnalités sur lesquelles je travaille en parallèle.
:-)

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comment ID: 3kYyPg