Modeling: Fix Suzanne's UV map #106652

Manually merged
Brecht Van Lommel merged 8 commits from MysteryPancake/blender:cleanupmonkey into main 2023-05-30 13:53:05 +02:00
Contributor

This patch fixes Suzanne's UV map, making it more symmetrical and adding the missing face on the ear.

I previously had this patch on the old developer website, but I can't find it so I redid it.

Before After
Before After
This patch fixes Suzanne's UV map, making it more symmetrical and adding the missing face on the ear. I previously had this patch on the old developer website, but I can't find it so I redid it. | Before | After | | -------- | -------- | | ![Before](https://i.imgur.com/gRvLZT3.png) | ![After](https://i.imgur.com/2FvKpp8.png) |
Hallam Roberts requested review from Brecht Van Lommel 2023-04-07 03:27:13 +02:00
Brecht Van Lommel requested review from Chris Blackbourn 2023-04-13 14:41:21 +02:00
Brecht Van Lommel refused to review 2023-04-13 14:41:25 +02:00

UV map looks nice to with me, but will leave review and commit to @Chris_Blackbourn since he is actively working in this area.

UV map looks nice to with me, but will leave review and commit to @Chris_Blackbourn since he is actively working in this area.
Hans Goudey changed title from Modelling: Fix Suzanne's UV map to Modeling: Fix Suzanne's UV map 2023-04-13 14:44:07 +02:00

UVs do seem improved in this version. Perhaps try using the "Relax Tool" with the "Geometry" relaxation method to clean them up even further. It can help resolve the symmetries in the eye-balls, and clean up some of the loops in the eye-sockets.

Here's a really rough programmer version for example:

image

A more philosophical issue is that we actually use the Suzanne model for testing the UV tools themselves.

e.g. Here's bug report would be "closed" by changing the default UVs, but without fixing the underlying issue: #102683

For that reason, we need to be really cautious about changing the default model, and also very obvious when we change it so we know which version is which. Perhaps completely changing the layout would make more sense, e.g. something closer to:

image

@brecht , how have we resolved these kinds of change-the-default-model-and-invalidate-downstream-dependencies in the past? It's not just bug reports, it's documentation, tutorials, etc...

UVs do seem improved in this version. Perhaps try using the "Relax Tool" with the "Geometry" relaxation method to clean them up even further. It can help resolve the symmetries in the eye-balls, and clean up some of the loops in the eye-sockets. Here's a really rough programmer version for example: ![image](/attachments/828b70ef-441c-47cb-8ca5-11bfb2a897f2) A more philosophical issue is that we actually use the Suzanne model for testing the UV tools themselves. e.g. Here's bug report would be "closed" by changing the default UVs, but without fixing the underlying issue: https://projects.blender.org/blender/blender/issues/102683 For that reason, we need to be really cautious about changing the default model, and also very *obvious* when we change it so we know which version is which. Perhaps completely changing the layout would make more sense, e.g. something closer to: ![image](/attachments/6763f01d-6671-4fa9-bfb7-947d247a058d) @brecht , how have we resolved these kinds of change-the-default-model-and-invalidate-downstream-dependencies in the past? It's not just bug reports, it's documentation, tutorials, etc...
658 KiB
564 KiB
Author
Contributor

Good points. Since Suzanne is a test model I could add a "Use Legacy" checkbox to use the old UV map if needed?

I haven't tried relax yet, but I tried minimize stretch. It improved the UVs but had some distortion artifacts. I used it lightly around the mouth to keep the original UV appearance. I'll try using relax instead.

Blender's base UV tools could be improved, though I don't see an issue with updating the monkey UVs for now. The root problem can be addressed later.

The eyes in the programmer version have a distorted appearance which I wanted to avoid. I mainly focused on making the face area even.

Good points. Since Suzanne is a test model I could add a "Use Legacy" checkbox to use the old UV map if needed? I haven't tried relax yet, but I tried minimize stretch. It improved the UVs but had some distortion artifacts. I used it lightly around the mouth to keep the original UV appearance. I'll try using relax instead. Blender's base UV tools could be improved, though I don't see an issue with updating the monkey UVs for now. The root problem can be addressed later. The eyes in the programmer version have a distorted appearance which I wanted to avoid. I mainly focused on making the face area even.
Author
Contributor

Updated the UV map, used the relax tool and adjusted layout

Updated the UV map, used the relax tool and adjusted layout

@brecht , how have we resolved these kinds of change-the-default-model-and-invalidate-downstream-dependencies in the past? It's not just bug reports, it's documentation, tutorials, etc...

There's no single solution, it needs to be looked at case by case. Here I don't think we need to do anything.

For a bug report like #102683 the developer looking at it just needs to open an older Blender version and save the file. I don't think we should swap the order of islands to make the lives of developers easier, for user compatibility it's better to keep it the same as before.

> @brecht , how have we resolved these kinds of change-the-default-model-and-invalidate-downstream-dependencies in the past? It's not just bug reports, it's documentation, tutorials, etc... There's no single solution, it needs to be looked at case by case. Here I don't think we need to do anything. For a bug report like #102683 the developer looking at it just needs to open an older Blender version and save the file. I don't think we should swap the order of islands to make the lives of developers easier, for user compatibility it's better to keep it the same as before.
Author
Contributor

Swapped order of islands as suggested by Brecht

Swapped order of islands as suggested by Brecht

Nice!

The other thing to maybe try is to make the ears a bit more rectangular in UV space, which frees up a little bit of extra texture space for the eye balls.

image

Speaking of Suzanne's eyeballs, there's an issue with the geometry too:
image

That being said, from a code POV, the change LGTM...

Nice! The other thing to maybe try is to make the ears a bit more rectangular in UV space, which frees up a little bit of extra texture space for the eye balls. ![image](/attachments/1f988261-0ca6-431a-97ff-56d67582c76e) Speaking of Suzanne's eyeballs, there's an issue with the geometry too: ![image](/attachments/8562479e-20c5-43ff-a0e1-9052517ea967) That being said, from a code POV, the change LGTM...
173 KiB
553 KiB

(Relax tool with "HC" Relaxation Method will help make the eyeballs symmetric)

(Relax tool with "HC" Relaxation Method will help make the eyeballs symmetric)

Heyas! Is there a status update on this one? Would be nice to land for 3.6 ...

Heyas! Is there a status update on this one? Would be nice to land for 3.6 ...

Can this just be committed as is? The main thing here is to fix the problem which was done. This is an asset for testing, trying to squeeze out small packing efficiency improvements does not seen like a good use of @MysteryPancake 's time.

Can this just be committed as is? The main thing here is to fix the problem which was done. This is an asset for testing, trying to squeeze out small packing efficiency improvements does not seen like a good use of @MysteryPancake 's time.
Brecht Van Lommel approved these changes 2023-05-01 10:46:54 +02:00
Author
Contributor

Sorry for the delay, will update with the suggested rectangular UV layout soon.
Might as well keep it tidy since it probably won't be updated again for a while.

Sorry for the delay, will update with the suggested rectangular UV layout soon. Might as well keep it tidy since it probably won't be updated again for a while.
Hallam Roberts force-pushed cleanupmonkey from cee7132485 to 7bdd843b92 2023-05-02 14:43:53 +02:00 Compare
Author
Contributor

New rectangular layout as suggested

New rectangular layout as suggested

Looks great!

Looks great!
Hallam Roberts added 1 commit 2023-05-02 15:04:14 +02:00
Brecht Van Lommel manually merged commit b762f8da9c into main 2023-05-30 13:53:05 +02:00
Hallam Roberts deleted branch cleanupmonkey 2023-05-31 05:17:01 +02:00
First-time contributor

Saw this mentioned in the Developer Meeting Notes topic on BA -- looking at it in blender-4.0.0-alpha+main.bdd189f593ac-windows.amd64-release from the Daily Builds page, and the improvements are much appreciated! But given that "making it more symmetrical" was one of the goals, shouldn't all 23 of the monkeyface's centerline vertices be on the center of the UV map, 0.500000? I found the average at 0.499365. Or is that still upcoming with getting the rest of that island symmetrical?

Saw this mentioned in the Developer Meeting Notes topic on BA -- looking at it in blender-4.0.0-alpha+main.bdd189f593ac-windows.amd64-release from the Daily Builds page, and the improvements are much appreciated! But given that "making it more symmetrical" was one of the goals, shouldn't all 23 of the monkeyface's centerline vertices be on the center of the UV map, 0.500000? I found the average at 0.499365. Or is that still upcoming with getting the rest of that island symmetrical?

It's close enough for our purposes, doesn't need to be more exact.

It's close enough for our purposes, doesn't need to be more exact.
Author
Contributor

@KickAir8p if you send a more symmetric version I can update, I'm not too sure how to get perfect symmetry myself

@KickAir8p if you send a more symmetric version I can update, I'm not too sure how to get perfect symmetry myself
First-time contributor

@KickAir8p if you send a more symmetric version I can update . . .

Happy to help! Used blender-4.0.0-alpha+main.3ca1e828e22b-windows.amd64-release from the Daily Builds page. Excluded the UV islands of the ears and eyes from any changes. Changed the X coordinate of each of the monkeyface island's centerline vertices to 0.500000 . Deleted all X+ faces of that island and mirrored from the X- faces to force symmetry. I won't say it's absolutely perfect, but it's as close as can be done in Blender IMHO, which should be sufficient (I'm happier with it, anyway).

> @KickAir8p if you send a more symmetric version I can update . . . Happy to help! Used blender-4.0.0-alpha+main.3ca1e828e22b-windows.amd64-release from the Daily Builds page. Excluded the UV islands of the ears and eyes from any changes. Changed the X coordinate of each of the monkeyface island's centerline vertices to 0.500000 . Deleted all X+ faces of that island and mirrored from the X- faces to force symmetry. I won't say it's absolutely perfect, but it's as close as can be done in Blender IMHO, which should be sufficient (I'm happier with it, anyway).
First-time contributor

@MysteryPancake will that do? Anything else needed to get this in? I know that with the new release schedule we've got till latish August for "new features and changes", not trying to rush you, just wanna make sure I've done my bit.

@MysteryPancake will that do? Anything else needed to get this in? I know that with the new release schedule we've got till latish August for "new features and changes", not trying to rush you, just wanna make sure I've done my bit.
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
4 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#106652
No description provided.