BlastFX Documentation
A downloadable project
Note: these documents are still a work-in-progress
Emitters Panel
This area contains the current list of emitters, along with buttons to add, remove and duplicate the currently selected emitter. This panel also contains controls for triggering the emitters, either individually, or all at once.
Emitter Properties Panel
This panel is where you will control the various parameters of the emitter and the particles it spawns. Below is a list of the available sections, the properties they contain and what they do.
Seamless Looping Info
To get seamless looping on an emitter, please follow these steps:
- Enable 'Seamless Loop' in the emitter properties
- Set 'Preprocess' to the same value as the emitter 'Lifetime' property so that the emitter will begin in a state as if it had already been running for X amount of time
- Set the 'Output Frame Count' value in the render settings to the lifetime of your emitter multiplied by the 'Output Frames Per Second' value
So if your emitter has a lifetime of 3 seconds and you're rending at 60 frames per second, set the output frame count to 3 x 60 = 180 frames
This should give a seamless looping effect. If you have a blank frame at the start of the animation, try setting the 'Delay Capture' value in render settings to 1 so that it skips that first frame.
Note: Seamless looping with the motion options enabled is possible, but it's a matter of syncing up the timing and takes some experimenting currently.
Main
Name | The name of the emitter. You can edit this to make your projects more manageable. |
Visible | Toggling this will show or hide the emitter and its particles. |
Seamless Loop | When enabled, the particle system will repeat itself in a predictable way. |
Local | Particles will stay parented to the emitter when this is enabled. |
Repeat | Whether or not the emitter should restart after its lifetime is reached. An emitters lifetime is defined with the Duration property. |
Blend | The blending method with which particles are drawn on top of each other. Normal uses alpha blending, Additive will add the values together (good for fire) and Subtract will subtract the values. Subtract will not be visible against the background, but it will affect any particles below it. It's useful for cutting holes or 'cooling' bright areas in explosions. |
Layer | This is the drawing order of the emitters. A higher value means it will be drawn last (on top). |
General
Position | The position of the emitter on the canvas. 0,0 is the center of the canvas. The position can be changed here, or by dragging the emitter in the Source window. |
Random Seed | The base value for randomness in the emitter. Mostly useful (and noticeable) when seamless looping is enabled. Emitters with the same random seed will use the same random numbers. This value behaves more like an offset than traditional random seeds, so duplicating an emitter and increasing the random seed value by one will not create a noticeable difference in randomness, whereas increasing by 1000 will. |
Duration (seconds) | This is the lifetime of the emitter, NOT the particles. If repeat is disabled, then the emitter will stop playing once this time has elapsed. |
Timescale | How quickly the particle system runs. 1.0 = normal speed, 0.5 = half speed, 2.0 = double speed etc. |
Amount | The amount of particles to spawn. This isn't per second or frame, but rather the total amount you want to exist. The emitter will create particles at a rate that satisfies reaching this value. |
Preprocess (seconds) | The particle system will start in a state as if it had already been running for this amount of time. Essential for seamless looping. |
Delay (seconds) | The amount of time before an emitter will begin spawning particles. |
Lifetime (seconds) | The lifetime of particles created by this emitter. |
Lifetime Rand | Randomness ratio of the Lifetime property. Value: 0.0 to 1.0 |
Burst | Ratio for whether to spawn particles over time or all at once. Value: 0.0 to 1.0 |
Gravity | A constant X/Y force applied to all particles of this emitter. Not affected by damping. |
Angle | The angle at which particles are emitted. This is the angle the particles velocity will be applied in. |
Spread | A +/- range added to the Angle property. Can be a cone (i.e 20 degrees) or a full circle (i.e 180) |
Radial Spawn Offset | An offset in the direction of the emitter angle where the particles will spawn. |
Spread Rand | The randomness of the angle chosen from within the Spread value. A value of 0.0 will spawn particles at an increasing angle from the start of the range to the end, whereas a value of 1.0 will randomly pick an angle between the start and the end of the spread range. |
Shape
Emitter Shape | Point: Particles are spawned from a single point at the position of the emitter Circle: Particles are spawned between a minimum and maximum radius. Setting the minimum radius close to the maximum radius can create a ring effect. Box: Particles are spawned within a bounding box defined by Width and Height. |
Texture
Particle Texture | The image displayed for each particle. The filter option next to this can enable or disable bilinear filtering (texture smoothing). |
Sheet Columns & Rows | If you want animated particles, you can select a texture/sprite sheet as the Particle Texture. Set the Column & Row values to the amount of frames you have horizontally and vertically in the texture. |
Animation Speed | The speed of the animation. With a value of 1.0 the animation will take the same amount of time as the particle's lifetime to complete. A value of 2.0 would cause it to play twice within the particle's lifetime etc. |
Velocity
Initial Velocity | The initial speed of the particles when they're spawned. The direction they travel in will depend on the emitter angle (unless this velocity value is negative, then it will be the opposite direction). |
Initial Velocity Rand | Randomness of Initial Velocity. Value: 0.0 to 1.0 |
Linear Acceleration | The linear acceleration applied to the particle's velocity over it's lifetime. |
Linear Acceleration Rand | Randomness of Linear Acceleration. Value: 0.0 to 1.0 |
Orbital Velocity | A velocity applied to the particle over the course of it's life time that causes it to orbit around it's original spawn point. |
Orbital Velocity Rand | Randomness of Orbital Velocity. Value: 0.0 to 1.0 |
Radial Acceleration | An acceleration applied to the particle's velocity over the course of it's lifetime that will push the particle away (or towards if negative) the original spawn point. |
Radial Acceleration Rand | Randomness of Radial Acceleration. Value: 0.0 to 1.0 |
Tangent Acceleration | An acceleration applied to the particle's velocity over the course of it's lifetime that will push the particle at an angle that is tangent to the original spawn point. |
Tangent Acceleration Rand | Randomness of Tangent Acceleration. Value: 0.0 to 1.0 |
Damping | A damping force that is applied to the particle's velocity over the course of it's lifetime. Does not change the effects of gravity. |
Damping Rand | Randomness of Damping. Value: 0.0 to 1.0 |
Colour
Lifetime Colour | Colour of the particle over the course of it's lifetime. New colours can be added by double-clicking on an empty area of the gradient. Existing colours can be changed by double-clicking on one of the points on the gradient. Colours can have alpha values which will change the transparency of the particles. |
Scale
Scale | Scale of the particles over their lifetime. |
Scale Rand | Randomness of the Scale value. Value: 0.0 to 1.0 |
Width Multiplier | A multiplier value applied to the width of the scale value. |
Height Multiplier | A multiplier value applied to the height of the scale value |
Angle
Align to Velocity | When enabled, the particles will rotate towards the direction they're travelling in. |
Initial Angle | The initial angle of the particle when it's spawned. |
Initial Angle Rand | Randomness of the Initial Angle value. Value: 0.0 to 1.0 |
Angle Offset | An offset added to the initial angle after randomness has been applied. This is useful when you'd like the particle's angle to be randomised between something other than 0 to 'Initial Angle' Example: Initial Angle = 90 Angle Randomness = 1.0 Angle Offset = -45 The resulting value would range between -45 and 45, instead of 0 and 90. |
Angular Velocity | The rate of rotation over the course of a particle's lifetime. |
Angular Velocity Rand | Randomness of the Angular Velocity value. Value: 0.0 to 1.0 |
Angle Lifetime | Use this to directly set the angle of a particle over it's lifetime. |
Flow Map
Use Flow Map | When enabled the particles velocity will be affected by the Flow Map. |
Texture | The texture to use for the Flow Map. Flow Maps are special textures which can be used to push particles around. The red channel of the image is used for the X velocity, and the green channel is used for the Y velocity. A red or green pixel value of 0 is the equivalent to a velocity change of -1 A red or green pixel value of 127 is the equivalent to a velocity change of 0. A red or green pixel value of 255 is the equivalent to a velocity change of 1. Here's an Unreal article on how to generate flowmaps in Photoshop |
Strength | The strength of the flow map. The higher the value, the more effect it will have on the particle's velocity. |
Motion
Motion Type | The type of motion applied to the emitter None: No motion Sin & Cos: The emitter will move using Sine waves for the horizontal movement, and Cosine waves for the vertical movement. The frequency (speed), offset (initial position along the wave) and amplitude (size) can all be adjusted independently. |
Status | Released |
Category | Other |
Author | Ben Hickling |