Rotate sculpting brush may have an incorrect pen pressure behavior #83697
Labels
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
7 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#83697
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Linux-5.9.12-1-default-x86_64-with-glibc2.17 64 Bits
Graphics card: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.39.0, 5.9.12-1-default, LLVM 11.0.0) X.Org 4.6 (Core Profile) Mesa 20.2.4
Blender Version
Broken: version: 2.92.0 Alpha, branch: master, commit date: 2020-12-11 22:08, hash:
0c1d476923
Worked: (newest version of Blender that worked as expected)
Short description of error
The sensitivity to pressure of the Rotate Brush in Sculpting mode appears to be too low: no matter how hard the pen is pressed on the pen tablet, disabling pressure sensitivity produces much more controllable/faster results. Potentially other brushes in sculpting mode could be affected as well in various ways (only a general impression; unclear as of yet).
With Grease Pencil, pen pressure sensitivity appears to be correct and similar to that observed with a typical drawing program (Krita). So, this does not seem to be a general problem with Blender or my own pen tablet.
My pen tablet is a Wacom Intuos 5 Large. In Tablet settings inside Blender Preferences > Input, Max Threshold = 1.0 (max), Softness = 0.0
Exact steps for others to reproduce the error
rotatebrush-veryhard.blend
Added subscriber: @s12a
Added subscriber: @PratikPB2123
Changed status from 'Needs Triage' to: 'Needs User Info'
@s12a , can you please confirm the problem with 2.93LTS?
Don't know who uses tablet with Linux OS. May be Falk David can confirm if problem is still there for you ?
This comment was removed by @s12a
Added subscriber: @filedescriptor
Thanks for checking. I don't have such system to test right now.
@filedescriptor can you try to replicate this?
(the deleted message was due to me confusing this with a different bug I recently reported)
@PratikPB2123
I just tested this bug with 2.93.1 LTS on Windows x64 and I can reproduce it again. The Rotate sculpting brush appears to rotate the bumps on the provided surface in the initially provided .blend file much faster without pen pressure on Strength enabled than with, even after confirming in the Wacom Control Panel that the applied pen pressure was indeed maximum.
3.0 alpha
3d7021b4ec
also behaves the same.EDIT: to clarify, when I initially reported the bug months ago I was using Linux, but at the moment I'm using Windows and it can be still reproduced. So it also seems to be OS-independent.
As an additional note following more testing:
Using constant brush falloff without pen pressure on Strength, the behavior of the Rotate brush is very consistent and operates exactly as expected, with 1:1 mapping between the rotating motion of the cursor and geometry.
When Strength is enabled, again with constant brush falloff, things start getting weird. Not only the underlying geometry appears to rotate at least 2 times slower, but this value also changes depending on the starting pen pressure when the sculpting stroke was first initiated.
In other words, if the rotating sculpting motion is initiated with a low pressure, then no matter how hard the pen will be pressed afterwards, the rotation will remain very slow. Likewise, if the sculpting motion is initiated with a strong pen pressure, brush response will remain elevated during the entire brush stroke (but still lower than without Pen pressure/Strength enabled).
Added subscribers: @PrototypeNM1, @iss
Changed status from 'Needs User Info' to: 'Needs Triage'
@PrototypeNM1 Can you check this?
@iss OS independent and existing in 2.93 indicates to me this is either in GP or the hardware itself. At a glance this doesn't look like my area.
The quote indicates, that this isn't OS specific, that's why I asked you. I can't check behavior here though so don't know which module this task would belong to.
Follow up to our discussion in chat: we clarified that the issue is OS independent.
To me this looks like an issue with the brush itself, which would be Sculpt, Paint & Texture module (I've gone ahead and added it). @s12a it might help clarify the issue if you could upload a video comparing what's expected vs what's happening.
Here is a demonstration of the issue, using Blender 2.93 LTS with factory settings. For further clarity, the brush falloff was set to "Constant".
20210706-rotate-brush-bug-demonstration.mp4
Added subscriber: @lichtwerk
Changed status from 'Needs Triage' to: 'Confirmed'
Can confirm.
This is because pressure is only taken once at the very beginning of the stroke if the stroke does not support changing radius while dragging (see
paint_supports_dynamic_size
,sculpt_update_cache_variants
,sculpt_is_grab_tool
)A similar thing came up for radius (but was closed, see studio/blender-studio#56930 (Brush size pressure setting broken)), but I think here (for pressure) it could actually make sense to support sensitivity.
Especially because you will never be able to get 1.0 strength when starting a stroke.
Got a patch for this (not sure if this is desired in all situations)
Removed subscriber: @PrototypeNM1
Added subscriber: @JulienKaspar
I tested D12568 and it doesn't fix the issue. We should disable pressure sensitivity completely for any brushes that use an anchored stroke type by default to fix the issue.
A further improvement would be to remove the pressure sensitivity button from those brushes as well.
Later on we could revisit D6603 to add pressure sensitivity to anchored brushes properly.
You mean
Anchored
Stroke Method
? afaict, there are no (sculpt) brushes that use this by default (Rotate
isnt, nor isGrab
orSnake Hook
)Or would you mean disabling/hiding this for any brush that has
Anchored
Stroke Method
enabled at any time? (doesnt seem to be used in that case, so might make sense)Or do you just mean
Grab
,Snake Hook
&Rotate
?There is another set of brushes (internally detected by
sculpt_is_grab_tool
)SCULPT_TOOL_GRAB
, doesnt use pressure, already has the pressure sensitivity hiddenSCULPT_TOOL_ELASTIC_DEFORM
, doesnt use pressure (shows the setting in the UI though)SCULPT_TOOL_POSE
, doesnt use pressure (shows the setting in the UI though)SCULPT_TOOL_BOUNDARY
, doesnt use pressure (shows the setting in the UI though)SCULPT_TOOL_THUMB
, uses pressure sensitivity [but only the pressure from the start of the stroke, same as Rotate it seems]SCULPT_TOOL_ROTATE
, uses pressure [but problematic as desribed in this report]SCULPT_TOOL_SNAKE_HOOK
doesnt use pressure, already has the pressure sensitivity hiddenSo if we could define which ones really should not use pressure (not even the one from the start of the stroke), we could easily tweak
brush_strength
in sculpt.c to not use it.The UI part we can control via
BrushCapabilitiesSculpt_has_strength_pressure_get
Oh, and shouldnt we also use
paint_supports_dynamic_size
to define the same thing for radius pressure sensitivity capabilities as well?So only show the pressure sensitivity for tools that actually use it (these are the same candidates: not for Anchored strokes, not for the
sculpt_is_grab_tool
brushes mentioned above)?additional note: once done, we should also cleanup the
BRUSH_ALPHA_PRESSURE
/BRUSH_SIZE_PRESSURE
default flags for the brushes in the default startup as well asBKE_brush_sculpt_reset
Since I have already been looking at this (and also have #101769 on my table) I think it makes sense to reclaim
@lichtwerk That sounds great! The brushes that you've listed should not use pressure sensitivity for size and pressure at all, and should have the toggle hidden in the UI.
Removed subscriber: @filedescriptor
Germano Cavalcante referenced this issue2024-04-03 20:01:53 +02:00