View Full Version : PowerPlugins: Moderator (Particle Systems)

05 May 2006, 10:50 PM
This is the moderator's forum thread.

05 May 2006, 06:23 AM
Hi Everyone!

Well.. I’d like to say welcome to our first Power Plugins session. Unfortunately we only had one response for the TripleDTools PPPro team, so I’m afraid we’re going to have to focus on Dante only. For those of you users who did not respond or have PPPro, don’t worry. I still plan to touch on those plugins from time to time just to help examine the differences between the two plugins and if there is a method or approach that can be accomplished easier in PPPro or Fyreworks, we’ll take a look at it briefly.

So…you went out and bought Dante. Either that, or you already own it and you just haven’t really put it to good use right? That’s ok. It’s a common thing to do. In the EI community we’ve been stuck with Power Particles Basic for like… forever. This little plugin is a hold over from earlier times and quite frankly, it’s a bit of an embarrassment to even include it in the base package. Thankfully, we have a robust alternatives from Northern Lights and Triple D Tools. Here are my general impressions of the two offerings:

1. Dante: More capabilities, faster interaction within EIAS itself, nice implementation of handling objects through the control group method, but lacks an interactive preview, suffers from modestly poor documentation, and misses out on a couple of well needed features. (Which we will discuss later)

2. PPPro: Fewer capabilities, but excellent OpenGL preview window. Slows down dramatically within the EIAS interface, and like Dante, is missing out on some really important features. Add in Fyreworks and the Triple D Tools combo nearly equals Dante for the shear number of tools. PPPro tends to be a bit easier to use and from my experience, a little more stable.

So, we have our tools, but what are we going to use them for. Well, particle systems are well known for creating fire, water style effects, smoke, populating environments with sprites, softbody effects, collisions, instancing, flocking effects, and more. Particles are much more than just points and lines as we typically see in the default settings of PPPro and Dante.

Just so we’re on the same sheet of music… my particle background is with Maya particles. Personally, I’ve never seen a more well implemented particle system to date in a mainstream package. Of course, this is purely an opinion. Houdini is probably more advanced, and Lightwave’s are also very good. But with my knowledge of Maya particles, we’re going to take a look at EI’s offerings. Some might call that a bit unfair due to EI’s more limited closed architecture…but you know… we can all learn something from the other systems. So lets go!


So what’s a particle system? I kind of answered it before, but a particle system is a method to distribute points into 3D space that can be affected by various forces and fields in order to simulate some kind of desired effect or look. These points can be modified and assigned other shapes or objects like models or sprites to alter their appearance into something much more recognizable.

The basic methodology of using a particle system EI is to begin by adding a Dante or PPPro call into the project window followed by parenting different models as children to the plugin. These children are utilized by the plugin as sources to either become emitted objects, trails, or perhaps a source for surface emissions. In Dante, children can also define collision objects or serve other purposes. More “modern” applications like Maya do it a little bit differently. Since Maya is a node based animation system, a separate node exists for the emitter and its translational coordinates, while another node exists for the particle group and the particles’ appearance.

Since each node exists with certain attributes, Maya can reroute which particle group node is assigned to which specific emitter node through the dynamic’s relationship editor window. In EIAS, there is no distinguishment between the “emitter” and the “emitted”. A Dante or PPPro object inserted into the scene possesses both the “translational” coordinates of the particle event and the particles itself. They can’t be separated. If you wanted twin engine thrust on a jet aircraft, EIAS will require you to insert two independent and complete Dante or PPPro hierarchies to accomplish this. Maya on the other hand, would only need two emitters and one particle group.

Another thing to note is EIAS does not have any method to simply “draw” particles into a scene. Every EI particle plugin utilizes some sort of emitter methodology. I think a nice addition to Dante would be a method in which a user could draw individual particles into a scene and then assign either geometry or sprites to those particles and allow various fields to affect the position and behavior of those particles.

So lets open up the Dante interface. (Figure 1)

When Dante first opens up, we’re greeted with the “Point Source Control / Timing” tabs. These tabs are used to assign basic timing values to the default “point/line” particle emission. When you bring in your first Dante instance into the project window, Dante will emit Line objects and Line trails. (Figure 2) If the Dante instance has objects parented to it, those objects will become available in the Control Group window. (Figure 3) and the particles emitted can be switched from points or lines to objects as the Primary Particle Type. This way you can emit any object from a Dante emitter and those emitted objects can trail other objects as defined in the Control Group window. The usage of points and lines rather than objects, at first, helps the user to have faster feedback within the EIAS interface. This can be very beneficial to help study the particles’ behavior before slowing it down with massive numbers of polygons and geometry.

Lesson 1: Continues...stay tuned. (Please discuss in the Dante thread and try to keep this thread clear for instruction)

05 May 2006, 03:39 AM
Lesson 1: Intro part 2

Alright. Now that we've established the basic understanding what a particle system is, and how Dante generally assigns what kinds of particles can be emitted into a scene, its time to start understanding more of the specifics.

Dante provides two basic methods of emitting particles into a scene. The first is through use of a standard point emitter. Unlike Maya, Dante's emitters can be both directional and omni directional. Dante does not distinguish between the two.

Take this time to open up Dante into your scene. With the plug-in open, the first thing you'll see is the Point Source Controls and Timing Tab. Leaving these at the default, lets move over to the Initial Conditions tab. It is here where you can alter the style of emission from unidirectional to omni directional with the nozzle angle. There are two fields to enter with the nozzle angle. The top box ranges from 0 to 180 degrees. Any value between 181 to 360 will not produce anything. The second box is used to provide a plus or minus variation to the value entered in the top box. When combined with the values in the “Direction” tab, Dante will base the directional flow off of the axis defined with these three values. These values range from -1 to 1. If we take the default value of Y = 1, then the particle flow will travel from the emitter in the positive Y direction. Obviously a value of -1 would direct the flow in the negative Y direction.

You can achieve an omni directional emitter by providing a plus or minus value of 180 for the nozzle angle. This will force Dante to fire particles off in all directions despite what values are placed in the Initial Particle Direction Tab.

The other primary form of emitting particles into a scene is through the use of a surface emitter. Here, Dante can utilize any piece of geometry as a “delivery system”. To accomplish a surface emission, it's a matter of using the Control groups system.

Lets accomplish that same omni directional effect by using an Ubershape sphere. Give it a radius of 10 and a latitude and longitude value of 5. Next, bring in an instance of Dante and parent the sphere under Dante. Open Dante and go to the Control Groups Tab. Immediately you'll see the Sphere listed under the Available Group Names. Select the sphere and change its “type” to emission surface. (Located in the pop up type tab). Then click on Add. At this point, you'll see:

[On] Emission Surface :Sphere

Appear in the Control Groups window.

Once a surface emission object has been activated in the Control Group's tab, all of its controls will now reside just below the two control group windows. Altering the values in the Point Source Controls tab will no longer apply. You should now have an omni directional style emitter.

Intro continues...

05 May 2006, 09:55 PM
Slight glitch in the system. My 2.5ghz G5 tower gave up the ghost last night. Initial tests show motherboard and processor failure. Please forgive the delay in class information. I'm transferring things over to my powerbook, but I'm gonna be down for a little while. However, more instruction is on the way. Hang in there!

05 May 2006, 06:50 PM
Update: I'm told my G5 will be back in good health on Tuesday the 16th. Once again, I truly apologize for the delay in instruction. It has certainly put a huge dent into my schedule and all of my corresponding projects.

05 May 2006, 02:38 PM
I get my G5 back today! Class will resume shortly. Thank you for waiting.

05 May 2006, 03:48 PM
Great, Brian. Your lessons ar better than a manual. why the manuals aren´t done like that?
You are doing a great job with all this.
Thanks a lot.


CGTalk Moderation
05 May 2006, 03:48 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.