Tutoriel : Feu et fumée dans Blender : simulation Mantaflow pas à pas
Un feu de camp, une torche, la fumée d'une cheminée ou le panache d'une explosion : dans Blender, tous passent par le même système, le simulateur de fluides Mantaflow en mode gaz. Il calcule le mouvement de l'air dans une boîte découpée en voxels et produit des grilles de densité, de flamme et de température, que le rendu transforme en volume. Ce tutoriel détaille la mise en place, les réglages qui changent l'allure du feu, le matériau, le bake du cache et la façon de garder des temps de calcul raisonnables.
Les trois pièces d'une simulation
Le manuel décrit le flux de travail minimal : un objet Domain qui délimite le volume simulé, au moins un objet Flow qui émet le gaz, et éventuellement des objets Effector qui le dévient. On assigne ensuite un matériau au domaine, on enregistre le fichier et on bake le cache.
Le raccourci est Object > Quick Effects > Quick Smoke, avec l'objet émetteur sélectionné. L'outil propose trois styles (Smoke, Fire, Smoke & Fire), crée autour de l'émetteur un domaine nommé « Smoke Domain », avec de la place au-dessus, règle le cache en OpenVDB et pose un matériau Principled Volume. C'est une bonne base, que l'on règle ensuite à la main.
1. Le domaine
Ajoutez un cube autour de la zone où le feu va vivre, puis Physics > Fluid, type Domain, Domain Type sur Gas. Le manuel précise que le domaine utilise toujours sa boîte englobante, et que le type ne peut pas changer en cours de simulation.
- Taille : juste assez grand pour contenir la fumée. Le manuel prévient qu'un grand domaine demande plus de résolution et des bakes plus longs. Le gaz qui touche un bord disparaît ou rebondit selon les réglages de Border Collisions.
- Resolution Divisions : le nombre de voxels sur la longueur maximale de sa boîte englobante. Le manuel donne l'exemple d'un cube d'un mètre à 64 divisions, qui en demande 128 pour la même finesse une fois agrandi à deux mètres. Travaillez à 32 ou 64 pour régler le mouvement, et montez seulement pour le bake final.
- Time Scale : en dessous de 1, la simulation passe au ralenti.
- Empty Space : les voxels sous ce seuil sont considérés comme vides. Le manuel indique que cela accélère le rendu et réduit les caches OpenVDB.
2. L'émetteur
Sur l'objet qui brûle (une bûche, un plan au sol, une mèche), ajoutez Physics > Fluid, type Flow, à l'intérieur du domaine :
- Flow Type : Smoke, Fire ou Fire + Smoke. Le manuel note qu'en Fire seul, le domaine ajoute de lui-même un peu de fumée de combustion.
- Flow Behavior : Inflow émet en continu, comme la base d'un feu ; Geometry transforme le volume de l'objet en gaz une seule fois, pour une bouffée ; Outflow retire le gaz qui entre dans l'objet.
- Fuel : la quantité de combustible brûlée par seconde. Plus elle est haute, plus les flammes sont grandes.
- Density et Smoke Color : la quantité et la couleur de la fumée émise.
- Initial Temperature : l'écart avec la température ambiante. Avec la flottabilité thermique du domaine, c'est ce qui fait monter la fumée chaude.
- Flow Source : la surface du maillage (Surface Emission, en voxels), son volume, ou un système de particules pour semer des braises qui fument.
- Vertex Group ou une texture limitent l'émission à une zone de l'objet, pour qu'une bûche ne brûle pas sur toute sa longueur.
3. Les réglages qui font l'allure du feu
Dans le panneau Gas du domaine :
- Buoyancy Density et Buoyancy Heat : la fumée monte ou retombe selon sa densité et sa température. Une fumée lourde, comme celle d'un fumigène au sol, demande une Buoyancy Density négative.
- Vorticity : la quantité de tourbillons. Le manuel montre l'écart entre 0 et 0,2 : de petites volutes contre des formes lisses.
- Dissolve : fait disparaître le gaz au bout d'un nombre d'images, avec l'option Slow pour une fumée qui s'efface vite puis traîne.
Dans le sous-panneau Fire :
- Reaction Speed : la vitesse de combustion. Le manuel précise qu'une valeur haute donne de petites flammes, une valeur basse de grandes flammes.
- Flame Smoke : la fumée produite par le combustible brûlé.
- Temperature Maximum et Minimum : plus elles sont hautes, plus les flammes montent vite.
4. Ajouter du détail sans tout recalculer
Le panneau Noise ajoute de fines turbulences par-dessus la simulation de base, sans changer son mouvement d'ensemble. Le manuel explique que Upres Factor multiplie la résolution du bruit, Strength l'intensité des tourbillons et Scale leur taille. Il compare une simulation à 200 divisions sans bruit et une simulation à 100 divisions avec un bruit d'échelle 2 : deux allures différentes pour une grille finale de même finesse. La méthode qui en découle : régler et baker la simulation de base, puis ajouter le bruit, que le cache de type Modular calcule à part. Le panneau Adaptive Domain, lui, rétrécit le domaine autour du gaz pour ne pas calculer les voxels vides.
5. Le matériau
Le manuel recommande le Principled Volume pour rendre la fumée. Branchez-le dans l'entrée Volume du Material Output du domaine, et laissez l'entrée Surface vide :
- Density Attribute sur « density » et Color Attribute sur « color » lisent les grilles de la simulation.
- Density règle l'opacité de la fumée. Quick Smoke la pose à 5.
- Blackbody Intensity à 1 fait émettre le volume selon la température, comme un corps chauffé. Le manuel indique que 1 donne une intensité physiquement juste. Temperature Attribute lit la grille « temperature ».
Pour un contrôle plus fin, le nœud Volume Info fournit les grilles Density, Flame et Temperature. Le manuel précise que la température y va de 0 à 1 pour 0 à 1 000 kelvins : elle doit être remise à l'échelle avant d'entrer dans un nœud Blackbody. On peut ainsi piloter Emission Strength par la sortie Flame pour régler la luminosité des flammes indépendamment de la fumée.
6. Le cache et le bake
Dans le panneau Cache du domaine :
- Cache Directory : le dossier où sont écrits les fichiers de la simulation. Il est extérieur au fichier .blend.
- Frame Start et End : le manuel rappelle que seules ces images sont simulées. Un plan plus long que la plage par défaut demande d'augmenter End.
- Type : Replay calcule en lisant la timeline, Modular bake par étapes (simulation, puis bruit), All bake tout d'un coup.
- Format : OpenVDB range toutes les grilles d'une image dans un seul fichier .vdb, avec une compression et une précision réglables (Full, Half, Mini).
Enregistrez le fichier avant de baker : c'est l'une des étapes du flux de travail décrit par le manuel.
Erreurs courantes
- Rien n'apparaît : l'émetteur est hors du domaine, ou le panneau Noise est coché sans bruit baké. Le manuel signale que le domaine paraît alors vide.
- La fumée bute contre un plafond invisible : le domaine est trop bas, ou son bord supérieur est fermé dans Border Collisions.
- Des flammes en escalier : la résolution est trop basse pour la taille du feu. Montez les divisions ou ajoutez du bruit.
Pour un nuage de poussière après une destruction, ce même système prend le relais des corps rigides, comme expliqué dans notre tutoriel sur la destruction d'objets. Pour l'eau, voyez la simulation de liquide avec Mantaflow, et pour les réglages qui accélèrent le rendu des volumes, notre tutoriel sur le rendu volumétrique dans Cycles. La fiche éclairage volumétrique dans Blender complète le sujet.
Et au rendu ?
Le cache d'une simulation vit à côté du fichier, pas dedans. Avant l'envoi, l'add-on TURNA signale les domaines de fluide dont le dossier de cache est introuvable, car une simulation non bakée n'apparaît pas dans l'image. Pour qu'il parte avec la scène, placez le Cache Directory dans un sous-dossier de //caches/, à côté du fichier .blend, en chemin relatif, et désignez ce dossier dans les options Pro de l'add-on. Les images de l'animation sont ensuite réparties sur 1 à 8 machines GPU, au temps réellement consommé. Le calculateur de temps de rendu donne une estimation avant de lancer.
Calculez vos rendus Blender sur des GPU loués à la demande
TURNA répartit vos scènes Blender, en Cycles comme en Eevee, sur 1 à 8 machines GPU en parallèle. De 2,90 à 49,90 €/h selon le palier, facturés au temps réellement consommé, estimés avant le lancement. 25 € de crédits offerts à l'inscription.
Créer un compte Voir les tarifs