Skip to main content

Paintstorm Studio — Advanced Brush Engine

🎨 Paintstorm 🖌️ Brush Engine ✨ Dynamics

A single Paintstorm stroke is a small orchestra — a tip, a texture, a dozen dynamic curves and a color mixer all playing at once — and this lesson hands you the baton.

Goal: Build expressive, custom brushes by layering dual tips, texture and pattern, and dynamics curves that map pressure, tilt, velocity and rotation to size, opacity, angle and color — then tame randomness so every stroke reads as deliberate intention rather than noise.

In This Lesson

Overview / How it works

Every mark Paintstorm lays down is assembled from four cooperating layers. Understanding the order they fire in is the key to predictable brushes. First comes the Tip — the shape stamped along the path, whether a hard round dab, a chalk nib, or an imported PNG. Next, a Texture / Pattern modulates that stamp: a grain layer breaks up flat coverage like tooth on paper, while a pattern can tile an actual image through the stroke. Then the Dynamics system reads your input devices and reshapes the stamp in real time. Finally the Mixing stage decides how fresh paint interacts with what is already on the canvas — pure opacity, wet blending, or full color pickup.

The mental model that matters most: a brush is not a picture, it is a machine that stamps a shape many times per second. Paintstorm places the tip at intervals along your path — that interval is Spacing — and at each placement it can jitter position, rotate the stamp, resize it, shift its opacity, and even nudge its hue. Low spacing (2–6%) produces a continuous ribbon; high spacing (40%+) produces a dotted, stampy stroke you can turn into foliage, sparks or stitching.

A brush feels alive not because it is random, but because it responds. Dynamics are a conversation between your hand and the canvas; jitter is seasoning, not the meal.

The engine's real power lives in the Dynamics panel, where each parameter (Size, Opacity, Angle, Scatter, Color and more) gets its own response curve. The curve's horizontal axis is an input — Pen Pressure, Tilt, Velocity (speed of the stroke), Rotation (barrel roll on supported pens), or a Random generator — and the vertical axis is how strongly that input drives the target. A steep curve makes the brush hair-trigger sensitive; a gentle, delayed curve gives you a long soft ramp before anything happens. Because every target can be driven by any input, a well-built brush turns subtle hand gestures into a wide expressive range.

The four layers, in order:

  • Tip — the base shape stamped along the path (round, custom PNG, or a second "dual" tip).
  • Texture / Pattern — grain and image that break up or fill the stamp.
  • Dynamics — curves that map pressure, tilt, velocity, rotation and random onto size, opacity, angle, scatter and color.
  • Mixing — how the new paint blends with existing pixels (opacity, wet mix, color pickup).

Hands-on practice

Let's build a dual-tip textured brush from a plain round — a versatile "dry inker" that keeps a crisp edge but breaks up on the surface like a wax pencil, and swells naturally with pressure. Work top-down through the Brush Settings panel.

  1. Start from a hard round. Duplicate a clean round brush so you never overwrite a default, then rename the copy "Dry Inker". Set the base Diameter to something mid-range (say 40 px) so curve behavior is easy to read while tuning.
  2. Set spacing for a solid ribbon. In the Tip / Shape section, drop Spacing to about 4–6%. Too high and the stroke turns beady; too low wastes performance. Draw a test line to confirm it reads as one continuous mark.
  3. Add the second (dual) tip. Enable the Dual Tip (second shape) and load a speckled or chalk stamp. The dual tip multiplies against the primary, carving grain-shaped holes into each dab. Keep its scale small relative to the main tip so it reads as surface texture, not blobs.
  4. Layer in a Texture grain. Turn on Texture and pick a paper/canvas grain. Set its Depth low (20–35%) — this is the difference between "tooth on the page" and "someone smeared mud." The grain should whisper, especially in light passes.
  5. Map Pressure to Size. Open Dynamics → Size, set the input to Pen Pressure, and shape a curve that stays thin through the first third of travel, then ramps up. This gives you fine control in the light range where most linework happens.
  6. Map Pressure to Opacity — gently. Add a second Pressure curve on Opacity, but keep a floor around 15–20% so a feather-light touch still leaves a visible ghost. A brush that vanishes completely at low pressure is frustrating to feather with.
  7. Add Velocity to Size for taper. Route Velocity onto Size with a mild inverse relationship: fast flicks thin out, slow deliberate strokes stay full. This is what gives hand-drawn lines their living, whip-like ends.
  8. Use Tilt for a chisel edge. If your pen reports tilt, map Tilt to Angle and to Size so laying the pen over widens and orients the stamp — instant broad-nib shading without switching brushes.
  9. Introduce a whisper of randomness. In Scatter and Angle, add a small Random amount (a few percent) so repeated dabs don't line up mechanically. Then draw a slow curve and a fast one; adjust until the texture looks organic but the edge stays trustworthy.
  10. Set the mixing mode and save. For an inker, keep Mixing off (pure opacity) so color stays clean. Save the brush into a custom set, and export it so you can reuse it across projects.

⚠️ Pitfall: Stacking randomness on every parameter at once turns a brush to mush. Add jitter to one target, test, then decide if a second even helps. If you can't describe in a sentence what a given curve is for, delete it.

✅ Tip: Tune curves against real marks, not the thumbnail. Keep a scratch layer open and draw the same test gesture — a slow S, a fast flick, a dot — after every change. Your hand, not the preview, is the final judge.

Demos & visual aids

The diagram below traces one stroke through the engine. Notice that your input devices feed the Dynamics stage, which reshapes the stamp before mixing decides how it lands on the canvas.

graph LR; A[Pen input pressure tilt velocity rotation]-->B[Dynamics curves]; T[Tip shape]-->S[Stamp]; X[Texture and pattern]-->S; B-->S; S-->M[Mixing stage]; M-->C[Canvas]

Use this map as a cheat sheet when you cannot decide which input should drive which target. There is rarely a single correct answer, but these pairings feel natural to most painters:

InputBest-fit targetWhat it gives youWatch out for
Pen PressureSize & OpacityWeight and build-up under a firmer pushNo opacity floor makes light touches disappear
TiltAngle & SizeBroad chisel/shading edge when the pen lays overNeeds a tilt-capable pen; noisy on cheap digitizers
Velocity (speed)Size (inverse)Natural tapering flicks and living line endsToo strong and slow strokes balloon unpredictably
Rotation (barrel)AngleCalligraphic nib you can twist mid-strokeOnly some pens report barrel rotation
RandomScatter, Angle, ColorOrganic break-up for foliage, grain, sparksOveruse reads as noise, not intent

Reading a dynamics curve: The X axis is the incoming signal (0 = no pressure/slow/flat pen), the Y axis is the resulting amount. A curve hugging the bottom-left then rising late = "ignore the light range, react in the heavy range." A curve that starts high and dips = an inverse map, perfect for velocity-driven taper. Flatten a curve to a horizontal line to effectively switch a dynamic off without deleting your setup.

What you've learned

You now see a Paintstorm brush the way the engine does: an ordered pipeline of Tip, Texture, Dynamics and Mixing, driven by a stack of independent response curves. You built a dual-tip textured inker, mapped pressure, velocity and tilt onto meaningful targets, and learned to dose randomness so it flavors a stroke instead of drowning it.

✅ Key takeaways:

  • A brush is a stamping machine — Spacing sets whether it draws a ribbon or a trail of dabs.
  • Any input (pressure, tilt, velocity, rotation, random) can drive any target (size, opacity, angle, scatter, color) through its own curve.
  • Shape curves against real test marks; keep an opacity floor so light touches still register.
  • Add jitter to one target at a time — if you can't name a curve's purpose, remove it.

Next: Take your new brushes further: