Relevant to Blender v2.31
The particle system of Blender is fast, flexible, and powerful. Every Mesh-object can serve as an emitter for particles. Halos can be used as particles and with the DupliVert option, so can objects. These dupliverted objects can be any type of Blender object, for example Mesh-objects, Curves, Metaballs, and even Lamps. Particles can be influenced by a global force to simulate physical effects, like gravity or wind.
With these possibilities you can generate smoke, fire, explosions, Fireworks or even flocks of birds. With static particles you can generate fur, grass, and even plants.
Reset Blender to the default scene, or make a scene with a single plane added from the top view. This plane will be our particle emitter. Rotate the view so that you get a good view of the plane and the space above it (Figure 20.2, “The emitter.”).
Switch to the Effects
Tab in the Object
Context (F7 or
) and click the button NEW Effect
in the middle part of the Panel.
Change the dropdown MenuButton from Build
to Particles
. The Particle Buttons are
now shown (Figure 20.3, “The Particle Buttons.”).
Set the Norm:
NumButton to 0.100 with a click on the right part of the
button or use SHIFT-LMB to enter the value from the keyboard.
Play the animation by pressing ALT-A with the mouse over the 3DWindow. You will see a stream of particles ascending vertically from the four vertices.
Congratulations - you have just generated your first particle-system in a few easy steps!
To make the system a little bit more interesting, it is necessary to get deeper insight on the system and its buttons (Figure 20.4, “Particles settings.”):
The parameter Tot:
controls the overall count of particles. On
modern speedy CPUs you can increase the particle count without
noticing a major slowdown.
The total number of particles specified in the Tot:
button are uniformly created along a time interval. Such a time
interval is defined by the Sta:
and End:
NumButtons, which control the time interval (in frames) in which
particles are generated.
Particles have a lifetime, they last a given number of frames, from the one they
are produced in onwards, then disappear. You can change the lifetime of the
particles with the Life:
NumButton.
The Norm:
NumButton used before made the
particles having a starting speed of constant value (0.1) directed
along the vertex normals. To make things more "random" you can set the
Rand:
NumButton to 0.1 too. This also makes the particles
start with random variation to the speed.
Use the Force:
group of NumButtons to simulate a constant
force, like wind or gravity. A Force: Z:
value of -0.1
will make the particles fall to the ground, for example.
This should be enough to get you started, but don't be afraid to touch some of the other parameters while you're experimenting. We will cover them in detail in the following sections.
Maybe you've tried to render a picture from our example above. If the camera was aligned correctly, you will have seen a black picture with greyish blobby spots on it. This is the standard Halo-material that Blender assigns a newly generated particle system.
Position the camera so that you get a good view of the particle system. If you want to add a simple environment, remember to add some lights. The Halos are rendered without light, unless otherwise stated, but other objects need lights to be visible.
Go to the Material Buttons (F5) and add a new material for the emitter if none have been added so far. Click the Button "Halo" from the middle palette (Figure 20.5, “Halo settings”).
The Material Buttons change to the Halo Buttons. Choose Line
, and
adjust Lines:
to a value of your choosing (you can see the effect
directly in the Material-Preview). Decrease HaloSize:
to 0.30, and
choose a color for the Halo and for the lines (Figure 20.5, “Halo settings”).
You can now render a picture with F12, or a complete animation and see thousands of stars flying around (Figure 20.6, “Shooting stars”).
It is very easy to use real objects as particles, it is exactly like the technique described in the section called “DupliVerts”.
Start by creating a
cube, or any other object you like, in your scene. It's worth
thinking about how powerful your computer is, as we are going to have
as many objects, as Tot:
indicates, in the scene.
This means having as many vertices as the number of vertices
of the chosen object times the value of Tot:
!
Scale the newly created object down so that it matches the general scene scale.
Now select the object, then SHIFT-RMB the emitter and make it
the parent of the cube using CTRL-P. Select the emitter alone
and check the option "DupliVerts" in the Anim Settings
Panel
of the Object Context (F7).
The dupliverted cubes will appear immediately in the 3DWindow.
You might want to bring down the particle number before pressing ALT-A (Figure 20.7, “Setting Dupliverted Particles.”).
In the animation you will notice that all cubes share the same orientation. This can be interesting, but it can also be interesting to have the cubes randomly oriented.
This can be done by checking the option Vect
in the
particle-parameters, which causes the dupli-objects to follow the
rotation of the particles, resulting in a more natural motion (Figure 20.7, “Setting Dupliverted Particles.”).
One frame of the animation is shown in (Figure 20.8, “Dupliverted particles rendering.”).
Take care to move the original object out of the camera view, because, differently than in regular Mesh Dupliverts, in Dupliverted particles it will also be rendered!
The Blender particle system is very useful for making realistic fire and smoke. This could be a candle, a campfire, or a burning house. It's useful to consider how the fire is driven by physics. The flames of a fire are hot gases. They will rise because of their lower density when compared to the surrounding cooler air. Flames are hot and bright in the middle, and they fade and become darker towards their perimeter.
Prepare a simple set-up for our fire, with some pieces of wood, and some rocks (Figure 20.9, “Campfire setup.”).
Add a plane into the middle of the stone-circle. This plane will be our particle-emitter. Subdivide the plane once. You now can move the vertices to a position on the wood where the flames (particles) should originate.
Now go to the Object Context F7 and add a new particle effect to the plane. The numbers given here (Figure 20.10, “Fire particles setup.”) should make for a realistic fire, but some modification may be necessary, depending on the actual emitter's size.
Some notes:
To have the fire burning from the start of the animation make
Sta:
negative. For example, try -50. The value of
End:
should reflect the desired animation
length.
The Life:
of the particles is 30. Actually
it can stay at
50 for now. We will use this parameter later to adjust the height
of the flames.
Make the Norm:
parameter a bit negative
(-0.008) as this will
result in a fire that has a bigger volume at its basis.
Use a Force: Z:
of about 0.200. If your fire looks too slow, this
is the parameter to adjust.
Change Damp:
to 0.100 to slow down the flames after a while.
Activate the Bspline
Button. This will use an interpolation
method which gives a much more fluid movement.
To add some randomness to our particles, adjust the
Rand:
parameter to about 0.014. Use the
Randlife:
parameter to add
randomness in the lifetime of the particles; a really high value here gives
a lively flame.
Use about 600-1000 particles in total for the animation (Tot:
).
In the 3DWindow, you will now get a first impression of how realistically the flames move. But the most important thing for our fire will be the material.
With the particle emitter selected, go to the Shading Context F5
and add a new Material. Make the new material a halo-material by
activating the Halo
button. Also, activate HaloTex
,
located below this button. This allows us to use a texture later.
Give the material a fully saturated red colour with the
RGB-sliders. Decrease the Alpha value to 0.700; this will make the
flames a little bit transparent. Increase the Add
slider up to 0.700, so
the Halos will boost each other, giving us a bright interior to the
flames, and a darker exterior. (Figure 20.11, “Flames Material.”).
If you now do a test render, you will only see a bright red
flame. To add a touch more realism, we need a texture. While the
emitter is still selected, go to the Texture Panel and add a new
Texture select the Cloud
-type for it in the Texture (F6) Buttons.
Adjust the NoiseSize:
to 0.600.
(Figure 20.12, “Flames Texture.”).
Go back to the Material Buttons F5 and make the texture colour a
yellow colour with the RGB sliders on the right side of the material
buttons. To stretch the yellow spots from the cloud texture decrease
the SizeY
value down to 0.30.
A test rendering will now display a nice fire. But we still need to make
the particles fade out at the top of the fire. We can achieve this
with a material animation of the Alpha
and the
Halo Size
.
Be sure that your animation is at frame 1 (SHIFT-LEFTARROW) and move the mouse over the Material Window. Now press IKEY and choose Alpha from the appearing menu. Advance the frame-slider to frame 100, set the Alpha to 0.0 and insert another key for the Alpha with IKEY. Switch one Window to an IPO Window. Activate the Material IPO Type by clicking the pertinent Menu Entry in the IPO Window header. You will see one curve for the Alpha-channel of the Material (Figure 20.13, “Fire Material IPO”).
An animation for a particle material is always mapped from the first 100 frames of the animation to the lifetime of a particle. This means that when we fade out a material in frame 1 to 100, a particle with a lifetime of 50 will fade out in that time.
Now you can render an animation. Maybe you will have to fine-tune some parameters like the life-time of the particles. You can add a great deal of realism to the scene by animating the lights (or use shadow-spotlights) and adding a sparks particle-system to the fire. Also recommended is to animate the emitter in order to get more lively flames, or use more than one emitter (Figure 20.14, “Final rendering.”).
This explosion is designed to be used as an animated texture, for composing it with the actual scene or for using it as animated texture. For a still rendering, or a slow motion of an explosion, we may need to do a little more work in order to make it look really good. But bear in mind, that our explosion will only be seen for half a second (Figure 20.15, “The explosion”).
As emitter for the explosion I have chosen an IcoSphere. To make the explosion slightly irregular, I deleted patterns of vertices with the circle select function in Edit Mode. For a specific scene it might be better to use an object as the emitter, which is shaped differently, for example like the actual object you want to blow up.
My explosion is composed from two particle systems, one for the cloud of hot gases and one for the sparks. I took a rotated version of the emitter for generating the sparks. Additionally, I animated the rotation of the emitters while the particles were being generated.
The particles for the explosion are very straightforward halo materials, with a cloud texture applied to add randomness, the sparks too have a very similar material, see Figure 20.16, “Material for the explosion cloud.” to Figure 20.18, “Texture for both.”.
Animate the Alpha-value of the Halo particles from 1.0 to 0.0 at the
first 100 frames. This will be mapped to the life-time of the
particles, as is usual. Notice the setting of Star
in the sparks
material (Figure 20.17, “Material for the sparks.”). This shapes
the sparks a little bit. We could have also used
a special texture to achieve this, however, in this case using
the Star
setting is the easiest option.
As you can see in Figure 20.19, “Particle system for the cloud” and
Figure 20.20, “Particle system for the sparks”, the parameters are basically the
same. The difference is the Vect
setting for the sparks, and the
higher setting of Norm:
which causes a higher speed for the
sparks. I also set the Randlife:
for the sparks to 2.000 resulting
in an irregular shape.
I suggest that you start experimenting, using these parameters to begin with. The actual settings are dependent on what you want to achieve. Try adding more emitters for debris, smoke, etc.
A button we have not used so far is the Mult:
button.
The whole third line of buttons in the Panel is related to
this. Prepare a plane and
add a particle system to the plane.
Adjust the parameters so that you get some particles flying into the
sky, then increase the value of Mult:
to 1.0. This will cause 100%
of the particles to generate child particles when their life
ends. Right now, every particle will generate four children.
So we'll
need to increase the Child:
value to about
90 (Figure 20.21, “Particle Multiplication buttons”).
You should now see a
convincing firework made from particles, when you preview the
animation with ALT-A.
When you render the firework it will not look very impressive. This is because of the standard halo material that Blender assigns. Consequently, the next step is to assign a better material.
Ensure that you have the emitter selected and go to the Shading Context and
Material Buttons
(F5). Add a new material with the Menu Button, and set the type to
Halo
.
I have used a pretty straightforward halo material; you can see the parameters in Figure 20.22, “Firework Material 1”. The rendered animation will now look much better, yet there is still something we can do.
While the emitter is selected go to the Editing Context F9 and add a
new material index by clicking on the New
button
in the Link and Materials
Panel (Figure 20.23, “Adding a second material to the emitter.”).
Now switch back to the Shading Context. You will see that the material
data browsehas changed colour to blue. The button
labelled 2
indicates that this material is used by two users. Now
click on the 2
button and confirm the popup. Rename the Material to
"Material 2" and change the colour of the halo and the lines
(Figure 20.24, “Material 2”).
Switch to the particle parameters and change the Mat:
button to
"2". Render again and you see that the first generation of particles
is now using the first material and the second generation the second
material! This way you can have up to 16 (that's the maximum number of
material indices) materials for particles.
Beside changing materials you also can use the material IPOs to animate material settings of each different material.
Blender's particle system is extremely powerful, and the course of particles can not only be determined via forces but channelled by a lattice.
Prepare a single square mesh and add a particle system to it with a negative z-force and the general parameters in Figure 20.25, “Particle settings”.
This could be good for the smoke of four small fires fire in a windless day, but we want to twist it! Add a lattice and deform it as in as in Figure 20.26, “Lattice settings”.
Parent the particle emitter to the lattice
(CTRL-P).
If you now select the particle emitter,
switch to Animation buttons (F7) and
press RecalcAll
you will notice that the particles
follows, more or less, the lattice (Figure 20.27, “Lattice deformation effects” on the left).
As a further tweak, rotate each horizontal section of the lattice 60 degrees clockwise in top view, incrementally, as if you were making a screw. After this, recalculate again the particles. The result is in Figure 20.27, “Lattice deformation effects” on the right.
The twist is evident, and of course you can achieve even stronger effects by rotating the lattice more or by using a lattice with more subdivisions. If you give the emitter a halo material and you render you will see something like Figure 20.28, “Normal particles, left; Vector particles, centre; and DupliVerted objects following the particles, right.” on the left.
If you select the emitter, turn to animation buttons and press the
Vect
Particle Button
the particles will turn from points to segments, with a length
and a direction proportional to the particle
velocity. A rendering now will give the result
of Figure 20.28, “Normal particles, left; Vector particles, centre; and DupliVerted objects following
the particles, right.” in the middle.
It you now Duplivert an object to the emitter, by parenting it and
by pressing the Duplivert
button, the DupliVerted
objects will have the same orientation of the original object
if the particles are normal particles, but will be rotated
and aligned to the particle direction if the Particles
are set to vert
. By selecting the Original
Object and by playing with the Track
buttons
you can change orientation (Figure 20.28, “Normal particles, left; Vector particles, centre; and DupliVerted objects following
the particles, right.” on the right).
Static particles are useful when making objects like fibres, grass, fur and plants.
Try making a little character, or just a ball, to test the static particles. Try for example a small 'ball of fur' guy. An emitter is not rendered, so duplicate the mesh (or whatever object type you used and convert (ALT-C) it into a mesh). A fractal subdivide to the mesh to get some randomness into it, is usually a good idea. If you end up with mesh that is too dense, use "Remove Doubles" with an increased limit. Cut out parts with the circle select where you do not want to have fur.
Now, assign the particle system and, switch on the Static
option.
Use these parameters in Figure 20.29, “Static particle settings”.
With the combination of Life
and
Norm
you can control the length of the hair.
Use a force in a negative z-direction to let the hair bend.
Check Face
to generate the particles,
not only on the vertices but also distributed on the faces.
Also check Vect
; this will generate fibre
like particles. The Step
value defines how many particles per
lifetime are generated. Set this to a lower value to
get smoother curves for the particles, and be sure not to
overlook setting the Rand
value.
When you now render, you will get very blurred particles. The material used for static particles is very important, so add a material for the emitter in the Shading Context (F5).
I use a very small HaloSize
(0.001). In the Number Button you can't
see that, so to adjust click the button with the LMB while holding SHIFT.
Enable the Shaded
option to have the particles influenced
by the lights in the scene, and then activate HaloTex
.
We are going to use a texture to shape the hairs (Figure 20.30, “Material settings”).
Switch to the Texture sub-context (F6) and add a new Blend
type texture. Choose Lin
as sub-type.
Activate the Colorband
option and adjust the colors as in
Figure 20.31, “Texture Colorband settings”. You will get a nice blend,
from transparent through to purple and back again to transparent.
Go back to the Material Buttons sub-context and make sure that Alpha
is activated in the texture mapping output on the right of the
Material Buttons. Then use sizeX
and sizeY
to shape the halo in the material preview to a small fiber
(Figure 20.32, “Texture settings in the Material buttons”).
If your fur is not dense enough, then increase the particle count with
Tot
or add more emitters. Also, change the particle
parameters for these additional emitters a little so that you get
some variation in the hairs (Figure 20.33, “Final result”).