Painting hints
A hint is extra information you give the solver: an arm in front of a body, a wall that should stay flat, a fold that is only ink. You paint a region; the solver has to honour it.
Why they exist
The silhouette and the line work get most of a sprite right. They fail in the cases where two different surfaces make the same picture:
- An arm across a body, and a fold in one continuous surface, have the same outline.
- A hard-cut edge, and a surface curving away out of sight, have the same outline.
- A cylinder and a dome have the same outline.
- A wall turned away from you, and a gentle bulge, have the same outline.
- A dome, a dish and a flat patch of texture can all be drawn with the same marks.
- Painted shading and an inked fold are both dark marks.
Guessing at these is how a generator produces confidently wrong output. A hint is how you answer instead.
Painting them
Select a hint tool and drag over the artwork. The stroke shows in that tool's colour, matching its swatch in the toolbox.
- Erase with Alt-drag, by dragging with the right mouse button, or with a pen turned over to its eraser end. A soft brush erases with a soft edge, and erasing a stroke with the brush that painted it removes all of it.
- Undo with Ctrl+Z, redo with Ctrl+Shift+Z. One drag is one step, however many mouse events it arrived as. Undo covers painting and solver settings.
- Brush size is the Size field in the options bar, the brush's width across, and [ and ] step it down and up. The slider reaches further on larger artwork, and you can type a larger size into the field. Tools that draw along a line start at your artwork's measured line width; tools that fill a region start much larger. An outline over the artwork shows where the next dab lands, at its size and in its shape.
- Hardness sits beside it, and controls how far the brush fades at its edge; Shift+[ and Shift+] soften and harden it by a quarter. Full hardness is still antialiased — the rim gets partial coverage rather than a stepped edge — so lower it only when you want a genuinely soft mask, which is usually on high-resolution artwork. It is remembered between sessions and is not part of a project or a preset.
- Brush ▾ holds the rest of the brush, set once for your hand or your kind of artwork. New in 1.9.0.
- Tip: round, or square. A square tip paints whole pixels, so a stroke's edges follow the pixel grid — the tip for pixel art. The button shows which one is in use.
- Smoothing steadies a stroke. The brush trails the pointer on a string, so a shaky hand draws a smooth line, and the stroke still ends where you let go. Off by default.
- Pen is what a pen's pressure changes: the brush's size, which is the default, its strength, both, or nothing. A mouse has no pressure, so this does nothing with one.
- Strength follows, for the hints where how strongly you paint means something: In front and Behind, where it is how far in front or behind, Flatten, where it is how hard the region is held, and Direction, where it is how firmly the direction is held. Below 100% the brush paints toward that value, so going over paint that is stronger brings it down, and a second pass in one drag does not build on the first. Each remembers its own. New in 1.5.0.
- Straight lines: click where a line starts, then Shift+click where it ends. The line starts wherever the last stroke ended, with any tool, so an edge drawn with Cut outline can carry on in Outline edge from the same corner. New in 1.9.0.
- Strokes are clipped to the artwork. Painting outside the silhouette has no effect, so you can be loose at the edges. With a selection, they are clipped to that too; see Select.
- Fill an area at once with the paint bucket K, by color or by the lines around it, and grade one with the gradient Q. See Selecting and filling. New in 1.9.0.
- See what you painted with Always show hints in the options bar. Where hints overlap, the one for the selected tool is drawn on top, so choosing a tool brings its layer forward. New in 1.5.0.
- Erase any hint, or every hint at once, with the eraser E. See Eraser.
Edit ▸ Clear all hints removes every layer at once, and is undoable.
Which layer to reach for
| The problem | The hint | How to paint it |
|---|---|---|
| Fold you can see has no effect | Add stroke B | Along the line |
| Crease where there is no fold | Remove stroke R | Over the offending marks |
| Hard edge looks rolled | Cut outline C | On the outline itself |
| Platform top lost its lip on a tile or canvas edge | Outline edge G | On the edge pixels themselves |
| Flat panel bulges | Flatten F | Fill the panel |
| Limb domes instead of tubing | Tube axis A | Along the limb's length |
| Limb blends into what is behind it | In front D | Fill the nearer part |
| Limb stands out where it should join | In front D | Lower Strength toward the join |
| Far arm or back leg blends into the body | Behind U | Fill the farther part |
| Eye or boss reads flat | Convex area O | Fill the domed shape |
| Crater or dent reads flat | Concave area I | Fill the hollow |
| Well or barrel lights like a bowl | Opening W | Fill the mouth |
| One patch faces the wrong way, whatever else you try | Direction N | Paint the patch, aimed on the ball |
| Wall or roof rounds off | Flat face P | Fill the face |
| Baked shadow inflates into a shape | Not the object X | Fill the shadow |
| Surface nothing else describes | Trust methods T | Fill the region |
Domes and dishes
Convex area and Concave area are for a shape that has an edge but no silhouette — a glassy eye in a scaled face, a rivet, a crater. The sprite's outline says nothing about such a shape, and the strokes drawn around it read as a fold, which is why an eye tends to come out flat with a pinched ring around it.
Fill the shape opaque to the edge. That edge becomes the rim of a surface of its own: facing you in the middle for convex, falling away for concave, and creased off from whatever it sits in so the dome does not spread outwards. Fold angle sets how steep the rim is. Outline blur rounds the fill before the rim is taken, so a jagged painted edge reads as a softer lip rather than a stair-step. In front stays edge-on; Fold angle does not apply there.
The two are the same hint with the direction reversed.
Looking into something hollow
A dish is shallow: its near edge turns back up toward you, as the inside of a bowl does. The mouth of a well, a barrel, a chimney or a pit is not. What you see through it is the far inside wall, facing back across the hole, and it faces the same way all the way down, so the hole carries on out of sight behind the near rim. Opening W says that. Fill the mouth and it lights the other way round from the outside: a light from the left catches the far right of the hole and leaves the left in shade.
How far the inside wall tips toward you is Camera pitch, the same setting Flat face uses, because the rim around a mouth is usually a flat face and the two have to be seen from the same place. Paint the rim as a flat face, the outside of the wall with a Tube axis stroke down its middle, and the mouth as an opening, and the whole well lights as one object.
The line drawn around the mouth is set aside, one pixel either side of the edge, so it does not fold the hole back into a dish. Lines drawn further inside, the bricks of a well, still count. New in 1.8.0.
Part of the way in front
A strap, a sleeve, a tail, a limb that joins the body it crosses: each is in front along most of its length and not at all where it attaches. In front reads how strongly it is painted as how far in front. At 100% the nearer part's edge turns fully away, as it always has. Painted lower, its edge turns less, and lies more along the surface behind it, until at nothing the two are one surface. The surface behind is left alone at any strength. New in 1.5.0.
- Fade toward the join. Paint the free end at 100% and bring Strength down as you work toward where it attaches. Paint that changes gradually is a gradual change in depth, not an edge of its own.
- Stack levels in one layer. Paint a region at 50% and part of it at 100%, and the part stands in front of the rest, which stands in front of the body — a hand over a sleeve over a chest, from one hint.
- Hard edges are what make a cliff. Where the paint changes sharply — a hard brush's edge, or a soft one up to about ten pixels wide — that is an edge, as tall as the whole change. A softer fade than that is read as a fade.
- Below 10% it does nothing to the normal map; it only lifts the height map a little.
The height map follows the same strengths: a region is lifted by how strongly it is painted, and joined to what it covers where it fades.
Behind reads its strength the same way, as how far behind, and fades into the body the same way. Painted together, the two give three depths, solved from the back forward: the far part, the body on it, and the near part on the body. New in 1.10.0.
A PSD or Aseprite layer that is an In front or Behind hint is read the same way: each pixel's own opacity is its strength. The layer's opacity is ignored, for every hint layer, so you can turn a hint layer down to see the art through it while you paint without changing what it says.
They pair well with Remove stroke. Erase the eye's outline first, then fill it — otherwise the stroke and the rim are both describing the same edge, and the stroke's version is a fold.
Telling whether a hint took effect
Six hints have a precondition, and when it is unmet they do nothing at all. Rather than leave you guessing, the application says so after the stroke:
- Cut outline must touch outline pixels. Painted inside the shape it has nothing to act on: "this cut touches no outline pixels".
- Outline edge must land on an edge pixel: the canvas border, or with a tile grid, a tile's border. Painted a few pixels in from it, it has nothing to act on: "this outline edge touches no edge pixels, so it is changing nothing".
- Tube axis must reach the outline, which depends on Tube axis reach being wide enough for the limb: "the axis never reaches the outline — raise the reach".
- In front must leave something behind it. Filled over the whole shape, its edge is the outline and there is no boundary between parts left to act on: "this region covers the whole shape, so its edge is the outline and nothing changes". Fill just the nearer part — the arm, not the arm and the body.
- Behind must leave something in front of it, for the same reason: "this region covers the whole shape, so nothing is in front of it and nothing changes". Fill just the farther part — the far arm, not the body.
- Trust methods scopes methods that have a weight. With every method at zero there is nothing to scope: "no detail method has any weight, so this mask has nothing to scope".
If you painted something and nothing changed and no message appeared, the likeliest explanation is that the hint agreed with what the tool had already concluded.
Hints are per sprite
A hint addresses particular pixels. Carried to a different sprite, or to a different frame of the same animation, those pixels are somewhere else — so hints do not travel:
- Projects save hints, because a project is one sprite and its work.
- Presets do not, because a preset is settings meant for many sprites.
- Frames each keep their own. See Frames and animation.
Getting masks out of Photoshop or Aseprite instead
Painting a mask that matches your artwork exactly, with this tool's brush, is slower and less precise than doing it in the
program you drew the artwork in. So you do not have to: import a .psd or an .aseprite file and map its layers directly
onto hint layers. Name a layer for the hint it feeds and the mapping is suggested for you. See
Importing.
You can also write your painted hints out as PNGs — File ▸ Export hint layers… — which is the way to see exactly what the solver was given, and to hand the work to somebody else without a project file.
