Documentation/Articles/Overview of Particle System Editor

From NeoAxis 3D Engine Wiki

Revision as of 08:48, 15 June 2016 by Betauser (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Go to higher level



It's often necessary to create special effects such as smoke, rain, leaves fall, snow, fire, explosion or water streams. In order to create such effects particle systems are used. This editor allows you to create the particle systems.

Particle System Editor

In order to work with particle systems you have to know the meaning of the following terms:

  • Particle refers to a single particle of the system.
  • Emitter refers to the particle source.
  • Affector is used for current particle management, allowing you to change parameters such as color, rotation, scaling etc.
  • Billboard is a plane object, which is always facing the camera.

Pre-made effects are stored in the Data\Effects folder. There you can find the examples of fire, smoke and explosion effects.

Tutorial: Creation of a Particle System

In this tutorial you will learn how to create a particle system. As an example, you will create a blue fire effect step by step. You will see the system's general options adjustment, the creation of an emitter as well as how to use affectors (objects which influences the particles with time).

Creation of a New Particle System File

First of all, you should create a folder for your new effect. To do this, right-click the Effects' folder and choose the New option in the dialog box. Then choose Folder.

ParticleSystemEditor 003.jpg

After specifying the folder name (e.g. BlueFireParticle), right-click on it and again choose New option in the context menu. The next step is Particle System.

ParticleSystemEditor 004.jpg

In new dialog box set the name of the particle effect you want to create, e.g. BlueFireParticle. Then press the Next button.

ParticleSystemEditor 005.jpg

A new particle system file has just been created. Now you can now proceed to particle system adjustment.

Particle System Adjustment

Each particle of a system is textured using a material. In order to create your effect you will need a material with a fire texture. Materials are usually created in Material Editor.

In this tutorial you will be using a ready material stored in the Data\Effects\FireParticle folder. Now, copy the files FireParticle.highMaterial and fire.png into the folder you have created before and rename them. In order to do it, right-click on it and select the step Copy.

ParticleSystemEditor 006.jpg

Then right-click on BlueFireParticle folder and choose Paste in the context menu.

ParticleSystemEditor 007.jpg

Now, you will take care of the particle system adjustment. To enter the edit mode, double-leftclick on the file BlueFireParticle.particle.

ParticleSystemEditor 008.jpg

First, specify a material for you particle system. To do this, select the MaterialName field and press the "..." button.

ParticleSystemEditor 009.jpg

Now, choose the FireParticle.highMaterial file in the dialog box in your new effect's folder (Data\Effects\BlueFireParticle).

ParticleSystemEditor 010.jpg

The material has been set. The next step is to create the particle Emitter and add the necessary Affectors.

Emitter Adjustment

Now you will create and setup a particle Emitter (the entity handling particles creation). The engine supports several emitter types. These types can be of various forms (point, parallelepiped, cylinder etc.) In this tutorial you will be using a point emitter.

In order to adjust the emitter, you have to select the Emitters parameter of the particle system and press the "..." button.

ParticleSystemEditor 011.jpg

Now, press the Add button to add a PointEmitter.

ParticleSystemEditor 012.jpg

Specify the following emitter parameters:

  • set the Angle parameter to 30 (particle scatter angle),
  • for the Color parameter set all sliders to 0 (instead of the initial value equal to 255),
  • Set the Direction parameter to "0 0 1" (the initial direction of the particle flow),,
  • set the ParticleVelocity parameter to "1 2" (initial speed as an interval),
  • set the TimeToLive parameter to "1 1" (particle lifetime as an interval),
  • the other settings should be left to default.

And then press the OK button.

ParticleSystemEditor 013.jpg

The emitter creation is now complete.

Affector Adjustment

Now, you have to create and setup the affectors, in other words, particle interaction and morphing over time.

In order to animate your particles, you have to create three affectors:

  • ColourInterpolatorAffector, changing the color over time,
  • ScaleAffector, changing particle size,
  • RotationAffector for particle rotation.

First of all, select the Affectors parameter and press the "..." button.

ParticleSystemEditor 014.jpg

Then, create the affector that will take care of changing the system color over time. Fire has several specific features that have to be taken into account: It is bright and semitransparent at the bottom, then they go through the dense light zone. And, finally, particle color turns invisible and they disappear. In order to get such an effect, it is convenient to use the ColourInterpolatorAffector. With this affector you can specify several areas with different color and lifetime.

Press the Add button in the affector adjustment window in order to add a new ColourInterpolatorAffector.

ParticleSystemEditor 015.jpg

Set the following value of its parameters:

  • set the Item0Color parameter to "15 111 205 0".
  • set the Item0Time parameter to 0.
  • set the Item1Color parameter to "15 111 205 255".
  • set the Item1Time parameter to 0.2.
  • set the Item2Color parameter to "0 0 255 0".
  • Item2Time выставим в 1,
  • the other settings should be kept to default.
ParticleSystemEditor 016.jpg

You have adjusted particle color change over time. Now, proceed to particle size change. To do this add a ScaleAffector using the Add button.

ParticleSystemEditor 017.jpg

Set the value of the Adjust parameter to 0.5.

ParticleSystemEditor 018.jpg

The last affector you have to create is the one for particle rotation. The affector handling particle rotation over time is called RotationAffector. Add it using the Add button.

ParticleSystemEditor 019.jpg

Set this affectors parameters values as follows:

  • set the Rotation parameter to 0 359 degrees.
  • set the RotationSpeed parameter to "-30 30".

Now that all the necessary affectors have been created, You can press the OK button.

ParticleSystemEditor 020.jpg

You have successfully completed the affectors setup for your particle system!.

Completing Particle Adjustment

Now, you only have to specify particle size. Set the value of the Size parameter of the particle system to "2 3".

The blue fire imitation particle system.

Do not forget to save you particle system. In order to do it, choose the step Save in the menu File. You have completed the particle system creation!

Particle System Parameters

Name Description|-
Affectors Affector list.
MaterialName Material name.
Emitters Emitter list.
Renderer The renderer settings (display of the particles). Detailed description.
Size Initial particle size.
AutomaticQuota This parameter enables/disables the automatic detection of optimal particle number (the Quota property).
Quota The maximal amount of active particles for the system.
CullIndividually This parameter enables/disables the visibility mode for each particle.
LocalSpace This parameter enables/disables the LocalSpace mode. If set to true, the particles remain relative to the node the particle system is attached to.
Sorted This parameter enables/disables particles sorting by distance to the camera.

The Render Adjustment

Name Description
AccurateFacing This parameter enables/disables the use of an 'accurate' facing model based on the vector from each billboard to the camera, rather than an optimized version using just camera direction.
BillboardOrigin The point which acts as the origin point for all billboards in this set.
BillboardRotation Billboard rotation type.
BillboardType The type of the particle billboard.
CommonDirection The vector, along which the billboard is directed.
CommonUpVector A vector, specifiying the “upwards” direction for the particle billboard.
PointRendering This parameter enables/disables the Point cloud.


Emitters are particle generators and particle spawn points. There are several types of emitters, each having a different shape. Emitter types:

  • PointEmitter,
  • BoxEmitter,
  • CylinderEmitter,
  • RingEmitter,
  • EllipsoidEmitter,
  • HollowEllipsoidEmitter.

Properties that are common to all emitter types:

Name Description
Angle Specifies the maximal particle scatter angle (degrees) from the emitter direction. If you set this parameter to 180, particles will be emitted in all directions. If you set it to 0, particles will only be emitted in the direction, specified in the Direction parameter.
Color Initial particle color.
Direction Initial particle direction.
Duration This parameter specifies the emitter particle creation time as an interval in seconds. With this value set to "0 0" the emitter will create particles permanently.
EmissionRate This parameter specifies the number of particles emitted per second. By default, this parameter is set to 10 particles per second.
ParticleVelocity Specifies minimal and maximal particle size. Particles will have a random initial speed in the specified interval.
Position Emitter position relative to the center.
RepeatDelay Specifies wait time till next emission, if the system has completed its work and is out of particles. Sets the minimal and maximal time for the system to restart. The time period will be selected randomly within the given interval.
TimeToLive Lifetime of each particle. Particles will live for a random time period from the given interval.

Some emitters also have several additional properties to specify their size and form:

Name Description
InnerSize Specifies the size of the inner part of the emitter in meter. It must be set using 3 coordinates.
Size Specifies emitter size in meters. It must be set using 3 coordinates.


Affectors are used for current particle system management, allowing you to change parameters such as color, rotation, scaling etc.

Типы аффекторов:

  • LinearForce,
  • ColourFader,
  • ColourFader2,
  • ColourInterpolator,
  • Scaler,
  • Rotator,
  • DirectionRandomiser ((random direction affector),
  • DeflectorPlane (particle deflector),

LinearForce affector

This affector specifies additional forces that affect particle movement and direction. You can use it to simulate gravity, wind or any other linear force.

Name Description
ForceApplication Specifies the way, the force vector is applied to the particle. If this value is set to Add, the force vector will be added to the the particle movement impulse. This may result in infinite acceleration, though. If this parameter is set to Average, particle average speed will be calculated using the force vector and current particle impulse. This does not stabilize particle speed, as particle speed in this case is non-linear.
ForceVector Force vector applied to the particle system. It must be set using 3 coordinates.

ColourFader Affector

This affector changes particle color over time.

Name Description
Adjust The adjustment made to each of the color components (RGBA) per second. These values will be added to the color of all particles every second, interpolated over each frame for smooth adjustment.

ColourFader2 Affector

This affector changes particle color over time. Unlike with the ColourFader, with this one you can adjust two colors at a time.

Name Description
Adjust1 The adjustment made to each of the color components (RGBA) on the particle's LifeTime per second. These values will be added to the color of all particles proportionally, interpolated over each frame for smooth adjustment. It's used until the LifeTime exceed the value of StateChange parameter.
Adjust2 The adjustment made to each of the color components (RGBA)per second. These values will be added to the color of all particles proportionally, interpolated over each frame for smooth adjustment. It's used when the LifeTime exceeded the value of StateChange parameter.
StateChange A time from the beginning of the particle's LifeTime after the color adjusting parameter Adjust2 is enabled. Until that, the Adjust1 parameter is used.

ColourInterpolatоr Affector

Just like the ColourFader and the ColourFader2 affectors, this affector changes particle color. However, this one does it in six steps. Each step is activated at a certain time and has certain colors. Thus, this affector changes particle color at certain time intervals.

This affector has 12 parameters, which are represented in 6 pairs consisting of 2 of the following properties:

Name Description
ItemColour Particle color.
ItemTime Specifies the time for a certain stage to begin.

Scaler Affector

This affector changes particle size over time. It can both increase or decrease particle size.

Name Description
Adjust Particle size change per second coefficient.

Rotator Affector

This affector manages particle rotation over time. The rotation effect is using texture rotation.

Name Description
Rotation This parameter specifies the maximal and the minimal angle for particle rotation. Thus, particle rotation will be implemented in the given interval.
RotationSpeed This parameter specifies the maximal and the minimal speed of particle rotation. Thus, particle rotation speed will stay in the given interval.

DirectionRandomiser Affector

This affector enables particle random movement.

Name Description
KeepVelocity Enables/disables particle speed change. If this is set to True, particle speed will not change
Randomness Makes particles randomly deflect in any of the three directions.
Scope Particles will randomly deflect within the given scope.

DeflectorPlane Affector

This affector creates a deflector plane, which deflects all particles coming in contact with it.

Name Description
Bounce Specifies particle deflection force. If this parameter is set to 0.5, particle deflection force will be equal to 50% of the initial impulse.
PlaneNormal Normal to the deflection plane.
PlanePoint A point on the deflection plane.

Editor Adjustment

In order to adjust Particle System Editor press the Options button in the main panel or choose the same in the Tools menu. In the dialog box choose the Particle System option.

Particle System Editor Adjustment
Name Description
Background Color Choose the background color for the editor.
Show Axes Enable/disable the visual display of axes coordinates.
Show Grid Enable/disable the visual display of the grid.
Sky Box Specifies a skybox to be displayed at the background while editing objects.