Dans le fichier de démonstration officiel, un drap de « tissu spatial » finit déchiré en deux pans raides, figés au milieu du noir.18 Rien d'extraordinaire à voir tomber un tissu dans un logiciel 3D. L'intéressant est ailleurs : cette déchirure ne vient pas d'un réglage « force de déchirement » caché dans un panneau. Elle vient d'un graphe de nœuds que n'importe qui peut ouvrir, lire et modifier, contrainte par contrainte.

Tout cela est arrivé sans tambour ni trompette avec Blender 5.2 LTS, le 14 juillet 2026.3 Les nouvelles dynamiques de tissu et de cheveux, encore marquées comme expérimentales, ne sont plus des systèmes fermés branchés à côté de l'application : ce sont des groupes de nœuds construits au-dessus d'un nouveau solveur physique intégré, l'XPBD Solver, lui-même accessible dans Geometry Nodes.12 Le 30 juillet, Jacques Lucke, développeur au cœur du projet, publie un billet qui dit clairement où tout cela mène : des solveurs interchangeables, une physique disponible partout, y compris en mode sculpture, et l'intégration possible de bibliothèques existantes.1

Pour un artiste, ça tient en une phrase : la physique de son animation n'est plus une boîte noire, c'est une matière à démonter. Pour l'écosystème open source, c'est un choix d'architecture, et ces choix-là méritent qu'on les regarde de près.

Une boîte en trop

Un peu d'histoire explique pourquoi ce déplacement est gros. Depuis des années, la physique de Blender vivait dans des compartiments séparés, chacun avec ses panneaux et ses règles internes. Le système de particules gérait les cheveux et les essaims. Le tissu avait son modificateur dédié. Les fluides et la fumée ont été remplacés en bloc en 2020 par Mantaflow, arrivé avec la version 2.82.15 Les corps rigides, eux, reposent sur Bullet, une bibliothèque externe entrée par la porte du moteur de jeu dès l'époque de Blender 2.42 avant d'équiper la scène d'animation quelques années plus tard.17

Chaque système fonctionnait, certains très bien. Mais aucun n'était conçu pour être ouvert. On choisissait des options dans une interface : raideur, amortissement, collisions. Sous le capot, rien n'était fait pour qu'un artiste lise comment le mouvement était calculé, ni pour qu'un troisième contributeur branche son propre solveur. Et les systèmes ne se parlaient guère : faire interagir proprement un vêtement, des cheveux et des débris relevait du bricolage.

En parallèle, une autre partie de Blender changeait de philosophie. Geometry Nodes, lancé fin 2020, transformait la modélisation en programmation visuelle. Les zones de simulation, arrivées avec la version 3.6 en 2023, permettaient déjà de faire porter le résultat d'une image sur la suivante, donc d'écrire de petites simulations maison en nœuds.16 Il manquait la pièce centrale : un vrai solveur physique, assez rapide et assez général, posé directement dans le graphe. C'est précisément ce que livre la 5.2.

Des contraintes, pas des forces

Le cœur technique porte un nom de laboratoire : XPBD, pour extended position-based dynamics. La méthode descend de travaux bien identifiés. En 2006, Matthias Müller et ses collègues publient Position Based Dynamics : au lieu de calculer des forces puis d'intégrer des accélérations, on manipule directement les positions des points pour satisfaire des contraintes, comme « cette arête garde sa longueur ».6 Une décennie plus tard, Macklin, Müller et Chentanez ajoutent la pièce manquante : la conformité, qui laisse une contrainte être souple au lieu de rigide. XPBD était né, présenté à la conférence Motion in Games en 2016.5

Pourquoi cette famille de méthodes a-t-elle conquis les effets visuels ? Elle troque l'exactitude physique contre ce que demandent des artistes : stabilité même à grands pas de temps, contrôle direct du résultat, et rapidité de mise en œuvre. La documentation de Blender le formule sans détour : les points de la géométrie sont simulés comme des masses ponctuelles soumises à la gravité, au vent, aux collisions, et tenues ensemble par des contraintes structurelles comme la longueur d'arête ou la flexion.4 Un tissu, dans ce modèle, n'est qu'un maillage dont les arêtes refusent de s'étirer et dont les faces refusent de se plier trop vite.

Ce choix n'a rien d'exotique. Houdini, la référence des studios d'effets spéciaux, fait tourner son outil Vellum, utilisé pour tissu, cheveux, grains et corps mous, sur une approche explicitement décrite par SideFX comme une extended position based dynamics.13 Depuis Houdini 19 en 2021, Vellum gère aussi fluides et corps rigides par les mêmes algorithmes.14 Blender ne prend donc pas un pari risqué : il adopte une méthode éprouvée en production et la rend publique, jusqu'au dernier nœud.

Cette souplesse n'est pas une peinture posée sur les maths : elle fait partie des maths. XPBD remplace la raideur par son inverse, la complaisance, et la résolution produit pour chaque contrainte un multiplicateur de Lagrange qui se lit comme une force : en newtons pour une longueur d'arête, en newtons-mètres pour un couple de rotation.4 Quand un artiste assouplit un tissu, les groupes de nœuds embarqués traduisent sa valeur intuitive de douceur en complaisance physiquement correcte, selon la propre formulation de la documentation.4 Le curseur du panneau et l'équation du papier racontent la même histoire, ce qui est loin d'être toujours le cas en infographie.

Un nœud nommé solveur

En pratique, la 5.2 embarque un nœud intégré du nom d'XPBD Solver. Son allure n'a rien d'un panneau de physique classique. Son entrée principale s'appelle World, et elle avale un paquet de données typées, des bundles, contenant à la fois la géométrie à simuler, les déclarations de contraintes qui la concernent et les effetteurs extérieurs comme l'amortissement ou les collisions.4 En sortie, le même bundle ressort avec les positions, rotations et vitesses mises à jour après un pas de temps.

L'équipe a documenté le fonctionnement interne en détail, ce qui reste rare pour un solveur grand public. À chaque pas, le nœud intègre les vitesses, avance les positions, détecte les contacts, résout les contraintes par une méthode itérative de Gauss-Seidel, recalcule les vitesses depuis les positions corrigées, puis applique friction et amortissement.4 Le pas peut être découpé en sous-pas interpolés pour la stabilité, y compris pour les colliders animés qui se déforment. Et le solveur expose même en sortie une mesure d'erreur résiduelle : si elle dépasse 1, la documentation conseille d'augmenter le nombre d'itérations. Un solveur qui vous dit quand il a mal résolu, voilà une idée utile.

Schéma du pas de temps du solveur XPBD : intégration des vitesses, détection des contacts, résolution des contraintes par Gauss-Seidel, recalcul des vitesses, puis friction et amortissementLe cycle d'un pas de temps de l'XPBD Solver, tel que documenté par l'équipe Nodes & Physics. Illustration IRZ

Les données qui circulent là-dedans sont lisibles. La géométrie porte des attributs nommés : position, velocity, mass, et pour les rotations un quaternions, une vitesse angulaire, un moment d'inertie.4 Les contraintes elles-mêmes deviennent des attributs, nommés selon un schéma explicite qui indique de quel bundle elles viennent. Autrement dit, une raideur de tissu n'est plus un curseur enfermé dans un modificateur : c'est un champ par point, qu'on peut peindre, moduler, animer. La documentation montre l'exemple d'une raideur de cheveux forte à la racine qui retombe vers les pointes.

Tiges de Cosserat

Les cheveux montrent jusqu'où la méthode pousse. Simuler une boucle de cheveux demande de gérer torsion autant que flexion, et les modèles de poutres classiques s'effondrent là-dessus. L'équipe a choisi le modèle de tige de Cosserat, qui décrit chaque segment de courbe par une position et un repère matériel indépendant, capable de plier, tordre et cisaille.4 En pratique, deux contraintes spécialisés travaillent par paires : l'une empêche l'étirement et le cisaillement, l'autre relie les segments voisins pour préserver leur rotation au repos, celle qui donne aux cheveux raides leur forme et aux boucles leur rebond.

Le détail amusant : ces rotations par segment sont une extension apportée par Blender à la formulation originale d'XPBD, qui ne manipulait que des positions.4 Le projet ne consomme pas seulement la littérature académique, il la prolonge dans son contexte, et documente l'extension.

L'accroche elle-même mérite un regard. La position du premier point de chaque courbe est fixée à un point du mesh de surface, et la rotation du premier segment s'aligne sur la normale, avec possibilité de garder un angle au repos : les cheveux peuvent donc pousser de travers, comme ils le font souvent.4 Rien d'exotique techniquement, mais tout est écrit, nommé, réutilisable dans un autre setup.

Restent les limites, assumées noir sur blanc. Pas d'auto-collision aujourd'hui : différentes parties d'un même tissu se traversent, et la documentation explique pourquoi c'est un problème difficile, dépendant du type de géométrie.4 La détection des contacts plafonne à 60 mètres par seconde de vitesse relative, un point peut n'avoir qu'un seul contact par collider, et la contrainte de flexion actuelle du tissu est explicitement étiquetée provisoire. Le système entier reste marqué expérimental parce que l'équipe refuse de figer un design avant retour large.2 C'est un socle sérieux, pas un produit fini, et personne chez Blender ne prétend le contraire.

Colorier pour aller vite

Un solveur qui vit dans Geometry Nodes partage son temps de calcul avec tout le reste du pipeline. L'effort de parallélisation est documenté, et son mécanisme dit beaucoup de ce que coûte la topologie.4 La plupart des étapes du pas s'exécutent sans peine en parallèle sur tous les points : forces extérieures, intégration, détection de contacts, mise à jour finale. La difficulté arrive avec les contraintes qui touchent plusieurs variables à la fois. Deux contraintes qui tirent sur le même point ne peuvent pas être évaluées en même temps.

Première astuce : le découpage en chunks. La géométrie est tranchée en morceaux, et les contraintes purement locales, épinglage, structure d'un même cheveu, restent confinées dans leur tranche. Quand toutes les contraintes sont locales, le pas de temps entier tourne en parallèle sans aucune synchronisation. Sinon, le solveur passe à un algorithme glouton de coloration de graphe : chaque contrainte reçoit une couleur, deux contraintes qui se partagent une variable ne reçoivent jamais la même, et celles de même couleur s'évaluent ensemble sans risque de s'écraser mutuellement.

Les contacts suivent la même honnêteté. Chaque contact crée une contrainte temporaire, renouvelée à mesure qu'ils changent d'un sous-pas à l'autre. La friction distingue le statique du dynamique, avec l'image de manuel qui va bien : une boîte sur un plan incliné commence à glisser quand l'angle dépasse l'angle de frottement.4 Entre géométrie et collider, le coefficient combiné se calcule comme moyenne géométrique des deux coefficients, convention explicitement documentée plutôt que cachée dans le code.

Effetteurs à la carte

Autour du solveur, la 5.2 installe aussi un vocabulaire qui comptera pour la suite. Un mot d'abord : effetteur. Tout ce qui influence la simulation en est un. Gravity et collision de surface sont intégrés aux assets de tissu et de cheveux. Trois types d'effetteurs personnalisés existent déjà : un collider, qui accepte n'importe quel maillage fermé ; une force personnalisée, qui calcule un vecteur de force par point ; et l'effetteur personnalisé, qui injecte un comportement arbitraire à une étape précise du cycle grâce à une fermeture (closure).12

La fermeture mérite une seconde de lecture. Elle permet d'exécuter du code de graphe à un moment choisi, par exemple juste après la résolution, avec accès à toute la géométrie en cours de simulation. C'est le genre de crochet qu'on trouvait jusqu'ici dans les frameworks de simulation réservés aux studios équipés. Les filtres complètent le tableau : chaque géométrie simulée peut porter des tags, et chaque effetteur déclare lesquels il touche. Deux tissus dans la même scène peuvent ainsi obéir à deux gravités différentes sans duplication de systèmes.

Le catalogue reste jeune, d'ailleurs : en dehors de la gravité intégrée, aucune force toute faite n'est livrée pour l'instant, et la documentation propose de construire les siennes, y compris sous forme d'objets-force grâce au nœud Set Effector et aux Geometry Nodes désormais acceptés sur les objets Empty.12 Une lacune assumée, qui a le bon goût de pointer exactement là où la communauté peut déjà intervenir.

Ces briques font penser à un jeu de construction, et c'est voulu. Les assets haut niveau comme le modificateur Cloth Dynamics ne sont que des groupes de nœuds autour du solveur, volontairement hackables : la première voie de personnalisation documentée consiste à ajouter ou retirer des contraintes dans ces groupes, la seconde à bâtir un système entièrement neuf directement sur l'XPBD Solver, plus exigeante car elle demande de fournir les bundles typés attendus.12 Entre les deux, un spectre complet de profondeurs de bricolage.

La physique comme donnée

Second déplacement, moins bruyant mais tout aussi structurant : les geometry bundles. Introduits en 5.0, les bundles sont des paquets de données arbitraires ; la 5.2 permet de les attacher à une géométrie elle-même, qui les transporte à travers les frontières de modificateurs et même d'objets, champs et fermetures compris.7 Le billet de mai 2025 sur les systèmes déclaratifs montrait où cela menait : des comportements définis ici, consommés là, sans câblage implicite.8

La physique nouvelle est la première grande cliente de cette infrastructure. Quand le modificateur Capture Rest Geometry enregistre comment une surface est passée de sa forme au repos à sa forme déformée, ces données voyagent dans un bundle attaché au mesh, et le système capillaire va les relire plus loin dans la pile.2 Un effetteur posé sur un objet est retrouvé par la simulation parce qu'il a été accroché à la géométrie, pas parce qu'une case à cocher a déclaré une relation globale.1

Ce point me semble plus structurant que le solveur lui-même. Un solveur, ça se remplace. Une convention partagée sur la façon dont les scènes transportent leurs données physiques, ça organise tout un écosystème : c'est elle qui permettra demain à deux solveurs différents de recevoir les mêmes objets, les mêmes tags, les mêmes forces, simplement parce que ces choses-là seront des données standardisées et non des internes de module.

Un moteur emprunté

La feuille de route confirme l'ambition, et elle passe par des emprunts. Pour les fluides, le travail est en cours : le premier morceau public est une pull request ajoutant un nœud Grid Solve Poisson, qui prend une grille scalaire en entrée et résout l'équation de Poisson, la brique mathématique derrière le calcul de pression et de champs d'écoulement en simulation fluide.9 Détail qui vaut le détour : l'auteur du PR est Brady Johnston, biologiste structurel écossais connu pour avoir créé Molecular Nodes, un pont entre biologie moléculaire et Blender. La physique de Blender s'écrit déjà à plusieurs mains.

Pour les corps rigides, le billet cite nommément Jolt, bibliothèque créée par Jorrit Rouwe, multithread, déterministe, utilisée par Horizon Forbidden West et Death Stranding 2.110 Blender « a commencé à regarder » surtout pour les solides. Le précédent de Godot donne une idée du chemin : le moteur de jeu a intégré Jolt dans sa version 4.4 en mars 2025 après que l'extension communautaire a fait ses preuves, et son créateur a aidé aux bindings.11 Un moteur AAA né dans un studio PlayStation devenu brique open source de deux logiciels de création libres : le scénario n'a plus rien de théorique.

Pourquoi ne pas écrire un super-solveur maison ? Le billet répond sans détour : « Un solveur physique unique qui ferait tout serait parfait, mais c'est irréaliste, car chaque solveur comporte ses compromis » (traduit de l'anglais).1 Chaque méthode gagne sur un terrain et perd sur un autre. La stratégie retenue est donc un cadre commun où cohabitent plusieurs moteurs, certains écrits en interne, d'autres repris de bibliothèques existantes, les assets haut niveau choisissant le bon solveur pour la bonne tâche. La réunion du module Nodes & Physics de décembre 2025 liste déjà au programme le remplacement des fonctions du vieux système de particules non-capillaires et l'intégration de Jolt pour les corps rigides dans Geometry Nodes.12

Mains dans le graphe

Qu'est-ce que ça change pour quelqu'un qui fabrique des images ? L'entrée de gamme, déjà, monte d'un cran : ajouter du tissu à un mesh tient en un modificateur, avec pinning, contrôle d'élasticité et de flexibilité, et déchirure intégrés.2 Les cheveux passent par un opérateur qui installe tout automatiquement, surface et contraintes comprises. Les premières créations de la communauté citées sur la page officielle de la version donnent le ton : une végétation qui réagit au passage d'un hippopotame animé, des expériences de tissu optimisées, et ce commentaire d'utilisatrice qui résume l'esprit, « j'ai beaucoup appris sur les nouveaux nœuds du solveur de tissu » (traduit de l'anglais).3

Autre effet bien réel : la physique se rapproche des autres gestes de fabrication. La suite annoncée sur les outils de nœuds modaux doit rendre les solveurs disponibles pour l'édition destructive, en mode édition et sculpture, et dans des applications interactives.1 Traduction : pousser un drapé à la main pendant qu'il résout, sculpter contre une simulation, utiliser la physique comme outil de modelage et pas seulement comme étape finale de calcul. Pour qui a déjà ajusté à l'aveugle un cache de simulation figé, le gain de pratique est facile à imaginer.

Et reste le plus intéressant ici, pour IRZ comme pour tout curieux : le design même du système enseigne quelque chose. Au lieu d'enfermer la simulation dans des panneaux, Blender la traite comme du code ouvert : des contraintes déclarées en données, un solveur remplaçable, des points d'extension documentés, des limites affichées honnêtement. Un artiste curieux peut remonter du tissu qui se déchire jusqu'à l'arête qui a cessé de tenir. Cette traçabilité du geste, la simulation fermée ne l'offrira jamais.

Le sujet reste jeune. Le design peut encore bouger, l'auto-collision manque, et rien ne garantit que chaque promesse de la feuille de route arrive à terme. Mais la direction est posée et publiée, fichiers de démonstration à l'appui.18 La prochaine fois qu'un tissu se déchirera dans votre scène, la bonne question ne sera plus « quel paramètre régler ? ». Ce sera « quelles contraintes ai-je envie d'ouvrir ? ».