From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.
in progress Inprogress50.jpg 30%
 --Fredoun 07:06, 3 November 2011 (CET)

Simulation de Fumée

Le nouveau simulateur de fumée est basé sur le document 'turb.php|Wavelet Turbulence pour la simulation des fluides', par des exemples de code, a été mis en place dans Blender par Daniel Genrich, et est actuellement maintenu par Janne Karhu.

Le simulateur utilise un modèle de fluide volumétrique, avec des grilles de Voxel en sortie de résultat. Ces données Voxel sont visualisées de façon interactive dans la vue 3D de Blender en utilisant une texture OpenGL personnalisée, et peut être rendu en utilisant la texture de données Voxel. La Simulation de fumée de Blender enveloppe de Voxel les Particules existantes . Il nécessite un objet émetteur de particules et un objet 'domain' dans lequel la fumée est rendue.

(NdT : Texte original : “The simulator uses a volumetric fluid-based model, with the end results output as voxel grids. This voxel data is visualized interactively in Blender's 3D view using custom OpenGL shading, and can be rendered using the Voxel Data texture. Blender's smoke simulation wraps Voxels around existing Particles. It requires a particle-emitting object and a 'domain' object within which smoke is rendered.”).

Cette partie de documentation utilise la version 2.58


Le simulateur de fumée est basé sur le simulateur de fluide. Un objet de domaine et de flux est requis pour la simulation de fumée.

L'objet Domain de fumée

Comme le simulateur de fluide, la plus part des paramètres sont accessible quand l'objet 'Domain' est sélectionné.

Déroulement

  • Créer ou définir un objet comme un Domaine, ou un maillage marques les limites du volume de simulation.
  • Créer ou définir un objet comme un Flux, lequel détermines le point de départ de la production de fumée.
  • Définit un objet Collision, pour faire interagir la fumée avec les objets de la scène.

Domain

Créer le Domaine

Avant que vous puissiez ajouter de la fumée à votre scène, vous devez définir la zone où a lieu la simulation de la fumée. Dans la physique de Blender c'est appelé un domaine. La bonne idée est de choisir un cube parce que vous pouvez le dimensionner, par la suite, à la vue de votre caméra. Dans notre cas nous avons juste agrandi le cube par défaut en tapant S et en faisant glisser la souris.

Ne modifiez pas les sommets du domaine
! Si vous voulez un plus gros domaine, modifiez l'échelle de l'objet. Le modifier en mode d'édition conduira à ce que votre fumée apparaisse plus d'une fois pendant le rendu, comme une texture répétée.


Assurez-vous que vous êtes en mode objet et allez dans l'onglet physique. Ajouter de la fumée et a choisi le bouton radio [[Literal|Domain}}. C'est tout pour l'instant, nous allons revenir aux nouveaux réglages qui viennent d'apparaitre plus tard.

L'onglet Physics peut être caché Ajouter la fumée Choisir Domain pour le cube

Options

Les options du bouton Domain.
Résolution "Resolution"
Comment est détaillée la fumée. Une résolution de 32 sera pré-calculée en quelques secondes, alors qu'une résolution de 100 peut prendre jusqu'à une demi-heure sur la plupart des PC.
Échelle du Temps "Time Scale"
Affecte la vitesse de la simulation joue.
Collision aux frontières "Border Collisions"
Ouverture verticale "Vertically Open"
La fumée disparaît quand elle entre en collision avec le haut et le bas du domaine.
Ouvert Open
La fumée disparaît quand elle traverse les frontières du domaine.
Collision total "Collide All"
Les limites du domaine sont traitées comme des objets de collision, la fumée entre en collision et reste à l'intérieur.
Température et densité "Temperature and Density"
De combien la densité et la température affecte le déplacement de la fumée. Des valeurs plus élevées font montée plus rapidement la fumée.
Tourbillon "Vorticity"
Affect les turbulences/rotations, ou les tourbillons de la fumée.
Dissipation "Dissolve"
Permet à la fumée de se dissiper au fil du temps.
Temp "Time"
La vitesse de dissipation de la fumée.
Lente "Slow"
Utilise 1/Time au lieu de Time, rend la dissipation de la fumée plus lente.

Groupe de fumée "Smoke Groups"

L'onglet goupe
Groupe de flux "Flow Group"
Limite les objets 'fluid' à ce groupe.
Groupe de collision "Collision Group"
Limite les collisions à ce groupe.


Fumée Haute Résolution "Smoke High Resolution""

Les options de l'onglet High Resolution

L'option haute résolution vous permet de simuler à basse résolution, puis utilise les techniques du bruit pour améliorer la résolution sans réellement la calculée. Cela permet aux animateurs de mettre en place une simulation à basse résolution rapidement et ensuite d'ajouter des détails, sans changer le mouvement général du fluide.

Différentes méthodes sont disponibles pour cela, y compris celle par défaut: Wavelet, qui est une mise en œuvre de 'turb.php|Wavelet Turbulence for Fluid Simulation'

Résolution/Divisions "Resolution/Divisions"
Améliorer la résolution de la fumée par ce facteur en utilisant du bruit.
Emetteur Lisser "Smooth Emitter"
Fumée émise lissée pour éviter des paquets.
Afficher la Haute Résolution "Show High Resolution"
Montre la haute résolution en utilisant l'amplification.
Mode de bruit "Noise Method"
Ondelettes "Wavelet"
FFT
Force "Strength"
Force du bruit

Force des champs sur la fumée "Smoke Field Weights""

Détermine à quel point les différentes forces et les champs de force affectent la fumée.

Gravité "Gravity"
De combien la fumée est affecté par la gravité.
Tout "All"
Modifications de l'influence globale de l'ensemble des champs de force.

Les autres paramètres déterminent de combien les différents champs de force affectent la fumée.

Fumée avec un champ de force Wind.

Flot

Créer un objet de flux

Maintenant que nous avons défini le volume qui va contenir la fumée, nous allons ajouter un objet à partir duquel la fumée sera émise. Ajouter un autre cube et assurez-vous qu'il est à l'intérieur du domaine ⇧ ShiftA » Mesh » Cube; (la vue 3D doit être sélectionnée).

Alors que vous êtes dans le mode d'édition, allez sur l'onglet physics et ajoutez aussi de la fumée sur le petit cube. Cette fois-ci choisissez Flow.

La fumée ne sera pas émise par l'objet lui-même, mais à partir de particules de l'objet émetteur. Nous avons donc besoin de mettre en place un système de particules. Avec le petit cube sélectionné, à l'onglet des particules. Ajoutez un nouveau système de particules et désactivez la physique parce que nous voulons que notre fumée émette d'un point fixe. Nous ne voulons pas voir les particules, désactivez aussi le rendu.

L'onglet particules est juste à côté de l'onglet de physique Nous ne voulons pas que les particules soient affectées par la physique Nous ne voulons pas voir les particules

Maintenant, retournez à l'onglet physique et choisissez le système de particules dans la section {Literal|Smoke}. Il devrait y avoir une liste avec un seul système, choisissez celui qui est nommé 'ParticleSystem' puisque nous n'avons pas changer le nom. Maintenant, vous pouvez parcourir la timeline pour voir la fumée provenant du cube. Une autre façon de prévisualiser la fumée est de commencer l'animation par AltA (arrêt de la même manière).

Sélectionnez le système de particules nouvellement créé ici parcourir la timeline ou utilisez ALT+A Maintenant il devrait y avoir de fumée dans l'éditeur

Paramètres

'Outflow'
Supprime la fumée de la simulation.
Système de particules 'Particle System'
Système de particules émis par cet objet.
Vitesse initiale 'Initial Velocity'
La fumée hérite sa vitesse des particules émettrices.
Multiplicateur 'Multiplier'
Multiplicateur pour ajuster la vitesse transmise à la fumée.

Valeur initiales

densité absolue 'Absolute Density'
Uniquement la valeur de la densité permise en zone émettrice.
Densité 'Density'
Valeur initiale de densité.
Écart de température 'Temp. Diff.'
Écart de température par rapport à la température ambiente.

Collisions

La fumée peut entrer en collision avec des objets 'mesh', en utilisant l'option 'Collision' dans l'onglet smoke. Actuellement, seuls les objets de collision statiques sont pris en charge.

Forces

Les champs de force de Blender (comme le vent ou les champs vortex) sont également pris en charge, en modifiant la simulation de fumée comme ils le font pour les systèmes physique tels les particules.

Rendu de fumée

Créer le matériau

Simuler la fumée est facile, mais effectuer un rendu de fumée est plus ardu.

Le rendu sans le matériau de fumée correct.

Effectuer un rendu à ce stade de la simulation affichera uniquement le domaine, qu'il s'agisse d'un rendu image(F12) ou animation (CtrlF12).

Le matériau doit être un matériau volumétrique avec une densité de 0, et une échelle de densité élevée. Les paramètres matériau.

Le premier problème peut facilement être résolu en travaillant sur le matériau (material) et sur la texture du domaine. Pour être rendue correctement, la fumée a besoin d'un matériau complexe. Selectionnez le domaine, rendez-vous dans l'onglet 'Material'. Ici, changez le matériau à 'Volume' et baissez la densité (Density) à 0. Si la valeur du paramètre 'Density' est supérieure à 0, le domaine sera rempli avec le matériau. Les autres paramètres affecteront aussi la fumée. Nous en parlerons plus tard.

Rendez-vous dans l'onglet 'Material'. La fumée a besoin d'un matériau de type 'Volume'. La densité ne s'applique qu'au cube, donc nous devons la baisser à 0.

Add Texture

In addition, Smoke requires its own texture. Blender 2.5 has a new texture just for rendering smoke called Voxel Data. You must remember to set the domain object and change the influence.

The texture settings.

Go to the texture tab and change the type to 'Voxel Data'. Under the Voxel Data-Settings set the domain object to our domain cube (it should be listed just as 'Cube' since we are using Blender's default cube. Under Influence check 'Density' and leave it at 1.000 (Emission should be automatically checked, too). Now you should be able to render single frames. You can choose to color your smoke as well, by turning "Emmision Color" back on.

Blender3D FreeTip.gif
To see the smoke more clearly
Under the world tab, chose a very dark color for the horizon.


We need to add a texture of the smoke Type should be Voxel Data The domain is once again our big cube Use density as influence Finally your first smoke render :)

The rendered smoke. It's hard to see, but it's there.

Extending the Smoke Simulator: Fire!

You can also turn your smoke into fire with another texture! To make fire, turn up the Emmision Value in the Materials panel.

The Fire material.

Then, add another texture (Keep the old texture or the smoke won't show). Give it a fiery color ramp- which colors based on the alpha, and change the influence to emmision and emmision color. Change the blend to Multiply.

The fire texture settings.

The fire render.


Baking Smoke Simulations

If you want to render an animation, you need to bake your smoke first. Baking is simply calculating a simulation. To bake the smoke, the file must be saved. The calculations are stored in a cache file which can be named. On occasion, Baking may crash Blender. [See troubleshooting]

By scrubbing through the timeline or running the animation in the viewport via AltA you already did some realtime-baking to the memory. But for rendering the animation, the baked data must be on disk. And before you can bake, you need to save your Blendfile.

Next select the domain cube and go to the physics tab where you open the Smoke Cache section. Give your cache a file name by entering it into the text box and hitting ↵ Enter. By hitting Bake your simulation data is computed and stored to disk. Notice that the scrubbing-bug in the timeline is gone now? At this point you should be able to render the animation.

Go to the cache section of your smoke domain The files on disk need a name Finally we're ready to bake


Troubleshooting

Q: Blender Crashes when I push the Domain Button of a smoke simulation!

A: This is caused by outdated drivers. Update your Drivers.

Q: Blender Crashes when Smoke Simulations bake!

A: You ran out of RAM to compute it. Try Baking at a lower resolution.

Q: The smoke isn't rendering!

A: Go back and read the documentation.

Q: When I try to make fire, it gives me strange results, or doesn't show up.

A: Make sure you have a high emmision Value for the Material, and that you have a Smoke Density texture, and that you set the fire texture to Multiply.

External links