How to Paint a Clean Wobble Mask Around Any Object

A convincing wobble starts before any motion preset is selected. The painted mask decides what can move, what stays still, and where the image is attached to the scene. Most of the bad wobbles we see come from masks that captured the wrong pixels, not from the wrong preset.

What the mask actually controls, how brush size maps to mesh resolution, and the three edge failures that show up most often in our exports.

The numbers in this article are the actual ranges shipped in the app: the brush size slider runs from 0.5% to 10% of the image's shorter side. Knowing the ranges tells you which knob to reach for when a mask is not cooperating.

What the mask actually controls

The painted area is not a highlight. It is the material that Purupuru Maker is allowed to deform. If you paint the jelly inside a glass, the jelly becomes flexible while the glass stays a rigid frame. If you paint the glass too, the viewer loses that contrast and the whole object can look like it is sliding over the background.

Think of the painted area as the region that is "unlocked" for motion. Pixels outside the painted area stay anchored to the original image. So when you paint a region, you are not "highlighting" — you are choosing which parts of the image are allowed to move.

Before you touch the brush, name the material you want to animate: liquid, fabric, hair, a cheek, a sticker, a soft toy. That one sentence gives you a boundary. Then look for visual evidence of where that material begins and ends. Strong outlines, color changes, shadows, folds, and overlaps are better guides than the rectangular edge of the image. Zoom in enough to follow those cues, but zoom back out often. A mask that looks precise at maximum zoom can still feel wrong at the size the animation will be watched.

The brush size range, in concrete terms

The brush size slider in the UI maps to a normalized range. The actual values are:

  • Min: 0.5% of the image's shorter side. On a 1024-pixel-wide image, that is about 5 pixels wide.
  • Default: 5% of the shorter side. About 50 pixels wide on a 1024-pixel image.
  • Max: 10% of the shorter side. About 100 pixels wide on a 1024-pixel image.

The slider has 100 positions spread across that range. Step the brush with [ or ] to change by 0.5% at a time. The mesh resolution is independent of brush size. You will not see mesh artifacts until your painted region is very thin — at that point, paint a slightly larger area.

The practical takeaway: the default brush is fine for most strokes. Use a smaller brush (around 0.015-0.025) for outline tracing and for separating two adjacent materials. Use a larger brush (around 0.07-0.09) only for filling the interior of a large object fast.

Choose an anchor before painting the free edge

Most real objects are attached somewhere. Hair connects to a head, jelly sits inside a container, a sleeve meets a shoulder, a hanging sign is held by a hook. Leave that attachment point unpainted, or paint it more conservatively. The still pixels act as an anchor, so the moving area stretches away from a stable source instead of floating off on its own.

A useful order is anchor first, free edge second. Mark the region that must stay steady, then paint toward the edge that should travel the farthest. For a character's cheek, keep the area near the nose and ear relatively firm while giving the center of the cheek room. For a drink, keep the liquid near the rim controlled and let the middle surface wobble. The motion reads more clearly when its attachment is believable.

Use a large brush for mass and a small brush for decisions

Start with the default brush in the center of the object. This quickly establishes one connected moving region and reduces the chance of leaving tiny holes. Then reduce the brush size for the outline, narrow gaps, and places where two materials meet. Tracing the whole shape with a tiny brush is slower and usually produces a shaky, fragmented edge.

Don't chase every antialiased pixel. A slightly inset edge is safer than painting into the background. During deformation, background-colored pixels inside the mask will stretch with the object and create a visible halo. If the source image has a soft or furry edge, test a modest inset first. The original soft boundary often preserves the impression of detail even when the mask itself is simpler.

Treat holes and disconnected islands deliberately

Objects often contain holes: the gap inside a handle, spaces between hair strands, a highlight surrounded by a darker material. Decide whether each hole belongs to the flexible material. A transparent or background hole usually stays unpainted. A highlight printed on the object should move with it, so include it even when its color is very different.

Small disconnected painted islands can jitter because they have little visual mass and no obvious relationship to the main region. Connect an island when it is physically part of the same object, or erase it when you captured it by accident. If two separate objects genuinely need motion, animate them as two intentional regions and preview how their timing interacts, rather than leaving scattered brush marks.

What we measure about coverage

The renderer samples the painted region on a 32×32 grid to estimate how much of the image is moving. The number is just a ratio from 0 to 1, but it is a useful sanity check.

CoverageWhat it usually means
Below 0.05Almost nothing is painted. Check that you are in Paint mode and that the brush is making contact with the viewer area.
0.05 - 0.15Small features: an eye, a label corner, a single accessory. Will look rigid unless you are on a high-amplitude preset.
0.15 - 0.40A typical object: a character's head, a product, a coffee drink. The mesh has enough internal structure to deform convincingly.
0.40 - 0.70A large object that fills most of the frame. The wobble will be visible but may not read as a separate material.
Above 0.70You are probably painting the background too. The whole image will deform together and there will be no "still" reference.

Preview with exaggerated motion, then reduce it

A gentle preset can hide masking mistakes. Temporarily choose a stronger stretch or springier motion while you check the boundary. Watch for background smears, rigid chunks inside the moving object, and edges that detach from their anchor. These problems tell you whether the mask includes too much, too little, or the wrong material. Return to Paint mode, make one focused correction, and preview again.

Once the boundary survives the stress test, return to the intended preset and strength. The final motion should usually be subtler than the diagnostic motion. This two-pass approach separates two questions that are easy to confuse: whether the region is selected correctly, and whether the animation style suits the image.

The three edge failures we see most

These are the failure modes that show up most often in our exports, in order of frequency.

  1. The colored halo. A bright or dark fringe moves with the object. The mask has captured background pixels. Fix: erase just inside the outline. The fastest way is to switch to Erase mode, set the brush to the default size, and trace the affected edge. Halo at the top of a painted region usually means the outline was painted too greedily; halo at the bottom usually means the brush slipped.
  2. The rigid patch. A piece of the material stays perfectly still while the rest moves. The mask missed that piece. Fix: paint across the stationary patch so it joins the main region. If the patch is genuinely a separate material (a button on a plush toy, a label on a package), decide whether it should move independently or stay still.
  3. The drifting object. The whole subject appears to slide over the background rather than wobble in place. There is no anchor. Fix: erase a narrow band at the attachment point so the painted area stays anchored to the still background. If the object has no obvious anchor (a floating bubble, a hovering icon), pair Zero-G float with a small anchor strip and the result will look intentional rather than broken.

Fixing the boundary is usually faster than tweaking the preset

When something looks wrong, the temptation is to change the preset, raise Stretch, lower Damping, switch to Spring bounce. Nine times out of ten, the mask is the problem, not the physics. A clean, intentional boundary gives every preset a better foundation and usually saves more time than repeated slider changes.

Work from the largest visible error to the smallest. One broad background spill matters more than several imperfect corner pixels. Export a short test only after the live preview looks stable, because compression can make edge artifacts more obvious but cannot repair a weak mask.