Login - Create Account

New Component: Bomber Plus

Bomber, Filter Forge's particle-spraying component, is one of the most popular components, and deservedly so: it's extremely fast and extremely versatile. With Filter Forge 5.0, it just got a lot better. Like, infinity times better.

Slave Components

Bomber Plus comes with 10 slave components that let you customize each particle individually, based on multiple random numbers generated uniquely for the particle; its size, rotation and squash; the number of the fractal layer the particle resides on; and its center and bounds. And the fact that each particle is unique means that you can create an unlimited number of particle types.

Infinite Number of Particle Types

The subtree of the Particle input of the Bomber Plus component can be composed of multiple components, each of which can have multiple mappable (green) inputs, any of which can be customized per particle via slave components. Essentially, this gives you an unlimited number of particle types, as opposed to just five in the old Bomber.

This simple example shows a Map Switch with a Randomizer slave plugged into its Selector input, which selects any of the 10 single-component subtrees at random:

Map Switch with a Randomizer

The next example shows 3 particle subtrees picked for each particle at random, where each of these subtrees is further customized via slave components. As a result, each star in the generated image is unique:

Multistar.ffxml

Customizing Individual Particles

This simple example uses three Randomizer slaves to assemble a random HSY color, which is then assigned to each particle:

Multicolor.ffxml

In the next example, particles are rotated randomly and get their color based on their rotation: particles whose rotation angle is close to 90 degrees are bright, and the rest of them are dark:

Vertical Brightness.ffxml

Here's another cool trick with the Rotation slave. The particles themselves are rotated randomly, but the pattern always stays vertical. This is because the particle rotation is compensated by rotating the pattern in the opposite direction by the same amount:

Rotacomp.ffxml

Particle Center, Corners and the Lookup Technique

There's a particle customization technique, enabled by Corner X / Y and Center X / Y slave components, which is so powerful that it deserves a special mention. Essentially, it allows you to customize some aspect of a particle based on an external map:

CustoMap.ffxml

Here's what's going on:

  • The Center X and Center Y slaves output particle center coordinates.
  • Both coordinates are plugged into a Lookup component.
  • The Lookup component samples the radial gradient at these coordinates.
  • The sampled value defines the ray sharpness of each individual star.

To sum up, a custom map (the radial gradient) defines an aspect of the particle (ray sharpness):

One more example of the lookup technique. This time, we're sampling colors at the particle corners and interpolate them across each particle individually via a custom 4-point gradient. The resulting effect may be very useful for builders of various artistic / painterly effects:

A variation of the same effect, with an additional profile curve for the gradient:

Quadrobomber.ffxml

Nesting

Like Loop or any other slave-supporting component, Bomber Plus is nestable: it can be nested within a subtree of another slave-supporting component, or have another slave-supporting component inside its Particle subtree, or both at the same time.

Full List of Slave Components

  • Randomizer – outputs a normalized random value (converted to color) that is unique for each particle. You can create multiple copies of Randomizer, so if you need multiple random values to build or modify the particle subtree, you can use multiple Randomizers with different Variation settings (i.e. random seeds).
  • Size – outputs a grayscale value within the range of 0...1 that represents the actual particle size, after the Size and Size Chaos parameters have been applied. Does not take into account particle scaling due to fractal layering. It allows you to modify the particle subtree based on how large the particle is (on its layer, not in absolute terms).
  • Rotation – outputs a grayscale value within the range of 0...1 that represents the actual particle rotation, after the Rotation and Rotation Chaos parameters have been applied. It allows you to modify the particle subtree based on the rotation angle of the particle.
  • Squash – outputs a grayscale value within the range of 0...1 that represents the actual particle 'squashedness', after the Squash and Squash Chaos parameters have been applied. It allows you to modify the particle subtree based on how thinly-squashed the particle is.
  • Center X and Y – output the X and Y coordinates of the actual particle center, after all transforms and offsets have been applied. The main use of these slaves is to lookup a value or color from a custom map and use it to customize the particle (see the section on the lookup technique above).
  • Corner X and Y – output the X and Y coordinates of a specified corner of the particle, after all transforms and offsets have been applied. These slaves are useful for looking up values or colors from a custom map at the particle corners or at other points within the particle to create artistic effects.
  • Layer – outputs a raw HDR grayscale value representing the number of the fractal layer (or octave) the particle resides on.
  • Normalized Layer – outputs a normalized value representing the number of the fractal layer (or octave) the particle resides on, converted to color. This slave can be useful for creating effects like 'particles in the fog' where particles residing on lower or higher layers are modified using some kind of color correction.

Using Slave Components

The key thing to understand about slave components of Bomber Plus is that their output changes depending on the particle currently being rendered. This means that you can use them in the particle-forming subtree to vary any number of parameters per particle.

Here's how to make them work:

First, make sure that the slave components are connected to the subtree of their master's Particle input, otherwise they will have no effect. The Particle input is the only input in Bomber Plus that generates element data for slaves during sampling.

And second, make sure that there are no bitmap-based components between the slave and the Particle input. Bitmap-based components kill the element data sent to slaves by their master, and thus cannot be used in slave-to-master connections.

Filter Forge is – by quite a margin – the most powerful plug-in we've looked at here. That's because it's a tool for creating plug-ins, both generative texture-creation tools and effect filters.

Neil Bennett
Digital Arts
www.digitalartsonline.co.uk

See All Testimonials

Get a 75% discount on any edition!
Expires soon!
Buy today – save up to $300!

“Filter Forge is an incredibly powerful new Photoshop Plugin. It's simply amazing. It gives you the power to create your own filters (you must run them from inside Filter Forge though) without any programming knowledge at all.”

Enrique Flouret
www.photoshoproadmap.com

“Oh my god, I've got to get into this!”

Mike Blackney
Game Artist
mikeblackney.com

Follow filterforge on Twitter