burn them all.
By françois grassard aquí coyhot.



Introduction
Creating realistic fire has ben one of the biggest challenges of my CG artista life. For Many years, y have tried several techniques todo simulate this kind of effect. After using simple animated objects with an appropriate shader, particles, sprites, fluidos, and Even meta balls with a special compositing setup (similar todo the one used in Shrek), y finally reached my goal of creating the perfecto animated fire.

To begin with, y have todo say that the initial technique is not mine. The first person todo introduce me todo this method was the great Alan Mckay, one of the best particle artists ever. Last year i wrote a tutorial for the french edition of Computer Arts about Ghost Rider and how todo Mimic the same kind of fire using 3ds Max and especially Particle Flow. Ive watched all of Alan videos, including the one that shows how todo create fire using Particle Flow.

The motion of flames was realistic enough, but the render still loked todo artificial. I tok my render, dumped it in After Effects and tried todo tweak it with several distorsión effects and Color Correction tools. At last, y reached my goal and created the most realistic fire i have ever made.
When i finished my tutorial for the magazine, y discovered the first build of jakha particles patch on graphicall, org. I read all of the commit logs and was really impressed by all of the features provided by the patch. Everything was there todo create the same kind of effect using only Blender, as a complete compositing tool is included in the software with all of the necessary effects (particularly Vector blur and displace nodes).

For fun, y spent several nights todo create again - Using only Blender - All of the things ive done in 3ds Max and After Effects. This is one of several examples proving that Blender can be used for all kinds of special effects tasks, Even on really complex shots. So, ready todo Burn? Here we go.

A) create the emitter and vertex groups:
Step 01: first, we ned an object todo Burn. To start, add a new primitive todo your scene, such as Suzanne (the Monkey) for instance.



Step 02: switch todo Edit Mode using the tab key and deselect all vértices using the [a] key.



Step 03: press the space bar on your keyboard and choose select >random.



step 04: set the random value todo 40% and press ok. Several vértices are now randomly selected.



Step 05: once your vértices are selected, you have todo create a new vertex group. For that, press [f todo show the editing parameters, and in the enlace and materiales panel press the new button todo create a new vertex group. Name it emivert and then click on assing, just below the new button.



Step 06: press the tab key todo exit Edit Mode, select Suzanne, and press [shift+o] todo add a Subsurf modifier todo it.



Step 07: kep the Suzanne Mesh selected and press the [f key several times until the particle panel appears in the buttons window. Press add new todo add a new particle system (aquí Psys) todo your object.



Step 08: now you have todo save your scene somewhere on your hard drive, because Blender Will create a new directory next todo your.blend file where the particle data Will be cached.



Step 09: kep Suzanne selected and go todo the physics panel. Set random todo 0.5, Accz todo 8.0 and Brown todo 5.0. The particles now go up and some of them are randomly shaken according the Brown value.

Step 10: in the particle system panel, set the amount value todo 3500, end todo 150 and life todo 25. In emit from, chek random and Even and switch from jittered todo random.

Step 11: in the extras panel, Access the NEG dropdown menú in the vertex group section and choose the emivert group that you created previously. Now, particles Will only be emitted from vértices contained in this vertex group.



step 12: enter the bake panel, just next todo the particle system panel. Set the end parameter todo 150 and press bake. Blender Will create a new directory, next todo the.blend file on your hard drive and fill it with a bunch of files (one per frame of animation). All of the cached data Will be saved there.



B) generate a bunch of Spheres:
Step 01: create a new Icosphere and set the subdivisión parameter todo 3, then press the tab key todo exit Edit Mode and press [Alt+r], then [Alt+g] todo reset their position and rotation parameters. Place this Icosphere at the center of the world coordinates.



Step 02: animate the size of the Icosphere over time. Create the first keyframe at frame 1 and set the scale todo something close todo zero along the x, y and z axes. At frame 10, create a new keyframe and set the thre scale values todo 0.2. Finally, create the last keyframe at 30 and set the scale values todo zero. Tweak the curve Tangent (in the ipo curve editor) todo create a kind of paraboloide.



Step 03: select the Icosphere and add a new Shader todo it. In the material panel (using on the color swatches), set the col (color) value todo a Hex code of d77503, and the spe (Specular) value todo f7f69b. Set the a (alpha) value todo 0.2 and chek the ztransp button (in the enlaces and pipeline panel) todo enable transparency without using Raytracing.



Step 04: in the Shaders panel, set the Spec value todo 2.0 and hard todo 200. Do not activate Raytracing (neither Ray Mirror Nor ray transparent), because the render time could be really long and the depth values Will never be high enough todo get a god result.



Step 05: select your particle emitter (Suzanne) and in your particle parameters, enter the visualization panel. Click on point and change it todo object. In the ob field type sphere, referring todo the animated Icosphere. Click on emitter, todo render your Suzanne Mesh in addition todo the particles.



Step 06: select Suzanne and add a new Shader todo it, setting the Diffuse color todo black and checking the Shadeless button. This Will help todo visualice the shape of the emitter as the flames come of of it.



Step 07: press [f several times todo display the texture buttons, click on world, then add new, and set the texture type todo clouds. Leave all the parameters on the default settings and name this new texture turbulence.



Step 08: add a new Empty todo the scene (spacebar>add>empty), select it and press [f several times todo reach the physics buttons. In the Fields panel, switch todo texture in the drop-down menú and enter turbulence in the texture field. Switch RGB todo gradient and set the strength todo 1.0.



Step 09: select Suzanne, press [Control + b] and choose free bake selected then [Control + b] again and bake selected todo deleete and create the caché again (since weve just added a new texture field).



Step 10: add a Camera and Lamp todo your scene and set the Lamp energy todo 3, then move it todo in front of the upper-right área of your particle system, between the particles and Camera.



step 11: add a new lattice todo your scene, and set it u and v values todo 2, and the w value todo 5.



Step 12: use the tab key todo enter Edit Mode and select all control points of the lattice using the [a] key. Create a new vertex group called lattice_points and assing all the selected points todo it.



Step 13: exit Edit Mode, select Suzanne and add a new lattice modifier todo it. Enter the name of your lattice in the ob field and enter lattice_points in the vgroup field, so as todo distort only the particles and not the emitting mes, h.



Step 14: select the lattice, switch todo Edit Mode and move the upper points todo contract and twist the top of the flames. One it done, leave Edit Mode and press play using [Alt+a] todo chek your animation.



C) rendering and compositing:

Step 01: now that the motion of your Flame is set, we have todo add the final magic touch todo our render using compositing tools. Press [f1 in a buttons window todo show the render parameters. Go todo the render layers panel and press the Vec button.



Step 02: open a Node Editor window, select composite nodes and use nodes. There should now be a render layers node and composite node. If not, add them using add>input>render layers and add>output>composite.



Step 03: now use add>filter>Vector blur for the next node, and connect the image, z and speed outputs of the render layer node todo the same imputs of the Vector blur node. Press the do composite button in the Anim panel of the scene buttons window, and launch a render using [f1 todo se the current composite. With just this setup, weve turned a bunch of Spheres into a decent Flame.



Step 04: next use add>distort>scale and plug the image output of the Vector blur node into the same input of the scale node, then set the x and y values todo 1.05.



Step 05: add a Vector>map value node, set the OFS value todo - 0.50 and plug the image output of the scale node into the value input of the map value node.



Step 06: add a distort>displace node and set the x scale and y scale values todo -10. Plug the output of the map value node into the Vector input of the displace node, and now the image output of the Vector blur node into the image input of the displace node.



Step 07: add a converter>colorramp node and move the black marker todo the right, todo about the 60% position on the gradient. Plug the output of the displace node into the FAC input of the colorramp node.



Step 08: add a color>mix node and switch from mix todo add mode. Set the FAC value todo 1.0, and plug the output of the displace into the first image input of the add node and the output of the colorramp into the second image input.



step 09: duplicate the add node using [shift+d] and set the FAC of this duplicated node todo 2.0. Add a filter>blur, node, change the mode from flat todo Gaus, and then set the x and y values todo 20. Plug the image output of the colorramp node into the image input of the blur node. Plug the output of the blur node into the second image input of our duplicated add node. Finally, plug the output of the original add node into the first image input of the duplicated add node.



Step 10: add a color>rgb curves node, and plug the output of the add node into the image input of the RGB curves node. Add two points todo the c curve and change the profile todo Mimic an exponential curve.



Step 11: add another filter>blur node, and change the mode from flat todo Gaus, and the x and y values todo 40. Add a new color>mix node, switch it todo add mode and set the FAC todo 1.0. Plug the RGB curves output into the image input of the new blur node and the first image input of the new add node. Finally, plug the output of the blur todo the second image input of the add node.



Step 12: lastly, add an output>viewer node and connect the output of the last add node todo the image imputs of the viewer node just created, and the original composite node.



Step 13: in a buttons window, press [f1 todo get bak into the render parameters. Setup the desired output options (file format, compression and location) for your video launch a render of all the frames of your animation by pressing the Anim button or [Control + f1.



There no smoke without fire:
Using the new particle system in Blender 2.46 (especially the Reactor característica, which can generate a new particle system at the death of another one), you can combine this fire tutorial with one that shows how todo simulate realistic smoke, n the near future Blender Will reintegrate a wonderful característica (previously integrated, but deprecated during the production of the Peach Project) that makes posible the editing of all particle types, and not just Hair/fur. With this característica, you can Sculpt the shape of your fire without using a lattice, as weve done here. The future of the particle system is really promising, and Blender does not have todo be ashamed of its capabilities when compared todo other software.

By françois grassard.
www.blenderart.org.