This task design is about adding a pixel brush tool as a potential solution to the current limitation in texture paint mode to not being able to paint textures in a pixel art style not even able to paint single pixels.
Before looking into this solution let's check anothe non-pixel-brush-tool alternative and see the pros and cons of each one so we reach a conclusion.
Feedback and new ideas are welcome!
####SOLUTION 1 - REFACTOR and EXTRA ADDITIONS:
- Replacing current brush radius (which is strange IMHO) to brush size. This will make possible to have brushes with 1px size (diameter) to paint single pixels.
- Add alternative squared paint cursor display over cursor settings to have a better feedback.
- Add AA toggle as a unified paint setting to make possible paint in pixel art with any brush and size.
- Add pixel grid overlay in the overlays panel.
**CONS:**
- Cursor isn't aligned with pixel grid.
- So much options user have to configure before doing pixel art. (cursor, AA, pixel grid...)
####SOLUTION 2 - PIXEL BRUSH TOOL:
- To have a dedicated pixel brush tool independent from current paint brush. This tool will behave differently.
- To paint single pixels and blocks/chunks of 2x2, 4x4, ... pixels.
- To paint pixel art patterns and gradients.
- Dedicated pixel grid overlay which will be automatically enabled depending on zoom or pixel size in screen space.
- Align brush automatically to the pixel grid.
- No need to pre-configure anything.
**CONS:**
- Align cursor to pixels in 3d viewport may be a lot of fun BUT extremely useful.
--------------------------------
**CONCLUSION:**
In conclusion, having a separated tool will be most suitable as a pixel brush needs specific behaviours, as a squared cursor, aligned cursor, pixel grid overlay and no AA brushes.
--------------------------------
###Let's talk about the PIXEL BRUSH TOOL solution!
I've made a few prototypes in Python so I can give you all an idea of it could behave:
####• Pixel Grid Overlay
{F13133415} A grid per pixel.
{F13133417} A grid per chunks of 4x4 pixels (or whatever configured by user).
####• Align Brush Automatically to the Pixel Grid
{F13133427}
####• Pixel Brush Tool overview
{F13133428}