Animation procédurale : scripts, expressions et automatisations en motion design
Animer mille particules une par une est impossible ; décrire la règle qui les anime prend dix minutes. C'est tout le principe de l'animation procédurale : on ne fixe plus chaque position, on écrit le comportement. Un changement de paradigme qui a transformé la 3D et le motion design.

Animer une règle plutôt qu'une position
La génération procédurale désigne la création de données par algorithme plutôt que manuellement (Wikipédia, Procedural generation). En animation, cela veut dire : au lieu de poser des images clés, on définit des relations. Cette lumière suit cet objet, ces lettres apparaissent avec un décalage proportionnel à leur position, ces particules fuient la caméra.
Les trois familles d'outils
Les expressions. Dans After Effects, de petites formules relient un paramètre à un autre : une oscillation, un rebond, un décalage automatique. C'est la porte d'entrée du procédural en motion design 2D.
Les nœuds. Houdini a fait du procédural sa philosophie : chaque étape d'une scène est un nœud dans un graphe que l'on peut modifier à tout moment, et tout le reste se recalcule (SideFX, documentation Houdini). Blender propose une approche comparable avec les Geometry Nodes (Blender, manuel Geometry Nodes).
Les scripts. Python dans les logiciels 3D, JavaScript dans After Effects : pour automatiser les tâches répétitives, générer des variantes ou décliner un film en dizaines de formats.

Pourquoi c'est précieux sur un projet de marque
Les modifications tardives. Le client change la couleur, le texte ou la durée la veille de la livraison : dans une scène procédurale, un paramètre suffit, tout se recalcule.
Les déclinaisons. Le même système produit le 16:9, le 9:16 et le 1:1, ou dix langues de typographie.
La complexité organique. Fluides, poudres, foules de particules, motifs qui poussent : ce que la main ne peut pas animer, une règle le peut (matières, textures).
Le piège : perdre l'intention
Un système procédural produit facilement de la complexité sans direction : des motifs fascinants qui ne disent rien. Les principes de l'animation restent valables : un mouvement doit avoir un timing, une intention, une hiérarchie. Mon usage : le procédural pour la matière et les variations, la main pour les moments clés. Le meilleur des deux est souvent une animation procédurale sur laquelle on reprend quelques images clés à la main.
[OUTIL] TRAIL & EASING LAB
Réglez la courbe, la traînée et le flou de bougé
Déplacez les deux poignées de la courbe, ajustez la traînée et l'angle d'obturateur. Le CSS et l'expression After Effects se mettent à jour en direct.
cubic-bezier(0.42, 0, 0.58, 1) · 1.2s · obturateur 180° · traînée 120 ms (vitesse)
COURBE · CUBIC-BEZIER
PRESETS
La courbe standard du CSS (ease-in-out).
180° correspond au flou naturel du cinéma ; 0° supprime le flou, 360° le double.
CSS
transition: transform 1.2s cubic-bezier(0.42, 0, 0.58, 1); /* ou */ animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
RÉGLAGES AFTER EFFECTS
Paramètres de composition > Avancé > Angle d'obturateur : 180° · Phase : -90° Effet Écho : Temps d'écho -0.015 s · Nombre d'échos 8 · Intensité de départ 1 · Atténuation 0,6 · Opérateur : Composite à l'arrière Velocity trail : relier l'Intensité de l'Écho à la vitesse (expression : linear(length(transform.position.velocity), 0, 2000, 0, 1)) Durée entre les 2 images clés : 1.2 s (29 images à 24 i/s)
EXPRESSION AFTER EFFECTS
// Trail & Easing Lab · cubic-bezier(0.42, 0, 0.58, 1)
// À coller sur une propriété (Option/Alt + clic sur le chrono), entre les 2 premières images clés.
var x1=0.42, y1=0, x2=0.58, y2=1;
function bz(t,a,b){return 3*a*t*(1-t)*(1-t)+3*b*t*t*(1-t)+t*t*t;}
function dbz(t,a,b){return 3*(1-t)*(1-t)*a+6*(1-t)*t*(b-a)+3*t*t*(1-b);}
function solve(x){var t=x;for(var i=0;i<8;i++){var s=dbz(t,x1,x2);if(Math.abs(s)<1e-6)break;t-=(bz(t,x1,x2)-x)/s;}return Math.min(1,Math.max(0,t));}
if (numKeys > 1) {
var k1 = key(1), k2 = key(2);
if (time <= k1.time) { k1.value; }
else if (time >= k2.time) { k2.value; }
else {
var e = bz(solve((time - k1.time) / (k2.time - k1.time)), y1, y2);
add(k1.value, mul(sub(k2.value, k1.value), e));
}
} else { value; }L'expression reproduit la courbe entre les deux premières images clés de la propriété, valeurs simples ou vecteurs (position, échelle).

Pour voir ces outils au service de films de marque : le pipeline motion design 3D.
Questions fréquentes
Qu'est-ce que l'animation procédurale ?
Une animation définie par des règles, expressions ou nœuds plutôt que par des images clés posées à la main.
Houdini ou Blender Geometry Nodes ?
Houdini est la référence historique du procédural en production ; Blender Geometry Nodes offre une approche comparable, gratuite et intégrée à Blender.
Faut-il savoir coder pour faire de l'animation procédurale ?
Pas forcément : les nœuds sont visuels ; les expressions et scripts deviennent utiles pour automatiser et décliner.
Les prompts de cet article
Les images et le film de cet article sont générés à partir des prompts ci-dessous, en Flux pour les images et en MiniMax Hailuo pour la vidéo. Copiez-les, adaptez-les à votre marque.
- 01Procedural generation (Wikipédia)[ en.wikipedia.org ]
- 02SideFX, documentation Houdini[ www.sidefx.com ]
- 03Blender, manuel Geometry Nodes[ docs.blender.org ]
Vous cherchez un directeur artistique et motion designer de confiance pour votre projet ?