Appearance
The Aseprite Shading Mode brush is the keyboard shortcut that pays for the licence
There are about four things I would not give up in Aseprite. The Shading Mode ink is the one I would fight for. It costs nothing to enable, it works in every brush size, and it changes how you think about pixel-art shading in roughly an afternoon.
If you have not used it, this is the thirty-second pitch: instead of replacing colours when you click, the Shading Mode ink walks the colour you are over one step up or one step down a palette ramp you have selected. Left-click steps darker, right-click steps lighter. That is the whole feature, and it is the only thing I use for shading.
How to set it up
This is the boring part. Do it once and you will never think about it again.
- Make a palette where related colours are adjacent. Skin tones in a four-colour ramp, then four greens, then four blues, and so on. The order matters; Shading Mode follows the order in the palette window.
- Open the Ink Type popup on the toolbar (the icon next to the brush size). Pick Shading.
- With the brush selected, drag-select a ramp in the palette window. The selected ramp is the only one the shader walks.
- Left-click on a coloured pixel: it shifts one step darker in the ramp. Right-click: one step lighter. The brush respects the ramp, so it never accidentally jumps from a green to a red.
That is it. There is no further configuration.
What it changes
The standard pixel-art shading workflow without Shading Mode is roughly:
- Block in a base colour.
- Switch to a darker colour from the palette.
- Click in the shadow area.
- Switch to a lighter colour.
- Click in the highlight area.
- Switch to the rim-light colour.
- Place rim lights.
Each switch is a deliberate trip to the palette window with the eyes leaving the canvas. Shading Mode collapses steps 2 through 7 into one tool. You hold the brush over your sprite and walk the values up and down with mouse clicks. Your eyes never leave the canvas, which means you can actually see what your shading is doing.
I noticed about a month after switching that I had started shading the way I sketch on paper — broad masses first, refining with smaller and smaller corrections — rather than the older way of placing finished pixels one at a time. The tool changes the workflow because it removes the cost of changing your mind.
Three workflows that depend on it
Soft volumes on a character
For a single character sprite, I block in the flats, then select the ramp for each body part (skin, hair, clothes, leather, metal) and walk the volumes in with a 1-pixel brush. The whole shading pass for a finished 32×32 sprite is usually under five minutes, of which most is judging where the shadow falls, not pushing pixels.
Cleaning anti-aliased edges
Aliased edges on a 4× downscale are full of pixels that are almost the right colour. Shading Mode lets you walk them one step toward the correct ramp without having to identify what colour they are. Pass a small brush along an edge, clicking once on each off-colour pixel, and the edge consolidates. This is the closest I have come to "smudge" in pixel art and the only thing I miss from Photoshop that Aseprite now does better.
Animating a sunset
For a single-sprite background that needs to shift through dawn into sunset, I tag the colours in the palette so each tag is a ramp from dawn-cold to sunset-warm. Then I walk the whole image through the ramp in steps, exporting a frame at each step. The animation is just the shader walking the palette; no compositing, no per-frame redraw. This is exactly the workflow I used for the dawn-sequence animation in Quiet Frame, which is sixty-four 64×64 frames made from the same source image.
Caveats
- Shading Mode only works on pixels that are already in the ramp. If you have anti-aliased pixels from another tool (a Photoshop import, for example), the shader will leave them alone. Run a Color Replace pass first to nail them to ramp colours.
- The ramp is per-window. If you close and reopen Aseprite, the selected ramp resets. I tag my common ramps in the palette window so I can grab them quickly.
- The keyboard shortcut for swapping ink types is
Alt+Jby default. I rebound it toSbecause I use it twenty times a session.
The aside
This piece exists because someone on Mastodon recently asked which Aseprite feature I would defend to my last breath, and Shading Mode was the first thing I typed. Three years in and I still notice the productivity bump when I switch to a tool that does not have it — usually Pixelorama or the in-browser editor at PiskelApp. They are both great, but neither has Shading Mode. The day either of them ships an equivalent ink, I will write a follow-up.
Until then: if you have used Aseprite for any length of time and you have not switched on Shading Mode, this is the post telling you to stop reading and go switch it on.