Advanced Effects using Blender Particle System: A Sequel

Exclusive offer: get 50% off this eBook here
Blender 2.49 Scripting

Blender 2.49 Scripting — Save 50%

Extend the power and flexibility of Blender with the help of the high-level, easy-to-learn scripting language, Python

$23.99    $12.00
by | August 2010 | Open Source Web Graphics & Video

In the previous article by Reynante Martinez, we saw the disintegration effect in Blender's Particle System. In this article we will tackle some more features of Blender's particle system which are as follows:

  • Multiple particle systems
  • Boids

(For more resources on Blender, see here.)

Multiple Particle Systems

Sometimes, singular particle systems are not enough to create the effects we want. This is when multiple particles come in, enabling us to create things like welding sparks, fireworks, rain splash, object shatters, etc. Thankfully, we have Reactor Particles which does just that. In most cases, reactor particles are born when other particle systems' events happen. You'll see more of that later in this part. I guess the best way to explain these things is through valid examples.

Let's begin by simulating the fireworks effect we see during New Year or when there are festivities. First thing we need to do is to setup our scene. We'll be creating a very simple setup for now and it's up to you to take it further when needed.

Fire up Blender 2.49 (sadly, Blender 2.5 doesn't support reactor particles yet) and orient the camera such that it is facing towards the positive y axis, as shown in the screenshot below:

(Move the mouse over the image to enlarge it.)

(Positioning the Camera)

Next, delete the default Cube and add a Plane object then position it just below the camera's view. You can scale it according to your liking but we can also adjust it later on if need be. Let's name this plane “emitter”.

(Plane Added in the Scene)

With the “emitter” object still selected, go to Object (F7) then click on Particle buttons and add a new particle system.

(Adding a New Particle System)

This particle system will be the single burst that will eventually give birth to hundreds of particles later on. Let's name it “single” for easier reference later on. Keep the amount at a minimum, probably something like lower than 20, so it won't get too chaotic later on once the bursting of particles begin. Also change the Life of the particle system such that you see them die on your camera's view, otherwise we won't be able to see the bursting effect happening at all. And lastly, increase the Normal value under Physics, this will tell how the particles are shot and how fast. You might also have to edit the Life later on once you have decided on the Normal settings.

(“single” Particle Settings)

(Single Frame from the Particle System Animation)

Now if we play back our animation, it should look something like this:

(fireworks_1.avi)

Next is the main particles for this system – the burst. With the plane emitter still selected, head over to the same window where the Particle System was created. On the upper right hand corner of the Particle System tab, you'll notice a portion there with “1 Part 1” on it with arrows left and right. These are indications of how many sub-particle systems there are in our main system. Our reaction particles would not act if it was a different system, so this is one crucial part. Where you see the 1 Part 1 area, click on the right arrow to register another sub-particle system, making it a “2 Part 2”. Then click on Add New again, just like how we did in the previous part.

(Adding a Sub-Particle System)

The important options that we have to take note here are the particle system type, emit from values, and target. With the Physics option, I'll leave it to you to tweak around.

As you might have already guessed, we must first and foremost, choose Reactor as the particle system type, otherwise it would be useless doing so. Next is to change from which will the particles be emitted from (emit from), choose Particle since we wanted it to be emitted from the first particle system that we created. Then in the Target portion, you can choose from which system will it be emitted from, the default which is Psys:1, you can change this setting accordingly depending on which order you want it to be emitted.

(Reactor Particle System Settings)

Then here's the hardware rendered version of the system:

(fireworks_2.avi)

And that's about it! This is also applicable to things like welding sparks or rain splashes. If you want your particle reactor to happen on object collision, instead of setting the particle reactor to begin on Death, change it to Collision then set your objects as collision objects. You can check Part 1 of this article to see more on the material settings. And just a bonus, I've added some tiny details to particle system. You can check out the video below and also download the .blend file.

(fireworks_3.avi)

Boids

Particle boids, are by far, one of the most underestimated and overlooked strengths of Blender's particle system. Not only is it very daunting at first, but the complexity it can offer you is mind blowing.

Simply put, Particle Boid or Boids Particle System is a type of Particle Physics whereby it follows rules and protocols that a user has set. These rules may range from prey and predator relationships to advanced crowd simulation. They can be related to artificial intelligence in ways that each particle point can behave differently and act on its own regardless of the other particle points present in space.

I don't, however, claim to have really surmounted boids particle systems, even before in earlier versions of Blender. It is so exciting and exhilirating yet frustrating at times. To fully comprehend it, you need lots and lots of patience, probably more time to tweak around, and a note near you to have the settings listed down.

For the sake of this article, I'll keep this introduction to boids particle system as simple and as quick as possible, giving you more freedom to experiment and just give you a basic understanding on what this particle system is all about.

Let's get going, shall we?

Fire up Blender 2.53 and delete the default Cube in your scene.

(Deleting the Default Cube)

Next, we need to add the basic elements for our basic boids particle system. It includes 1) an emitter, 2) the visualization object, and 3) the goal object.

With the cube deleted in our 3d viewport, add a plane object (or anything you wish) and leave the default levels of division as it is, this would act as our particle emitter. Name it “emitter”.

(Plane Object Added)

Next, add a simple UV Sphere above the plane, this would then act as our goal object. Smooth the shading and scale to something like 0.200. Name this uv sphere as “goal”.

Blender 2.49 Scripting Extend the power and flexibility of Blender with the help of the high-level, easy-to-learn scripting language, Python
Published: April 2010
eBook Price: $23.99
Book Price: $39.99
See more
Select your format and quantity:

(For more resources on Blender, see here.)

Next thing to add is our visualization object. For this matter, we'll just quickly model a fish-like figure. Activate layer 2, this is the layer where the fish object will reside in, so it won't get in our view in layer 1.

On layer 2, add a Cube object and name it “fish”. Proceed to Edit Mode and go to side/right view (Num 3) and create a loop cut (CTRL R) perfectly centered in the object.

(Adding a Loop Cut to the “fish” object)

(Loop Cut Added)

With the middle vertices still select, quickly select the other vertices by pressing CTRL I for Select Invert. Or you could simply select the vertices except the middle verts by right click on selecting, box selecting, or circle selecting (C).

Scale these vertices along the z-axis (as seen in the screenshot below).

(Scaling the Outside Vertices)

Select the left-most vertices, extrude them to the negative y axis, then scale them along the z-axis.

(Left-most Vertices Selected)

(Left-most Vertices Extruded)

(Vertices Scaled Along the Z-axis)

Our fish object is almost taking shape and almost done. Just some minor adjustments here and there. Select the right-most vertices and move them a bit to the positive y-axis. Then go to top view and scale the vertices we just moved and the segment between the body and tail (see the screenshot).

(Moving the Right-most Vertices)

(Scaling the Tip and Segment Vertices)

Then with a few more adjustments here and there, it should look something funny like this:

(Finished “fish” Object)

Now let's get back to layer 1 where our emitter and goal objects are located. Select the emitter object and add a New Particle System.

(Adding a New Particle System to Object “emitter”)

Before proceeding to editing the particle settings, set first your animation length to something longer than 250 frames which is only 10 seconds (on 25fps). Let's change that to 400 instead.

Now on to the Particle Settings. Under Emission tab, set the amount to 500, the end to something very low, I've set mine to 3, make the Lifetime the same value as our animation length which is 400.

Under Rotation tab, just tick the Random rotation a bit.

Next, under the Render tab, select Object and under Dupli Object:, choose the name of our fish object, in this case “fish”. What this will tell Blender is to use our fish model as display and render visualization, instead of the default halo. Then let's leave the settings under the Physics tab as the default Newtonian Physics right now and see what it gives us.

(Initial Particle Settings)

If we playback the animation now, this is what we get:

(boids_1.avi)

Wait, that's not looking right. That is because by default, we have the Physics settings set to Newtonian Physics and the behavior you just saw is but perfectly normal under this case. But for now, Newtonian is simply out of our way. So under the Physics tab of the Particle System, choose Boids in place of Newtonian.

Just after clicking on Boids, a plethora of options appear. Honestly speaking, there's no right number for all of these settings, nor is there a magic button that let's you do some crazy things. But I do wish someday, there'd be some presets to choose from just so users could have a basis and starting point for their boids system.

(Boids Physics)

If we play back the animation now without altering the default Boids Physics settings, here's how it should look like:

(boids_2.avi)

Just from simply changing the physics from Newtonian to Boids, we already added life to our system. Now, to illustrate just a simple example of this in action, we'll add some settings to it. Proceed to the Boids Brain tab under the Particle System, and add a new Boid Rule, choosing Goal. What this will let us do is to tell the boids system to follow an object/system depending on how the rules are arranged.

(Adding a New Boids Rule)

After adding the Goal boid rule, a new option appears just underneath the same tab we are in, labeled Object:. This lets us set what object will the boids system be using as a goal, simply put. You might have already guessed it, under this Object: field, we choose our UV Sphere object which we labeled “goal” before.

(Choosing a Goal Object)

If we play the animation, this is what we'll see:

(boids_3.avi)

Since by default, adding a new boid rule to the system puts it in the last stack of rules, our goal rule happened after it performed the Separation and Flocking rule accordingly, which are another set of behavior on their own. But if we move the goal boid rule on top of the separation rule, the evaluation of the particle system changed to following the object first while behaving in separation and flocking manner. So what we simply told the system is this: Separate the particles while following this goal object as you flock. Playing back the animation, it will look something like this:

(boids_4.avi)

And moving the “goal” object while playing back the animation, we get some nice results with the school of fish closing in on their target.

(boids_5.avi)

Then lastly, on layer 2, rotate the fish object to fix the odd rotations happening in the simulation. I rotated mine by -90 degrees. And here's how it looks now (much better and appealing):

(boids_6.avi)

And as a bonus, I rendered a sample animation with shading, lighting, and node composite! And of course, you can the download .blend file for your own disposal here: (boids.blend). Have fun!

(boids_7.avi)

Summary

In this article we discussed more advanced usages of Blender's powerful particle system in conjunction with the topics that were already discussed in the previous articles. We learned about the notorious disintegration effect, using multiple particle systems as reactors, and the not-often-used boids particle system. I really hope you learned something worthwhile from it. I was hoping to add more into the list (and have eventually disregarded some), but I don't want to reinvent the wheel and wanted to give credit to other authors who did just that. If ever you feel there's something missing or you want more clarity on some parts, don't hesitate to email me at reynantem@gmail.com. Also, I would be glad to see what you came up with and I'll sure give you my feedback on them.

So until next time and hoping to see you around again soon! Thanks for your time. Happy Blendering!


Further resources on this subject:


Blender 2.49 Scripting Extend the power and flexibility of Blender with the help of the high-level, easy-to-learn scripting language, Python
Published: April 2010
eBook Price: $23.99
Book Price: $39.99
See more
Select your format and quantity:

About the Author :


Reynante Martinez is a self-learnt graphic designer, illustrator, web designer, and 3D generalist. His interest in CG started nine years ago and was directly introduced to The GIMP as one of the open source image editing applications available in Linux. Aside from being an animator at work, he also has experience in mentoring and has been a speaker and workshop conductor at several occasions during the past few years. He is also the co-founder of PinoyBlender, a Filipino Blender User Group. Since his discovery of Blender six years ago, his passion for CG art grew even more, with more upgrades coming now and then and with an active and helpful community of Blender artists being one of the most exciting factors in his career.He can be reached through the email or through his weblog and you can also view his online gallery.

Books From Packt


jQuery 1.4 Reference Guide
jQuery 1.4 Reference Guide

Blender 3D 2.49 Incredible Machines
Blender 3D 2.49 Incredible Machines

Papervision3D Essentials
Papervision3D Essentials

Blender 3D Architecture, Buildings, and Scenery
Blender 3D Architecture, Buildings, and Scenery

SketchUp   7.1 for Architectural Visualization: Beginner's Guide
SketchUp 7.1 for Architectural Visualization: Beginner's Guide

NetBeans Platform 6.9 Developer's Guide
NetBeans Platform 6.9 Developer's Guide

Flash with Drupal
Flash with Drupal

Joomla! with Flash
Joomla! with Flash


Your rating: None Average: 5 (3 votes)
Thanks Particle Series by
The text of blender ui images could perhaps be magnified to increase readability. Blender 2.5X does have setting to increase text size. ( I do not agree with some recommendations that blender documentation should always appear at a certain text size) If Blender could create a name - value .... list as textof the relevant panes ... that would help as well and a writer could post that in any simple text editor The site Depositfiles IMHO is NOT very friendly
Fantastic! by
Fantastic article, I never really understood how boids could be used before now.

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
z
H
i
z
m
7
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software