In this tutorial
we'll use some techniques to make a collection of brush images, each
representing som tufts of wild grass. There will be some variations,
like tint color, size, and 'lumpiness' in their appearance. The whole
collection is then used to make a single custom animated brush in which
the images are sequentially painted, with additional random parameters
applied that further add realism, such as random size variations,
saturation and hue and positions.
Here's an example of a grassy hill you'll create with it:
|
 |
Create a
square document: 1024x1024
|
Create a new
document from the File>New menu. As you can see here we have
modified the presets to include one called 1 megapixel SQUARE which is
1024x1024 pixels in size. You can also just enter the width and height
here.

To customize the presets, you can use Notepad to edit a file named
Def_Res.txt (Default Resolutions). It is found in the folder where
Dogwaffle was installed, such as C:\Program Files\PD Pro for
version 3.x
Or you could enter the new preset directly through Dogwaffle in the
File>Settings menu ( or File>Prefs in earlier versions). If you
do, be sure to save the new settings and quit Dogwaffle, then start it
again for the new preset to become visible.
|
Using
Visible Aides:
Display Settings to Show a Reference Grid...
The image buffer is 1024x1024 in size. we'll divide it into 4x4 squares
of 256x256 pixels each. Each such subsquare will be a place holder for
a bushel of grass.
Open the Display settings menu from the Window menu:
 |

Check the "Visible Grid'" option.
set the Horizontal and Vertical parameter sliders to the max, which
places a line every 128 pixels apart.
This means that if you look at three adjacent lines, they span 256
pixels across. The middle line intersects at the center of each sprite
cell.
|
|

Note that in the above image, the lines appear very nicely
consistent in each column no matter how much you zoom in or out.
If you notice instead a lot of pixelation noise, with lines breaking in
and out and many of them invisible, you may need to enable the
smoothing for zoomed views.
Select File>Settings...
|

find the "Smooth scaling" checkbox and enable it, to perform smoothing
on scaled (zoomed) pixels.
This will ensure that in zoomed view mode, you will see a steady,
consistent grid.
|
Starting
with Grass: Optipustics Presets
|
Start the particle brush panel (Optipustics) with the 'i' shortcut or
from the Window menu, click on the Settings button and select the
preset you want to use.

Use the Grass preset for example.
|
Find the upper left
corner of the image buffer. Paint a quick dab of grass in the first
(upper-left) sprite cell. It is contained within the first 2x2 blocks
of 128 pixels each, spanning a total of 256x256 pixels:

|
Do a few more in the
following sprite cells. Keep them centered on each respective middle
point of each sprite cells.
 |

Note that if any particles are drawing beyond their confined spaces,
such as falling below the bottom edge of the sprite cell, you should
clean up the 'mess' before drawing the next dab of grass over the
center of the lower cells. Each tuft of grass should appear in its own
256x256 space.
You can use 'u' to undo anytime you want to instead try redrawing the
tuft.
|
If you want to use color keying to designate the white background color
as transparent when you pick up the cells into custom brush, thyat's
fine. But the reseults might be better (with regards to annoying white
glowing edges) if you use the alpha channel mask.
Undo the whole thing and redo the collection of tufst with a different
Style: Line+alpha or Shrinking line+ (mean ing +alpha). That style is
one of the parameters in the particle settings panel.
|

Click image to enlarge.
|
In the above image,
we have created 16 images in the array of 4by4 sprites. The alpha
channel holds the selections of the grass pixels. Note that the
background was made darker too, to further diminish the risk of light
edges or glowing.
|

You can now uncheck the "Visible Grid" checkbox. This will disable the
grid which served as visual aide for positioning the tufts when we
painted them.
|
|
Be sure to catch a
snapshot of the alpha channel: use menu:
Alpha>Store alpha...
|
 |
Likewise you should store the rgb channels (the colors) of the sprites:
|

Visibly, we have many variations in the appearance of the sprites. Some
have tinted colors, some have different looks, some are dense, others
are sparse or have a higher split count, resulting in some curving of
the particles.
|

Now let's convert this spritesheet into an animated custom brush
(containing the sequence of images from the spritesheet):
Open the Plugins panel. You can find the option in the Window menu, for
example, or keyboard shortcut 'k' for killer plugins.
Or you can even find access to it from other menus, such as the Filter
menu: Filter plugins.... and then switch to the Brush tab.
|

Select the Brush tab in the plugins panel
FInd and double-click the plugin named:
ArrayToAnimatedBrush_pb.exe
|
The plugin knows of curse how big your spritesheet is in pixels. But it
doesn't know how many images you placed into it. Is there the same
number of image cells in the horizontal direction than vertically?

In this case we have used each of the 4 by 4 cells, for a total of 16
cells.
Enter the values and click Ok.
The plugin will build a new custom brush with the image cells as
sequnce, defining an animated brush.
|
|

Be sure to store the newly created custom brush:
menu: Brush > Store / manage...
|
The Filmstrip at the bottom of the stored brush panel can show all
images:
 |
Painting
with the new Custom Brush
|
Set a high Step
value so that there's a good distance between the dabs as you draw a
single brushstroke in a spiral motion. This will reveal each sprite as
it gets painted from the custom brush in a repetitive sequence:
|
Reduce the Step value to a much shorter distance, and you might see
something like this when painting with it:
|

click to enlarge
|
Save your
animated brush
|
To save your custom multi-image brush, use the menu:
Brush > Animated brush > Save...

This will create a file ending in .anb (animated brush)
Another option is the save the frames contained in the brush as a
numbered image sequence of files in standard image format such as Jpeg,
Tiff, Targa, Png, Bmp...
Brush
> Animated brush > Save Sequence...
For example, if you set the base filename as "anb-sequence"
and make the file type a "Default Targa", you would get files:
anb-sequence_0000.tga
anb-sequence_0001.tga
anb-sequence_0002.tga
anb-sequence_0003.tga
anb-sequence_0004.tga
etc...
Note that if you still have a scale applied from the stored brush
manager, that size (and other parameters) are what's defining the
currently loaded brush, so the saved images on file will be reflecting
such parameter values.
If the Scale slider is at the right-most upper limit value, it doubles
the size, so the frames will result in images 512x512 in size instead
of their original 256x256.
|
Using it
to Paint a grassy Hill
|
It's time to try
some pro skills! Let's paint a grassy hill.

You can now use the Scale parameter from the stored brush panel. Use it
to make grass look smaller when you paint distant parts of the grassy
hill.
Also use the Hue/Saturation/Value sliders:
- reduced saturation to fade into the air at a distance
- use Value to make it brighter, as if the Sun is directly shining on
it.
- use color tinting, to blend some more with the fog color in the
distance.
If there's a big tree above the rass up near, with lots of gren
saturated leaves, you could give the nearby tall grass
Also use the reduced opacity. Draw some grass, small and far away, i.e.
thin with very low opacity. This will make it appear like it's fading
into the air at far distance.

As you work you way closer, increase the opacity, and you might also
want to increase the Steps value so the closer tufts of grass are not
so close together or overlapping too much.
Here's an example:
|
|

Here's another example, painted against a background of sky with
clouds, generated in Dogwaffle's Sky filter.
< click to enlarge
|
|

And here's one more, with additional shrubbery over the head and
foreground. (plus a little bit of lens flare)
<
click to enlarge
|
|