UI: change the UV packing pin option into a toggle & drop-down #108733
No reviewers
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Code Documentation
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
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
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#108733
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "ideasman42/blender:pr-pin-uv-ui"
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?
Exposing both the option not to use pinned islands and to skip pinned
islands in the same dropdown was confusing.
Now there is a checkbox "Pin", when disabled, pinned UV's don't
have any impact on the packed result.
When enabled, the pin-method selects how pinned islands are handled.
@ -1593,3 +1599,3 @@
static const EnumPropertyItem pinned_islands_method_items[] = {
{ED_UVPACK_PIN_PACK, "PACK", 0, "Pack", "Pinned islands are packed normally"},
/* NOTE: ED_UVPACK_PIN_LOCK_NONE is exposed as a boolean "pin". */
Should be ED_UVPACK_PIN_NONE
To me this is unclear, I could not guess what the "Pin" toggle means. To me pin means that something stays fixed in place, which is the opposite of what the option does.
I'm not sure why this is even an option. Packing around pinned islands is useful, but why would you want other islands to overlap pinned islands?
The rationale for having a checkgox for pin, is that I thought it was reasonably clear that "Pin" means "Use pin to constrain packing", so when the checkbox is off - packing is unconstrained. All selected islands are packed without constraints (the checkbox could even be named "Constrain Pinned" - or a similar term to make this clearer).
NOTE: updated the PR to default to
ED_UVPACK_PIN_LOCK_ALL
- so when "Pin" is enabled the resulting pack doesn't contain overlap. Agree that in the case pinning is used, overlapping existing islands isn't a good default.Checking, ED_UVPACK_PIN_LOCK_ALL doesn't seem to lock-in-place as the packed UV's are relocated (tool-tip hints that the islands would be kept in-place).
The option should be called "Use Pins" or something like that then?
This doesn't fit my mental model though, for me it's more clear to just directly ask what happens to pinned islands. Rather than first thinking that I want to use pins to constrain packing, and then how I want to constrain it.
Anyway, if it's called "Use Pins" I can at least understand it so I can live with that, but don't think it's an improvement.
I can confirm that with this PR, but in main it does seem to lock the island in place.
A checkbox normally implies "Use", so while I don't mind "Use Pins". Although I find "Constrain Pinned" clearer, the "Ignore" option doesn't fit so well into the definition of a constraint.
The issue with asking what to do with pinned islands is one of the options is to ignore them... then, (by necessity) the other option is to ignore pinning, or as currently worked "Pack" pinned islands, although I find this confusing too (it sounds as if un-pinned might not be packed - or handled differently)
Seems we have fairly different mental models, to expand on my reasoning:
All of these details about pinning are somethings users can figure out, but they could easily cause confusion - even attempting to understand these options when testing the patch I found fairly confusing.
It seems likely users could pack while unwittingly having some UV's on a high poly mesh pinned without realizing it. Then have the problem of trying to troubleshoot why the pack skipped some islands.
So it seems reasonable to me that the mental model for pin starts of by giving the user a checkbox to use pinning as a special kind of constraint which they can opt into and configure how they wish, but without requiring them to have to understand any of this if they simply want to pack what they have selected - as all other transform actions currently do.
Reported, Chris fixed
31ce143569
.52a8c84dd0
toe3924d4742
Updated to name "Use Pin" and added a description.
A checkbox implies Use when the name is not a verb. But Pin is a verb.
For unwrapping pins also constrain the whole island.
Yes, I agree current "Packed" and "Lock in Place" are the two most useful options.
What do you think about a "Lock Pinned Islands" boolean that does "Lock in Place" when enabled, and "Packed" when disabled. This option would be off by default. And then remove all the other options, which I'm not sure are very useful.
The missing puzzle piece here is the "Overlap Unselected" checkbox which is hard to land in Blender 3.6 because it will change the way islands are calculated.
In Blender 4.0 there will be three different types of islands:
e3924d4742
tobfb26884ff
bfb26884ff
toe6bca0b9a2
Updated the patch to remove the "IGNORE" option in the UI, this means the checkbox can re renamed to "Lock Pinned Islands" with a drop-down to the different kinds of locking.
(attached screenshot)
Thanks, that's immediately clear to me.