5D.Particles

Example Pages

PURPOSE
Provides a comprehensive, general purpose, 2D particle system simulator and renderer. A variety of natural phenomena can be modelled using this, and many interesting effects can be achieved. This system is much more flexible than the particle based Monsters in Box 4 and Box 6, though those are to be recommended when you want the particular effects they were designed to produce.

A set of tutorial exercises is included to help you get some idea of how this system works. Just reading about it makes it sound unduly complicated! Try the exercises in the example pages (above) and you will understand the principles involved.

INPUT CLIPS
Birth Clip: if you use birth limits, particles will only be born within non-black regions of this image.
Bounce Clip: if you use bounce regions, when a particle moves from a black to a non-black region of this image, its direction will be reflected off the non-black region edge, making it bounce off the non-black region.
Turbulence Clip: if you use the turbulence map, the gradients in the luminance of this image will control how the particles move (to some extent). This lets you make particles flow over features in this image.
Background Clip: sequence over which the particles will be composited.

Any of the input clips can also be used as an alternative colour source for the particles.

TIME EDITOR CONTROLS

CREATION
Fecund ity(Min: 0.0 Max: 10000.0 Default: 50.0)
The average number of particles born per frame.

Fecundity Variance (Min: 0.0 Max: 1000.0 Default: 10.0)
The actual number of particles born at each frame is the average number specified by Fecundity plus or minus a random amount ranging up to the specified Fecundity Variance.

LIFE
Time (Min: 1.0 Max: 1000.0 Default: 50.0)
The average number of frames for which a particle will live. It will definitely be killed after it has lived this number of frames (plus or minus the lifetime variance below). They may die sooner (see Extinction).

Variance (Min: 0.0 Max: 100.0 Default: 5.0)
The actual lifetime of a particle is the average lifetime plus or minus a random number ranging up to the variance.

EXTINCTION
These controls determine how particles fade away as they grow older.

Time (Min: 1.0 Max: 1000.0 Default: 50.0)
The number of frames over which a particles density will fade to zero. If this is very large compared to the lifetime, the particles will not fade noticeably before they are killed. Particles that have faded to invisibility are removed. This can cause them to die before their specified Lifetime is over.

Variance (Min: 0.0 Max: 1000.0 Default: 20.0)
The actual frames to extinction of a given particle is the extinction plus or minus a random number ranging up to extinction variance frames.

POSITION
These control where particles are born at each frame.
XY Center (Default: center)
Co-ordinates of the position on which particle birth is centered.

Radius (Min: 0.0 Max: 500.0 Default: 10.0)
The radius of a circle centered on the particle birth position at each frame. Particles are born only within this circle.

FORCES
These control where and how quickly the particles are going when they are born.

VELOCITY
Strength (Min: 0.0 Max: 100.0 Default: 10.0)
The strength determines the speed with which the particles are moving at birth. The greater the strength, the faster they will move in the given direction.

Angle (Min: -0.0 Max: 360.0 Default: 90.0)
The direction the particles move at birth.

Scale (Min: -2000.0 Max: 2000.0 Default: 100.0)
Scaling the velocity gives easier and more precise control to the direction, and change of direction of the particles at birth.

Magnification Variable (Min: 0.0 Max: 1000.0 Default: 0.0)
The speed of a given particle can be randomly distributed around the average velocity (see above) by using this control. This specifies a fraction of the average speed. The final speed is randomly distributed between the average speed and the average speed plus or minus this factor times the average speed.

Direction Variance (Min: 0.0 Max : 100.0 Default: 5.0)
The direction in which a particle starts travelling when it is born can be randomly distributed around the average direction (determined from the velocity direction ) using this control. This gives the maximum deviation from the average direction as a fraction of a full circle. At 100.0 particles will burst out in all directions (though with more still in the average direction), while at 0.0,they will all head off in the same average direction.

GRAVITY
Gravity makes particles accelerate in a specified direction.

Strength (Min: 0.0 Max: 100.0 Default: 10.0)
Strength of gravity in pixels per frame per frame.

Angle (Min: 0.0 Max: 360.0 Default: 270.0)
Direction in which gravity acts, specified in degrees, with 0.0 due East. The default is downwards, which is 270 degrees.

SWIRL
Generally, particles travel through some medium which is not perfectly smooth, such as air, or water with currents. Often, natural looking results can be obtained by simulating a turbulent velocity field. These controls set up such a field.

Density (Min: 0.0 Max: 100.0 Default: 0.0)
Controls how many bumps in the field the particles will run in to as they cross the frame. If it is set to 0.0, no swirling will occur. The higher this is, the more detail there will be in the particles motions.

Amplitude (Min: 0.0 Max: 100.0 Default: 10.0)
Controls how much of a kick the particles get when they run into bumps in the field. The greater this is, the wilder their gyrations will become.

To Maximum (Min: 0.0 Max: 100.0 Default: 5.0)
The swirling of a particle builds up from zero when it is born to a maximum (determined by Swirl Amplitude and Swirl Density) over the number of frames specified here. When the particle has been alive for this number of frames, it will be as swirl as it will ever be.

WIND
Particles can be blown by a directional wind force or a multi directional wind.

XY Source (Default: center left)
Co-ordinates of where the wind is blowing from. If multi-directional the wind will blow outwards from this point in all directions. Otherwise the wind will blow towards the target within the angle specified by the spread.

XY Target (Default: center right)
Co-ordinates of where the wind is blowing to if the wind is directional. When the wind is mutli-directional, the wind speed will drop to 0.0 at this distance from the wind source.

Speed (Min: 0.0 Max: 180.0 Default: 0.0)
The speed of the wind. Particles feeling the full force of the wind get this velocity (in pixels per frame) added to their velocity.

Spread (Min: 0.0 Max: 180.0 Default: 33.0)
Angle of a cone within which the directional wind blows. The wind speed drops smoothly from wind speed within the central 90% of the cone angle, to zero at the cone edges.

SINK
The particles can be made to fall into a vortex or sink hole. When they come within the vortex's sphere of influence they will be attracted towards its center and whirled around its circumference. There is a region at the center of the vortex in which particles are killed as they enter.

XY Position (Default: center)
Co-ordinates of the center of the sink hole.

Outer Radius (Min: 0.0 Max: 1000.0 Default: 50.0)
Radius of the sink hole's sphere of influence. Outside this radius, particles are unaffected. Within it, they are subjected to increasingly strong radial and tangential forces as they fall towards the center.

Strength (Min: -500 Max: 500 Default: 0.0)
Controls the strength of the radial forces in the sink hole, pulling the particles towards its center. If negative, the sink hole expels particles.

Swirl (Min: -100.0 Max: 100.0 Default: 3.0)
Controls the strength of the tangential forces whirling the particles around the sink hole. The sign controls whether they are pushed clockwise or anti-clockwise.

Hole Radius (Min: 0.0 Max: 100.0 Default: 1.0)
Radius of the central region of the sink hole. Any particle that enters this region is killed (removed from the simulation).

BOUNCE CLIP
Damping (Min: -2.0 Max: 2.0 Default: 0.1)
When a particle bounces, its new direction is found by reflection. Its new speed is its incoming speed multiplied by this factor, which determines how bouncy the particles are.

TURBULENCE CLIP
Direction Magnitude (Min: -1000.0 Max: 1000.0 Default: 100.0)
In Direction mode only, controls how luminance gradients in the turbulence map change the direction of particles.

Flow Magnitude (Min: -1000.0 Max: 1000.0 Default: 200.0)
Controls the size of a particles reaction to the turbulence map.

Friction (Min: 0.0 Max: 100.0 Default: 0.0)
A fraction of a particles velocity lost at each frame due to friction. If this is set to 100.0, the particles won't go anywhere. If it is set to zero, they may keep on going (or accelerate) forever. In between, things like slowing due to air resistance and liquid viscosity can be simulated.

SIZES

SHAPE
If the particles are not points or streaks the size of the particles can be set.

Radius (Min: 1.0 Max: 20.0 Default: 1.0)
When a lump is used as the particle representation, this specifies its radius in pixels.

Radius Variance (Min: 0.0 Max: 100.0 Default: 0.0)
The size of a lump representing a given particle can be made to vary randomly from the specified lump radius using this control.

Streak (Min: 0.1 Max: 1000.0 Default: 100.0)
When using streak particles, scales the natural length of a streak; the motion path between 2 frames is drawn.

COLOUR
Red Green Blue (Default: White)
This colour is the basic color that particles are given when they are born. You can vary this color randomly using the colour variance and mono variance controls.

Colour Variance (Min: 0.0 Max: 100.0 Default: 0.0)
When particles are born, they are given an initial color as specified. The red, green and blue components of this color can be randomly perturbed by plus and minus color variance of the maximum color range. At 0.0, all particles have the same color. At 100.0, particles will be born with wildly differing colors.

Monochrome Variance (Min: 0.0 Max: 100.0 Default: 0.0)
Specifies the brightness variation of particles without changing their colour. At 100.0, particles will vary in brightness from black to the luminance of the color they are given. At 0.0, the only brightness variation will be that due to any color variation selected.

Source (Default: RGB Values)
The colour for the particles can come from either the set RGB values with the colour and momochrome variances; or one of the input clips can be used as the colour source. For example, if you want to take the colour from a clip and are not using the birth region options, then you can select to use this clip for the colouring instead. Which ever clip you have free, you can use as a colour source.
RGB=0: the colour for each particle is taken from the RGB values.
Background=1: the color of each particle is take from the background clip.
Birth=2: the color of each particle is take from the birth clip.
Bounce=3: the color of each particle is take from the bounce clip.
Turbulence=4: the color of each particle is take from the turbulence clip.
The image is tiled to cater for particles born out side of the image area.

DENSITY
These determine how particles are rendered and control their density when they are born. Condensation and fading also effect the density of any given particle on any given frame.

Initial (Min: 0.0 Max: 100.0 Default: 100.0)
Specifies the maximum density of particles. A density of 0.0 is entirely transparent, while 100.0 is fully opaque. If condensation is set to 100.0, initial density gives the density of particles when they are born. They may (and generally will) fade away as time goes on. If Condensation is less than 100.0, particles slowly condense into being over a number of frames, heading towards the density set by initial density. Depending on how quickly they are set to fade away, they may never reach this density.

Condensation (Min: 0.0 Max: 1.0 Default: 1.0)
This controls how quickly particles gain their maximum opacity after they have been born. If set to 100.0, they get their full density immediately. At 0.0, they grow in density over their entire lifetime (though they may start to fade away before they reach their full density). Intermediate values give intermediate rates of condensation after birth.

PI CONTROLS

KILL ALL PARTICLES
Activate to remove all the current particles from memory and start again.

STYLE
This selects the representation to be used for rendering particles.
point: a single pixel dot.
soft points: each particle contributes a fractional amount of color and density to the pixel it lies in. This is currently hardwired at 0.25.
streak: an anti-aliased line joining the position of the particle in the previous frame to its position in the current frame. The density of the line varies from zero at the old end to whatever the particles current opacity is at the current frame end. Although the natural length of the streak is from the old to the new position, this can be scaled by the Streak Scale control.
lump: an anti-aliased blob whose size is determined by the Lump Radius and Lump Radius Variance controls.
star: a star pattern.
image: an arbitrary image. The image must be in SGI RGB format with a .sgi extension. We also strongly recommend the use of small input images (e.g. 100 by 100 pixels as a maximum) since these are generally best suited for use as particle representations and the larger the image the more memory you will need and the slower it will be to process.
Tip: use snapshot to grab a small image.

SELECTING AN IMAGE
Click on the select button. Use the standard browser to find the image you require whgich must be SGIRGB format.

self matting (Default: Off)
When using the image particle representation, this controls how the images, representing each particle, composite with one another. Try it out to find which one you fancy.

WIND TYPE
You can select the wind type, a cone of directional wind is the default.

RENDERING STYLE
Determines how particle representations fade with time. The rate at which they fade is controlled by the Extinction and related controls.
colour & density: the color (brightness) of a particle and its density (opacity) change as it gets older.
colour: the color (brightness) of a particle changes, while its density stays constant.
density: the color (brightness) of a particle stays constant, while its density (opacity) changes as it gets older.
This control effects how the particles composite with one another and with the background image. It has a very great effect on the final appearance of the rendered particles.

CLIP CONTROL
birth (Default: Off)
On: particles will only be born in the intersection of the birth circle and non-black regions of the images in the birth matte clip.

bounce (Default: Off)
On: particles will be bounced when they move from black to non-black regions of the bounce zone image. A 2D analog of a normal is calculated from the bounce zone image and particles are reflected off the surface.
Often, its cool if particles can react to elements in a background image. For example, you might want to simulate water with a particle system and have it bounce off rocks. You can do this with a bounce zone clip. Particles can (and generally will) bounce more than once.

turbulence (Default: Off)
On: another velocity perturbation field will be used in addition to the turbulent velocity field. This is controlled by the luminance of the turbulence map clip.

There are 3 styles of turbulence which control how gradients in the luminance of the turbulence map images are used to perturb particle velocities. It is best to experiment with the three possibilities to see what they do, but in essence:
attraction: draws the particles towards light (or dark) areas of the turbulence map. Particles can become stuck to the map. The force of attraction is controlled by flow magnitude, the sign of which determines whether light or dark areas do the attracting.
direction: makes the particles change direction as they hit gradients in the luminance of the turbulence map. Flow magnitude controls the extent to which they change direction. Direction Magnitude changes which direction they go in as they move from, for example, light to dark.
accumulation: similar to attraction, but particles don't become stuck.

Index