Brush resizing got locked to 1 axis. #70636

Closed
opened 2019-10-08 13:34:11 +02:00 by Likkez · 29 comments

System Information
Operating system: Linux-5.0.12-050012-generic-x86_64-with-neon-18.04-bionic 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.50

Blender Version
Broken: version: 2.81 (sub 14), branch: master, commit date: 2019-10-08 09:53, hash: 270562fe12
Worked: blender 2.80 release

Short description of error
This makes it hard to resize the brush while using a tablet. In fact, makes it nearly impossible to get the exact size you want on first try.

Exact steps for others to reproduce the error

  1. Add an object
  2. Go to Texture Paint mode
  3. Hit F to resize the brush
**System Information** Operating system: Linux-5.0.12-050012-generic-x86_64-with-neon-18.04-bionic 64 Bits Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.50 **Blender Version** Broken: version: 2.81 (sub 14), branch: master, commit date: 2019-10-08 09:53, hash: `270562fe12` Worked: blender 2.80 release **Short description of error** This makes it hard to resize the brush while using a tablet. In fact, makes it nearly impossible to get the exact size you want on first try. **Exact steps for others to reproduce the error** 1. Add an object 2. Go to Texture Paint mode 3. Hit F to resize the brush
Author

Added subscriber: @Likkez-2

Added subscriber: @Likkez-2

#71121 was marked as duplicate of this issue

#71121 was marked as duplicate of this issue

Added subscribers: @PabloDobarro, @JulienKaspar, @ZedDB

Added subscribers: @PabloDobarro, @JulienKaspar, @ZedDB

This is an intended change https://developer.blender.org/D5931

@PabloDobarro I've talked to @JulienKaspar and it seems like some people still prefer to be able to move up and down as well to adjust the brush size.

This is an intended change https://developer.blender.org/D5931 @PabloDobarro I've talked to @JulienKaspar and it seems like some people still prefer to be able to move up and down as well to adjust the brush size.
Pablo Dobarro was assigned by Sebastian Parborg 2019-10-08 14:34:26 +02:00

I'll put this on "waiting for dev..." as I don't think this needs to be triaged further. Only discussion is we are going to change this again or not.

I'll put this on "waiting for dev..." as I don't think this needs to be triaged further. Only discussion is we are going to change this again or not.
Member

@PabloDobarro In my experience it's best to change the brush size/strength/etc with a diagonal hand movement. This feels more natural and while working with my Cintiq I am not blocking what I see with my hand (That is very much the case at the moment when moving from left to right).

@PabloDobarro In my experience it's best to change the brush size/strength/etc with a diagonal hand movement. This feels more natural and while working with my Cintiq I am not blocking what I see with my hand (That is very much the case at the moment when moving from left to right).
Member

If we want to keep the cursor centered, we need to measure the mouse displacement on a single axis. You still can drag diagonally and it should work, but the previous method was also not ideal for that (It was measuring the distance to the brush center + offset).
I can add a user preference to change the resize axis from X to Y, but I think that is going to be even more inconsistent with the previous behavior.

If we want to keep the cursor centered, we need to measure the mouse displacement on a single axis. You still can drag diagonally and it should work, but the previous method was also not ideal for that (It was measuring the distance to the brush center + offset). I can add a user preference to change the resize axis from X to Y, but I think that is going to be even more inconsistent with the previous behavior.
Author

@PabloDobarro Why does it have to be centered though? It feels pretty weird now because to scale it down u need to drag all the way to the left instead of center of the brush.

@PabloDobarro Why does it have to be centered though? It feels pretty weird now because to scale it down u need to drag all the way to the left instead of center of the brush.
Author

Also, now dragging diagonally makes it resize way too slow so you have to trigger the shortcut multiple times or move your arm alot.

Also, now dragging diagonally makes it resize way too slow so you have to trigger the shortcut multiple times or move your arm alot.
Member

@Likkez-2 The distance you need to drag is exactly the same and it is constrained, so it should be easier to scale the brush down.

@Likkez-2 The distance you need to drag is exactly the same and it is constrained, so it should be easier to scale the brush down.
Author

I dont know what's going on behind the scenes exactly but it definately feels way less responsive and snappy. The only benefit i can see this brings is you can scale the brush down to 1 pixel easier, however that is barely needed especially in other modes like sculpting and weight painting.

I dont know what's going on behind the scenes exactly but it definately feels way less responsive and snappy. The only benefit i can see this brings is you can scale the brush down to 1 pixel easier, however that is barely needed especially in other modes like sculpting and weight painting.

Added subscriber: @Pixel-Perry

Added subscriber: @Pixel-Perry

I agree with Likkez - while the distance may be the same having it constraint to one axis kinda breaks the work flow that many people have gotten used to. I just see no need for something that works well to be changed out of the blue. But I mean, if it HAS to be changed can't there be a middle ground? Like putting an option in the user preferences to change it back to the way it was.

I agree with Likkez - while the distance may be the same having it constraint to one axis kinda breaks the work flow that many people have gotten used to. I just see no need for something that works well to be changed out of the blue. But I mean, if it HAS to be changed can't there be a middle ground? Like putting an option in the user preferences to change it back to the way it was.
Member

Please try D6020 and check if resizing behavior is better.

Please try [D6020](https://archive.blender.org/developer/D6020) and check if resizing behavior is better.
Member

@PabloDobarro There must be a way of using the vertical axis as well. In my opinion this is the only issue with this.

@PabloDobarro There must be a way of using the vertical axis as well. In my opinion this is the only issue with this.
Member

@JulienKaspar Do you prefer an option to change the resize axis instead of being automatic?

@JulienKaspar Do you prefer an option to change the resize axis instead of being automatic?
Author

@PabloDobarro I think this patch is a great middle ground but right now it seems to be a little inconsistant like in the end of this video: 2019-10-08 18-18-51.mp4

@PabloDobarro I think this patch is a great middle ground but right now it seems to be a little inconsistant like in the end of this video: [2019-10-08 18-18-51.mp4](https://archive.blender.org/developer/F7796788/2019-10-08_18-18-51.mp4)
Member

@Likkez-2 That is because it is using the top/right direction to split the viewport in two areas and check if it needs to increase or decrease the value in that direction. If you drag in the bottom/right direction you are constantly activating different areas.

@Likkez-2 That is because it is using the top/right direction to split the viewport in two areas and check if it needs to increase or decrease the value in that direction. If you drag in the bottom/right direction you are constantly activating different areas.
Author

@PabloDobarro is it possible to maybe create a vector from the direction u first start moving the cursor in and then read values from it instead of splitting viewport into areas?

@PabloDobarro is it possible to maybe create a vector from the direction u first start moving the cursor in and then read values from it instead of splitting viewport into areas?
Member

@Likkez-2 Yes, but in that case you will be always increasing the value first when dragging in any direction. To decrease the value you will need to drag and change the direction of the movement.

@Likkez-2 Yes, but in that case you will be always increasing the value first when dragging in any direction. To decrease the value you will need to drag and change the direction of the movement.
Author

@PabloDobarro I feel like that would be a really slight movement and won't be as annoying but that's just my opinion of course.

@PabloDobarro I feel like that would be a really slight movement and won't be as annoying but that's just my opinion of course.
Member

@Likkez-2 If you want to try it, remove this line after applying the patch
Line 2699: ##mul_v2_fl(rc->resize_direction, -1.0f);##

@Likkez-2 If you want to try it, remove this line after applying the patch Line 2699: ##mul_v2_fl(rc->resize_direction, -1.0f);##
Author

@PabloDobarro Yea scratch that idea it feels pretty bad. I guess picking what axis to use manually would be the best in that case and maybe a sensitivity slider? Idk I wana hear what @JulienKaspar thinks.

@PabloDobarro Yea scratch that idea it feels pretty bad. I guess picking what axis to use manually would be the best in that case and maybe a sensitivity slider? Idk I wana hear what @JulienKaspar thinks.
Member

Added subscriber: @Mets

Added subscriber: @Mets
Member

This comment was removed by @Mets

*This comment was removed by @Mets*
Member

@PabloDobarro If it has to be only one axis then here's my suggestion:

We could have a setting in the preferences to offset the rotation of the horizontal axis that is used for the brush size/strength/etc. By default I would suggest that it'fs offset by like 30 to 40 degrees to be more diagonal. This is more fitting with the arc of the wrist rotation.
An example of another software that is doing this is Steam. Since the Steam controller is touch based you need to use your thumb to swipe along the touchpads that control the camera and character movement. In the controller settings there is a settings that offsets the horizontal axis to account for the arc of a thumb swipe. This makes the controls more comfortable.

The thing is: Different people have different needs. Some might want to have it completely horizontal or even vertical (Who knows). Also if you are left handed, you would want to have the axis at -30 to -40 degrees offset since your wrist rotation is flipped.
Some people with display tablets also rotate their tablet (Or themselves) when not being able to tilt the view (Which is still the case in Blender). This will also mess up the axis and cause confusion.

@PabloDobarro If it has to be only one axis then here's my suggestion: We could have a setting in the preferences to offset the rotation of the horizontal axis that is used for the brush size/strength/etc. By default I would suggest that it'fs offset by like 30 to 40 degrees to be more diagonal. This is more fitting with the arc of the wrist rotation. An example of another software that is doing this is Steam. Since the Steam controller is touch based you need to use your thumb to swipe along the touchpads that control the camera and character movement. In the controller settings there is a settings that offsets the horizontal axis to account for the arc of a thumb swipe. This makes the controls more comfortable. The thing is: Different people have different needs. Some might want to have it completely horizontal or even vertical (Who knows). Also if you are left handed, you would want to have the axis at -30 to -40 degrees offset since your wrist rotation is flipped. Some people with display tablets also rotate their tablet (Or themselves) when not being able to tilt the view (Which is still the case in Blender). This will also mess up the axis and cause confusion.

Added subscriber: @riceart

Added subscriber: @riceart
Member

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

Changed status from 'Needs Developer To Reproduce' to: 'Archived'
Member

We decided to lock the brush resizing to one axis to support the new widget. There was some design experimentation on how to improve this by detecting the resize direction automatically or making it configurable, but each option has its pros and cons. This is a UX design project, not a bug.

We decided to lock the brush resizing to one axis to support the new widget. There was some design experimentation on how to improve this by detecting the resize direction automatically or making it configurable, but each option has its pros and cons. This is a UX design project, not a bug.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
8 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#70636
No description provided.