Wrong UV after Vertex Slide or moving mesh with Correct Face Attributes #109278

Open
opened 2023-06-23 11:26:57 +02:00 by Jan Javůrek · 3 comments

System Information
Operating system: Windows-10-10.0.19044-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 535.98

Blender Version
Broken: version: 3.5.1, branch: blender-v3.5-release, commit date: 2023-04-24 18:11, hash: e1ccd9d4a1d3
Worked: unknown

Short description of error
After Vertex Slide with "Correct UV" checked, or after moving mesh with "Correct Face Attributes" UV mapping is wrong. Vertices in UV get split and wrongly offset.

Exact steps for others to reproduce the error

Example 1

  1. Open attached Blend file
    wrong_uv.blend
  2. Locate objects plane01_small and plane01_larger. They are identical models with the same UVs. Just one is slightly smaller and one larger and they have different position.
    image
  3. Now we will be vertex sliding this vertex to the diagonal one with snapping on vertex on (see picture) with "Correct UV" checked. See that the larger model has UV correct, but the smaller one has wrong UV after the vertex slide
    image
  4. now go back (Undo) and lets try grab/move with snapping instead of vertex slide. Be sure to have checked ON "Correct Face Attributes" and "Keep Connected" in Tool Settings/Option - see picture. Now UVs are wrong in both cases
    image

Example 2:

  1. Lets look at plane02_01 and plane02_02. They are totally identical duplicated objects (not instances) just with different position.
    image
  2. Vertex slide works OK in both cases here, so lets try Grab/move with vertex snapping and "Correct Face Attributes" + "Keep Connected" ON again. Here result UVs are OK in case of plane01_02 but wrong in case of plane01_01
    image
**System Information** Operating system: Windows-10-10.0.19044-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 535.98 **Blender Version** Broken: version: 3.5.1, branch: blender-v3.5-release, commit date: 2023-04-24 18:11, hash: `e1ccd9d4a1d3` Worked: unknown **Short description of error** After Vertex Slide with "Correct UV" checked, or after moving mesh with "Correct Face Attributes" UV mapping is wrong. Vertices in UV get split and wrongly offset. **Exact steps for others to reproduce the error** Example 1 1) Open attached Blend file [wrong_uv.blend](/attachments/73680d59-6eaa-4605-b2a0-ede86090943f) 2) Locate objects plane01_small and plane01_larger. They are identical models with the same UVs. Just one is slightly smaller and one larger and they have different position. ![image](/attachments/09de81e0-8970-4e95-8505-513dd6a8f20e) 3) Now we will be vertex sliding this vertex to the diagonal one with snapping on vertex on (see picture) with "Correct UV" checked. See that the larger model has UV correct, but the smaller one has wrong UV after the vertex slide ![image](/attachments/e76554bc-ac8e-49d5-8e4f-14dc64c8eb84) 4) now go back (Undo) and lets try grab/move with snapping instead of vertex slide. Be sure to have checked ON "Correct Face Attributes" and "Keep Connected" in Tool Settings/Option - see picture. Now UVs are wrong in both cases ![image](/attachments/fe5eca9b-8d98-4444-9fb1-3c3cd832b828) Example 2: 1) Lets look at plane02_01 and plane02_02. They are totally identical duplicated objects (not instances) just with different position. ![image](/attachments/bbf7a222-d847-47fd-9d00-ee5011fe4f0a) 2) Vertex slide works OK in both cases here, so lets try Grab/move with vertex snapping and "Correct Face Attributes" + "Keep Connected" ON again. Here result UVs are OK in case of plane01_02 but wrong in case of plane01_01 ![image](/attachments/88821565-a241-42d2-a9a9-c4310c449cd6)
Jan Javůrek added the
Type
Report
Status
Needs Triage
Priority
Normal
labels 2023-06-23 11:26:58 +02:00
Iliya Katushenock added the
Interest
Modeling
Interest
UV Editing
labels 2023-06-23 12:39:37 +02:00

I was able to reproduce only with plane01_small and plane01_larger. Doesn't seem to me there should be any floating point errors at this scale.

I was able to reproduce only with plane01_small and plane01_larger. Doesn't seem to me there should be any floating point errors at this scale.
Richard Antalik added
Module
Modeling
Status
Confirmed
and removed
Status
Needs Triage
labels 2023-06-23 21:49:44 +02:00
Author

In the last picture I was wrongly refering to plane02 as to 01...but I hope it was obvious.

Anyway I tried on different PC witn Blender 3.4.1 and I was able to replicate even the Example 2. ...plane02_01 has wrong UV when the middle vertex is moved with vertex snapping to the top vertex while having "Correct Face Attributes" + "Keep Connected". Interesting is that on plane02_01 the vertex normal gets totally disoriented, while at plane 02_02 it stays +- ok...also UVs are ok there

obrazek

In the last picture I was wrongly refering to plane02 as to 01...but I hope it was obvious. Anyway I tried on different PC witn Blender 3.4.1 and I was able to replicate even the Example 2. ...plane02_01 has wrong UV when the middle vertex is moved with vertex snapping to the top vertex while having "Correct Face Attributes" + "Keep Connected". Interesting is that on plane02_01 the vertex normal gets totally disoriented, while at plane 02_02 it stays +- ok...also UVs are ok there ![obrazek](/attachments/935a4163-47d3-4c90-8155-5efc96ed1e94)

Repro here in a debug build.

Not yet "confirmed in debugger"

Perhaps check #tc_mesh_customdatacorrect_find_best_face_substitute ?

Fix is non-obvious, be sure to test with subD meshes and see also #45096

Repro here in a debug build. Not yet "confirmed in debugger" Perhaps check #tc_mesh_customdatacorrect_find_best_face_substitute ? Fix is non-obvious, be sure to test with subD meshes and see also #45096
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
3 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#109278
No description provided.