UV - scaling with individuals origin is not working when vertices touch each other #85644

Closed
opened 2021-02-15 09:52:00 +01:00 by filip mond · 17 comments

System Information
Operating system: Darwin-19.6.0-x86_64-i386-64bit 64 Bits
Graphics card: AMD Radeon Pro 580X OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.10.18

Blender Version
Broken: version: 2.92.0 Beta, branch: master, commit date: 2021-01-24 07:38, hash: d3506c86da
Worked: 2.79

Exact steps for others to reproduce the error
I use individual origins and I disabled sticky selection. It works when scaling faces that doesn't touch each other, but since I select faces touching vertex next to each other scaling become like median point type of scaling.

Here is a showcase in anim gif
Kapture 2021-02-14 at 18.11.30.gif

Same for 2.83 STL, so probably all 2.8+ works the same. When I do this in 2.79 it keeps individual origin scaling behaviour. So ... is it a bug or a feature that can be disabled ... somewhere?

I tried to ask https://blender.stackexchange.com/questions/211769/uv-scaling-with-individuals-origin-is-not-working-when-vertices-touch-each-oth, but there is not a direct answer. Thank you for help.


EDIT
(if you are OK with that I can re-edit main description, I just wasn't sure if it would not be confusing)

  • according to chosen unwrap type (like Smart Unwrap, Follow Active, Project from View) ... doesn't scale faces as individual origins when faces shares vertex location

  • 2.79 works (in general) the same, just noticed Smart Unwrap works even more weirdly, luckily this was fixed in 2.8x

**System Information** Operating system: Darwin-19.6.0-x86_64-i386-64bit 64 Bits Graphics card: AMD Radeon Pro 580X OpenGL Engine ATI Technologies Inc. 4.1 ATI-3.10.18 **Blender Version** Broken: version: 2.92.0 Beta, branch: master, commit date: 2021-01-24 07:38, hash: `d3506c86da` Worked: 2.79 **Exact steps for others to reproduce the error** I use *individual origins* and I disabled *sticky selection*. It works when scaling faces that doesn't touch each other, but since I select faces touching vertex next to each other scaling become like *median point* type of scaling. Here is a showcase in anim gif ![Kapture 2021-02-14 at 18.11.30.gif](https://archive.blender.org/developer/F9803563/Kapture_2021-02-14_at_18.11.30.gif) Same for 2.83 STL, so probably all 2.8+ works the same. When I do this in 2.79 it keeps individual origin scaling behaviour. So ... is it a bug or a feature that can be disabled ... somewhere? I tried to ask https://blender.stackexchange.com/questions/211769/uv-scaling-with-individuals-origin-is-not-working-when-vertices-touch-each-oth, but there is not a direct answer. Thank you for help. --- **EDIT** (if you are OK with that I can re-edit main description, I just wasn't sure if it would not be confusing) - according to chosen unwrap type (like Smart Unwrap, Follow Active, Project from View) ... doesn't scale faces as individual origins when faces shares vertex location - 2.79 works (in general) the same, just noticed *Smart Unwrap* works even more weirdly, luckily this was fixed in 2.8x
Author

Added subscriber: @FilipMond

Added subscriber: @FilipMond
Member

Added subscriber: @filedescriptor

Added subscriber: @filedescriptor
Member

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

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

I can confirm this on the latest 2.92.0 Beta, branch: master, commit date: 2021-02-15 09:30, hash: 7c864388fc.

I can confirm this on the latest 2.92.0 Beta, branch: master, commit date: 2021-02-15 09:30, hash: `7c864388fc`.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

For me, this is behaving the same in 2.79 (in fact, on the same UV layout, 2.79)?
T85644_279.blend

This also seems to depend on the way UVs are laid out, e.g. the default cube with the UVs from UV Smart project actually seems to work:
T85644_293.blend

For me, this is behaving the same in 2.79 (in fact, on the same UV layout, 2.79)? [T85644_279.blend](https://archive.blender.org/developer/F9803715/T85644_279.blend) This also seems to depend on the way UVs are laid out, e.g. the default cube with the UVs from UV Smart project actually seems to work: [T85644_293.blend](https://archive.blender.org/developer/F9804506/T85644_293.blend)
Author

@lichtwerk Hmm ... you are right ... in 2.79 I used SmartUV and unwrap with Follow Active behave the same as in 2.93, but ...
... testing 2.79 more gave me even more weird results - some faces goes together and some of them don't ... I started to think if they share edge on object matters, but they don't.

Screenshot 2021-02-15 at 18.29.09.png Screenshot 2021-02-15 at 18.29.33.png Screenshot 2021-02-15 at 18.30.03.png

Using SmartUV in 2.93 seems to work as expected, but ...

Screenshot 2021-02-15 at 18.42.25.png

using Follow Active in 2.93 persists as mentioned in OP ... so what is the rule for such behaviour and what is correct? I think you can understand to my confusion ... I would expect for individual origins scaling individual faces.
Thank you to bringing light into this "thing".

BTW I came to this issue via Projection from View that is not working as well ...

@lichtwerk Hmm ... you are right ... in 2.79 I used SmartUV and unwrap with Follow Active behave the same as in 2.93, but ... ... testing 2.79 more gave me even more weird results - some faces goes together and some of them don't ... I started to think if they share edge on object matters, but they don't. ![Screenshot 2021-02-15 at 18.29.09.png](https://archive.blender.org/developer/F9804962/Screenshot_2021-02-15_at_18.29.09.png) ![Screenshot 2021-02-15 at 18.29.33.png](https://archive.blender.org/developer/F9804965/Screenshot_2021-02-15_at_18.29.33.png) ![Screenshot 2021-02-15 at 18.30.03.png](https://archive.blender.org/developer/F9804968/Screenshot_2021-02-15_at_18.30.03.png) Using **SmartUV** in 2.93 seems to work as expected, but ... ![Screenshot 2021-02-15 at 18.42.25.png](https://archive.blender.org/developer/F9804979/Screenshot_2021-02-15_at_18.42.25.png) using **Follow Active** in 2.93 persists as mentioned in OP ... so what is the rule for such behaviour and what is correct? I think you can understand to my confusion ... I would expect for individual origins scaling individual faces. Thank you to bringing light into this "thing". BTW I came to this issue via **Projection from View** that is not working as well ...

Added subscriber: @sidd017

Added subscriber: @sidd017

I'm working on this (new developer here), but I'm not able to understand what is the intended/expected behavior here.
I was able to reproduce this locally, but enabling UV sync selection gave even more weird results.
My exact steps :

  • Starting with the default startup scene, go to the UV editor in the UV editing workspace.
  • Choose face select mode.
  • Disable sticky selection.
  • Set pivot to use individual origins
    Results when (do the following, in given order) :
  1. Non touching faces are selected
    non touching works fine.PNG
  2. Touching faces are selected (as mentioned in original post)
    2touching not work.PNG
  3. Turn on UV sync selection and scaling all faces together
    3turn on uv sync.PNG
  4. Staying in sync selection, select touching faces in which one face was not originally selected in steps 1 and 2.
    4sync touching selection.PNG
I'm working on this (new developer here), but I'm not able to understand what is the **intended/expected behavior** here. I was able to reproduce this locally, but enabling UV sync selection gave even more weird results. My exact steps : - Starting with the default startup scene, go to the UV editor in the UV editing workspace. - Choose face select mode. - Disable sticky selection. - Set pivot to use individual origins Results when (do the following, in given order) : 1. Non touching faces are selected ![non touching works fine.PNG](https://archive.blender.org/developer/F9900994/non_touching_works_fine.PNG) 2. Touching faces are selected (as mentioned in original post) ![2touching not work.PNG](https://archive.blender.org/developer/F9901000/2touching_not_work.PNG) 3. Turn on UV sync selection and scaling all faces together ![3turn on uv sync.PNG](https://archive.blender.org/developer/F9901003/3turn_on_uv_sync.PNG) 4. Staying in sync selection, select touching faces in which one face was not originally selected in steps 1 and 2. ![4sync touching selection.PNG](https://archive.blender.org/developer/F9901028/4sync_touching_selection.PNG)
Author

Thank you @sidd017 for care ... I don't want to make it more mysterious than it is, I just tried with Sync Selection enabled and I didnt end up with your result my kept connected.
But at some point of testing happened this (with middle one disconnected) ...

Screenshot 2021-03-22 at 11.29.51.png

I wanted to repeat again with a new file, but It ends up connected ...

Screenshot 2021-03-22 at 11.35.36.png

I experimented if active plays some role in this, but I can't confirm that. It seem s to be random from time to time.
If I would answer what are my expectations from Individual origins simply this ...

Screenshot 2021-03-22 at 16.37.37.png

Thank you @sidd017 for care ... I don't want to make it more mysterious than it is, I just tried with Sync Selection enabled and I didnt end up with your result my kept connected. But at some point of testing happened this (with middle one disconnected) ... ![Screenshot 2021-03-22 at 11.29.51.png](https://archive.blender.org/developer/F9904180/Screenshot_2021-03-22_at_11.29.51.png) I wanted to repeat again with a new file, but It ends up connected ... ![Screenshot 2021-03-22 at 11.35.36.png](https://archive.blender.org/developer/F9904189/Screenshot_2021-03-22_at_11.35.36.png) I experimented if active plays some role in this, but I can't confirm that. It seem s to be random from time to time. If I would answer what are my expectations from Individual origins simply this ... ![Screenshot 2021-03-22 at 16.37.37.png](https://archive.blender.org/developer/F9904221/Screenshot_2021-03-22_at_16.37.37.png)
Author

Sure I can imagine situations where it can be useful ...

Screenshot 2021-03-22 at 16.52.18.png

but definitely not as default behaviour for something called Individual Origin.

BTW another Sync Selection weird one (for some reason two on right side scaled as connected or should I say first two couples scaled separately?) ...

Screenshot 2021-03-22 at 16.42.43.png

Than Undo and scale it all ...

Screenshot 2021-03-22 at 16.48.12.png

Than Deselect and select couples as previously ...

Screenshot 2021-03-22 at 17.05.12.png

Than these tree ...

Screenshot 2021-03-22 at 17.08.20.png

Sure I can imagine situations where it can be useful ... ![Screenshot 2021-03-22 at 16.52.18.png](https://archive.blender.org/developer/F9904293/Screenshot_2021-03-22_at_16.52.18.png) but definitely not as default behaviour for something called *Individual Origin*. BTW another *Sync Selectio*n weird one (for some reason two on right side scaled as connected or should I say first two couples scaled separately?) ... ![Screenshot 2021-03-22 at 16.42.43.png](https://archive.blender.org/developer/F9904295/Screenshot_2021-03-22_at_16.42.43.png) Than *Undo* and scale it all ... ![Screenshot 2021-03-22 at 16.48.12.png](https://archive.blender.org/developer/F9904301/Screenshot_2021-03-22_at_16.48.12.png) Than Deselect and select couples as previously ... ![Screenshot 2021-03-22 at 17.05.12.png](https://archive.blender.org/developer/F9904305/Screenshot_2021-03-22_at_17.05.12.png) Than these tree ... ![Screenshot 2021-03-22 at 17.08.20.png](https://archive.blender.org/developer/F9904310/Screenshot_2021-03-22_at_17.08.20.png)

@FilipMond This task can probably be closed in my opinion for 2 reasons :

  • Regarding the issue with UV Sync selection : it's a separate issue altogether. I have reported a bug for that #86924, and also submitted a patch.
  • The behavior described in the original post is in fact the intended behavior for individual origins. If you look at the tooltip for individual origins, it says "Pivot around each selected island's own median point", which basically says the individual origins of islands not faces.

When selected faces in a UV touch each other they collectively become one island.

@FilipMond This task can probably be closed in my opinion for 2 reasons : - Regarding the issue with UV Sync selection : it's a separate issue altogether. I have reported a bug for that #86924, and also submitted a patch. - The behavior described in the original post is in fact the intended behavior for individual origins. If you look at the tooltip for individual origins, it says "Pivot around each **selected island's** own **median point**", which basically says the individual origins of **islands not faces**. When selected faces in a UV touch each other they collectively become one island.

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'

Closing, even though this could be changed to only detect islands across shared UV-edges (not vertices), this is a design change, not a bug in the current behavior.

Closing, even though this could be changed to only detect islands across shared UV-edges (not vertices), this is a design change, not a bug in the current behavior.
Author

@sidd017

  • UV Sync Selection - Thank you for such a quick fix :)
  • Individual origins - right, I didnt notice the tooltip ... yet still cant believe this is appropriate design ... hm

@ideasman42
Thanks for possible vision ... it just doesn't solve the individual scale per face.
So if I'm understanding to it right, there is not a chance to scale UV faces at once to get this result ...
Screenshot 2021-03-29 at 11.05.53.png
For such a simple mesh like a Cube I had to manually select and scale faces in 3 separate steps to get the result.

For Icosphere it takes 7 individual steps with manually selecting face by face ...
Screenshot 2021-03-29 at 12.00.36.png
... and those are still elementary examples, so you can imagine real issue like for Monkey's head in projection unwrap.

The only one way that I found as workaround is to apply Edge Split modifier, scale UV and Merge by Distance back.
That doesn't seems to be an efficient way.

Any suggestion where to discuss this thing?
Thank you for your time.

@sidd017 - UV Sync Selection - Thank you for such a quick fix :) - Individual origins - right, I didnt notice the tooltip ... yet still cant believe this is appropriate design ... hm @ideasman42 Thanks for possible vision ... it just doesn't solve the individual scale per face. So if I'm understanding to it right, there is not a chance to scale UV faces at once to get this result ... ![Screenshot 2021-03-29 at 11.05.53.png](https://archive.blender.org/developer/F9913240/Screenshot_2021-03-29_at_11.05.53.png) For such a simple mesh like a *Cube* I had to manually select and scale faces in 3 separate steps to get the result. For *Icosphere* it takes 7 individual steps with manually selecting face by face ... ![Screenshot 2021-03-29 at 12.00.36.png](https://archive.blender.org/developer/F9913264/Screenshot_2021-03-29_at_12.00.36.png) ... and those are still elementary examples, so you can imagine real issue like for Monkey's head in projection unwrap. The only one way that I found as workaround is to *apply* **Edge Split** modifier, scale UV and **Merge by Distance** back. That doesn't seems to be an efficient way. Any suggestion where to discuss this thing? Thank you for your time.

@FilipMond Thanks for the bug report, it helped point out and fix a bug with UV Sync selection.
You can discuss about efficient workarounds/workflows with other users on the #support channel at blender.chat or you can post a new topic for this on devtalk.blender.org.

It would be best to not have discussions about workflow related queries here, since this place is meant for bug reports and development related tasks.

@FilipMond Thanks for the bug report, it helped point out and fix a bug with UV Sync selection. You can discuss about efficient workarounds/workflows with other users on the #support channel at blender.chat or you can post a new topic for this on devtalk.blender.org. It would be best to not have discussions about workflow related queries here, since this place is meant for bug reports and development related tasks.
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#85644
No description provided.