Snap to whole or half numbers
Suggestion:
Add a setting that allows to snap translation in the viewport to the selected axes.
This could be set in the settings dialog and on all the time, unless shift is held, like other snapping (e.g. in the dopesheet)
The main use case is to have more precision for pixel art animators.
Related forum thread: http://esotericsoftware.com/forum/Can-we-snap-to-whole-or-half-numbers-in-Translate-tool-13922
+1 here: http://esotericsoftware.com/forum/Precision-Path-and-Clipping-creation-17355
+1 here: http://esotericsoftware.com/forum/Pixel-Art-17821
We have this in 4.2: the Pixels button on the main toolbar, under the bones and images compensation buttons.
The Pixels compensation is for keeping regions on whole pixels in setup mode when bones are moved. We can reopen this for keeping bone translation on whole or half pixels.
For pixel art, this setup can be used:
- Enable nearest neighbor filtering.
- Place regions correctly on even or odd positions (toggling
Pixelsin 4.2+ is easiest). - Now when you translate bones to fractional positions, your regions will always match screen pixels. You'll never lose a row/column from translation. Rotation, scale, or shear will still of course have filtering.
When doing this there's no need to place bones on whole number world coordinates. At runtime the app should also use nearest filtering to get the same effect.
Given that, I'm not sure there's still a need for snapping. I'll leave this open for now. If anyone has a use case for snapping, please comment.
At runtime you may want linear or bicubic filtering so things in motion are smooth, but you want things at rest to match screen pixels. In this case it is necessary for bones to move in whole number increments compared to the setup pose.