UI: add Proportional Size to Proportional Edit popover #107507

Merged
Germano Cavalcante merged 1 commits from mano-wii/blender:transform_PED_size into main 2023-05-04 16:39:28 +02:00

Rather than forcing the user to initiate a transform operation to edit the Proportional Size, allow editing of the Proportional Size through the UI.


cc623ee7b0 implemented a change that didn't seem to have many implications.

The change was: do not save state changes in the scene related to Snap or Proportional Edit settings if the Transform operation is cancelled.

But this change didn't account for some users relies on the transform operation just to change the size of the Proportional Edit. The flow is:

  • Press G or R or S to start a transform operation
  • Scroll with the mouse to change the Proportional Size
  • LMB or Esc to cancel the operation.

To avoid this inconsistent usage, this PR proposes to edit the Proportional Size value through the UI.

The affected headers are:

  • View 3D
  • Dop Sheet
  • Image Editor
  • Graph Editor
  • Mask Editor
Rather than forcing the user to initiate a transform operation to edit the `Proportional Size`, allow editing of the `Proportional Size` through the UI. --- cc623ee7b0fc implemented a change that didn't seem to have many implications. The change was: do not save state changes in the scene related to Snap or Proportional Edit settings if the Transform operation is cancelled. But this change didn't account for some users relies on the transform operation just to change the size of the Proportional Edit. The flow is: - Press G or R or S to start a transform operation - Scroll with the mouse to change the Proportional Size - LMB or Esc to cancel the operation. To avoid this inconsistent usage, this PR proposes to edit the Proportional Size value through the UI. The affected headers are: - View 3D - Dop Sheet - Image Editor - Graph Editor - Mask Editor
Germano Cavalcante added the
Module
User Interface
label 2023-05-01 18:35:24 +02:00
First-time contributor

Would it be possible to add "save state changes" in some form as a User Preference?

When editing a relevant mesh it's relatively quick to simply scroll to adjust the Proportional Size, cancel the operation, orbit the viewport to a new angle, and press G or S again to see how the mesh is affected.
I repeat these steps at least a few times from different angles to get a more complete sense of exactly what proportional size to use (and what direction to drag if the operation is Move).
Which would be significantly slowed down by having to manually enter a new Proportional Size value (or by re-scrolling to the new size every time if it resets as was changed in cc623ee7b0).

But I can also see some users preferring the more recent version, which is why I wanted to mention this in addition to this PR.

Though I have to say this PR itself would also be a welcome addition to the UI.

Would it be possible to add "save state changes" in some form as a User Preference? When editing a relevant mesh it's relatively quick to simply scroll to adjust the Proportional Size, cancel the operation, orbit the viewport to a new angle, and press G or S again to see how the mesh is affected. I repeat these steps at least a few times from different angles to get a more complete sense of exactly what proportional size to use (and what direction to drag if the operation is Move). Which would be significantly slowed down by having to manually enter a new Proportional Size value (or by re-scrolling to the new size every time if it resets as was changed in cc623ee7b0fc). But I can also see some users preferring the more recent version, which is why I wanted to mention this in addition to this PR. Though I have to say this PR itself would also be a welcome addition to the UI.
Brecht Van Lommel approved these changes 2023-05-03 19:07:00 +02:00
Germano Cavalcante force-pushed transform_PED_size from 082db869d7 to eb103eb016 2023-05-03 21:10:16 +02:00 Compare
Germano Cavalcante force-pushed transform_PED_size from eb103eb016 to 9c39a72b2f 2023-05-03 21:15:44 +02:00 Compare
Author
Member

I noticed one thing that might seem odd to 2D editors. The unit of measurement for distance.

For the 3D View it makes sense to use metric or imperial units. But for UV, Graph, Mask and Dop Sheet, it doesn't.

As we can't override the unit of the property in the UI, to solve this I created another property pointing to the same directory, however it has no unit.

I noticed one thing that might seem odd to 2D editors. The unit of measurement for distance. For the 3D View it makes sense to use metric or imperial units. But for UV, Graph, Mask and Dop Sheet, it doesn't. As we can't override the unit of the property in the UI, to solve this I created another property pointing to the same directory, however it has no unit.
Germano Cavalcante force-pushed transform_PED_size from 9c39a72b2f to 66a3f9241b 2023-05-04 16:35:03 +02:00 Compare
Germano Cavalcante merged commit 6b5b777ca3 into main 2023-05-04 16:39:28 +02:00
Germano Cavalcante deleted branch transform_PED_size 2023-05-04 16:39:29 +02:00
First-time contributor

I do the same as @beepeekay . But that's not a proper workflow, it's simply working around the fact that there's no way to visualize the affected elements before initiating a transform. The additional property is welcome but is rather meaningless on its own, in the sense that setting it before initiating a transform will not inform the user on the affected elements.

I do the same as @beepeekay . But that's not a proper workflow, it's simply working around the fact that there's no way to visualize the affected elements _before_ initiating a transform. The additional property is welcome but is rather meaningless on its own, in the sense that setting it before initiating a transform will not inform the user on the affected elements.
Author
Member

Note that in 3.6 the "less" conventional solution (of canceling the operation) was reintroduced (See c7f1ad1058).

So both ways are now possible.

Note that in 3.6 the "less" conventional solution (of canceling the operation) was reintroduced (See c7f1ad10581511c48851b7c2eaf00a346d546dc9). So both ways are now possible.
First-time contributor

Can I suggest 2 more options?

  1. Always show in view (if proportional edit is enabled and some object or element is selected. Center point for the circle depends on "Transform Pivot Point" option).
  2. Color.
Can I suggest 2 more options? 1. Always show in view (if proportional edit is enabled and some object or element is selected. Center point for the circle depends on "Transform Pivot Point" option). 2. Color.
Howard Trickey referenced this issue from a commit 2023-05-29 02:51:42 +02:00
First-time contributor

Hello,
why do you use new property proportional_distance instead of the existing proportional_size?
As I understood because proportional_distance uses length units?
Maybe it should be called Proportional Distance (or even better Proportional Radius)
or to use one property everywhere then? (IMO proportional_distance value more clear to understand than float in Redo panel)

proportional_distance.png

Hello, why do you use new property `proportional_distance` instead of the existing `proportional_size`? As I understood because `proportional_distance` uses length units? Maybe it should be called `Proportional Distance` (or even better `Proportional Radius`) or to use one property everywhere then? (IMO `proportional_distance` value more clear to understand than float in Redo panel) ![proportional_distance.png](/attachments/6939339b-4c59-467b-87dc-0f0656585e2c)
Sign in to join this conversation.
No reviewers
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#107507
No description provided.