Tweak tool consistency & behavior #96544

Closed
opened 2022-03-17 06:11:13 +01:00 by Campbell Barton · 10 comments

Currently the tweak tool in RMB select mode is virtually the same as the cursor tool, where left clicking sets the 3D cursor position.

This task proposes to make the tweak tool more useful by using the similar behavior as other editors (graph & node editor for e.g.).

Proposed Changes:

  • LMB press selects the element (unless it's already selected - in that case no selection takes place).
  • LMB drag moves the selection.
  • LMB click selects the element (deselecting all others).

Implications:

  • This makes it possible to tweak more than one item at a time.
  • It is no longer possible to set the 3D cursor with the tweak tool active.
Note that this could be supported by moving the new tweak tool behavior to the RMB, keeping LMB for the cursor (this would match the graph editor closely).

Notes:

  • Shift-LMB remains unchanged.
  • RMB selection remains unchanged.
  • Currently this only impacts behavior when RMB select is enabled. Once this has been tested to work acceptably we could look into desired behavior for the LMB select keymap.
  • This will be implemented as an experimental preference to user testing.

Open Topics:

  • Behavior when the tweak tool is used as a fallback (currently left as-is), since fallback tools should not be intrusive.
  • If these changes should also apply when selection is set to LMB (prefer to evaluate behavior on RMB first and evaluate LMB behavior afterwards).

Updates

  • Support in the 3D viewport: bb735bd518
  • Support in the UV editor: d356edf420
  • Preference enable for selection actions (not only the tweak tool) bc290b47cd

Testing

This feature can be enabled in the preferences:

  • In the interface section enable Developer Extras

  • In the keymap preferences:

    • Set selection to Right mouse button.
    • Enable Tweak Tool: Left Mouse Select & Move

NOTE: this proposal is based on a discussion with @JulienKaspar.

Currently the tweak tool in RMB select mode is virtually the same as the cursor tool, where left clicking sets the 3D cursor position. This task proposes to make the tweak tool more useful by using the similar behavior as other editors (graph & node editor for e.g.). **Proposed Changes:** - LMB press selects the element (unless it's already selected - in that case no selection takes place). - LMB drag moves the selection. - LMB click selects the element (deselecting all others). **Implications:** * This makes it possible to tweak more than one item at a time. * It is no longer possible to set the 3D cursor with the tweak tool active. ``` Note that this could be supported by moving the new tweak tool behavior to the RMB, keeping LMB for the cursor (this would match the graph editor closely). ``` **Notes:** - Shift-LMB remains unchanged. - RMB selection remains unchanged. - Currently this only impacts behavior when RMB select is enabled. Once this has been tested to work acceptably we could look into desired behavior for the LMB select keymap. - This will be implemented as an experimental preference to user testing. **Open Topics:** - Behavior when the tweak tool is used as a fallback (currently left as-is), since fallback tools should not be intrusive. - If these changes should also apply when selection is set to LMB (prefer to evaluate behavior on RMB first and evaluate LMB behavior afterwards). ---- **Updates** - Support in the 3D viewport: bb735bd518 - Support in the UV editor: d356edf420 - Preference enable for selection actions (not only the tweak tool) bc290b47cd ---- **Testing** This feature can be enabled in the preferences: - In the interface section enable **Developer Extras** - In the keymap preferences: - Set selection to **Right** mouse button. - Enable **Tweak Tool: Left Mouse Select & Move** ---- NOTE: this proposal is based on a discussion with @JulienKaspar.
Campbell Barton self-assigned this 2022-03-17 06:11:13 +01:00
Author
Owner

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Author
Owner

Added subscribers: @JulienKaspar, @ideasman42

Added subscribers: @JulienKaspar, @ideasman42

This issue was referenced by bb735bd518

This issue was referenced by bb735bd51807f2315558d8a2fa6fbd78a58f88f9

Added subscriber: @dfelinto

Added subscriber: @dfelinto

I think we should still have the box selection triggered by the drag event UNLESS the even starts on top of a selected element (vert, object, ...). Similar to how it works in the node editor.

I think we should still have the box selection triggered by the drag event UNLESS the even starts on top of a selected element (vert, object, ...). Similar to how it works in the node editor.
Author
Owner

@dfelinto after testing box selection I don't think this works so well for selection in the 3D viewport.

It works in the graph editor because selection occurs on isolated points, relying on the ability to click on nothing.

When testing this the following issues came up:

  • You can't select a small region of geometry that has anything surrounding it (because box select requires starting outside the object).
  • If there is any background scenery it's too easy to select & drag it (you end up having to turn "selectable" off for any background objects).

This could be made to work for X-ray/wire-frame edit-mode as selection is based on isolated points/edges, but don't think it's practical to have different behavior based on the shading mode.

@dfelinto after testing box selection I don't think this works so well for selection in the 3D viewport. It works in the graph editor because selection occurs on isolated points, relying on the ability to click on nothing. When testing this the following issues came up: - You can't select a small region of geometry that has anything surrounding it (because box select requires starting *outside* the object). - If there is any background scenery it's too easy to select & drag it (you end up having to turn "selectable" off for any background objects). This could be made to work for X-ray/wire-frame edit-mode as selection is based on isolated points/edges, but don't think it's practical to have different behavior based on the shading mode.
Philipp Oeser removed the
Interest
User Interface
label 2023-02-10 09:22:11 +01:00
Author
Owner

Enabled by default after discussion with @JulienKaspar: 618f39fca2, closing.

Enabled by default after discussion with @JulienKaspar: 618f39fca23ca7734a09a8f08efced8379efd2b3, closing.
Blender Bot added
Status
Archived
and removed
Status
Confirmed
labels 2023-09-01 05:02:02 +02:00

Hi Campbell, how are you?
I have my fresh build with this feature working.

618f39fca2

We have found a problem when we are trying to edit just 1 vert in a selection of vertices, because now the entire selection is moved. The solution is deselect all, but in the modelers world 1 more step is a little bit messy.

In the past if you have several verts selected and you click in 1 vert that vert become the active selected and start moving immediately, it was very nice!

Would we have some option for avoid tweak the entire selection?
Thanks a bunch!

Hi Campbell, how are you? I have my fresh build with this feature working. https://projects.blender.org/blender/blender/commit/618f39fca23ca7734a09a8f08efced8379efd2b3 We have found a problem when we are trying to edit just 1 vert in a selection of vertices, because now the entire selection is moved. The solution is deselect all, but in the modelers world 1 more step is a little bit messy. In the past if you have several verts selected and you click in 1 vert that vert become the active selected and start moving immediately, it was very nice! Would we have some option for avoid tweak the entire selection? Thanks a bunch!
Author
Owner

Hey Eugenio, doing alright thanks :)
from what can can see what your asking for is simply to add back the option for tweaking to de-select all.

Testing this and if you intend to move many isolated vertices, I don't think having to first de-select all is all that bad, as you only have to do this once before tweaking many vertices.

As this used to be an option (and is still an option internally), it's not such a problem to support this again, however I'd rather avoid to adding back options unnecessarily. If added back for e.g. This option should also be supported for the graph editor, maybe nodes too - where tweaking doesn't de-select all. It would be odd to restore this behavior only in the 3D view but not others.

@JulienKaspar thoughts?

Hey Eugenio, doing alright thanks :) from what can can see what your asking for is simply to add back the option for tweaking to de-select all. Testing this and if you intend to move many isolated vertices, I don't think having to first de-select all is all that bad, as you only have to do this once before tweaking many vertices. As this used to be an option (and is still an option internally), it's not such a problem to support this again, however I'd rather avoid to adding back options unnecessarily. If added back for e.g. This option should also be supported for the graph editor, maybe nodes too - where tweaking doesn't de-select all. It would be odd to restore this behavior only in the 3D view but not others. @JulienKaspar thoughts?
Member

If there's the need to add this option for other editors too, then we can think about making it a preference that's more exposed. But I don't think anyone was requesting that.

And since it just takes a single toggle in the keymap preferences to get the old behavior back in the 3D Viewport, I don't think this needs another preference.

image

If there's the need to add this option for other editors too, then we can think about making it a preference that's more exposed. But I don't think anyone was requesting that. And since it just takes a single toggle in the keymap preferences to get the old behavior back in the 3D Viewport, I don't think this needs another preference. ![image](/attachments/994f6129-e1a3-463d-9b07-6d4990fba987)
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
5 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#96544
No description provided.