Maniphest T44530

Regression: Texture UV Mapping incorrect on meshes with Subsuf and Mirror modifiers
Closed, Resolved

Assigned To
Antonis Ryakiotakis (psy-fi)
Authored By
Zauber Paracelsus (zauberexonar)
Apr 28 2015, 3:38 AM
Tags
  • BF Blender
  • BF Blender: Regressions
Subscribers
Antonis Ryakiotakis (psy-fi)
Campbell Barton (campbellbarton)
perfection cat (sindra1961)
Sergey Sharybin (sergey)
Zauber Paracelsus (zauberexonar)

Description

System Information
64bit Manjaro Linux, kernel 3.19
GeForce GTX 650 Ti Boost, driver 346.59

Blender Version
Broken: 2.75 dev, hash 4288ab1
Worked: 2.74 hash 000dfc0

Short description of error
A regression has occured on UV textured objects that use the Subsurf and Mirror modifier, though it may just be the mirror modifier that is relevant. What happens is that the UVs do not seem to map correctly to the dividing line of the mirror modifier, seemingly stretching more than they should.

This render shows the correct mapping, under the 2.74 release version:

This one is rendered under the current master, 4288ab1 :

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

  1. Download and open this file, under the 2.74 release:
  2. Render, and note that down the middle of the mesh, the texture applies correctly.
  3. Close blender, and reopen the file under a post-2.74 development build.
  4. Render, and note that the results are completely different, and wrong.

Revisions and Commits

rB Blender

Related Objects

Mentioned In
T48110: Subsurf UV is not working (correctly)
rBS236360c838a1: Change fix for T44530 which caused a "regression".
rB236360c838a1: Change fix for T44530 which caused a "regression".
Mentioned Here
rB165598e49e47: Correct typo: ifdef'd now, but obviously wrong
rB94d80c8ca473: Left some debug prints in here...
rB5197aa04c6bd: Fix part of T44320 selecting islands can fail.
rB000dfc03190d: Point submodules to the final release tag

Event Timeline

Zauber Paracelsus (zauberexonar) created this task.Apr 28 2015, 3:38 AM
Zauber Paracelsus (zauberexonar) raised the priority of this task from to 90.
Zauber Paracelsus (zauberexonar) updated the task description.
Zauber Paracelsus (zauberexonar) added a project: BF Blender.
Zauber Paracelsus (zauberexonar) edited a custom field.
Zauber Paracelsus (zauberexonar) added a subscriber: Zauber Paracelsus (zauberexonar).
Sergey Sharybin (sergey) assigned this task to Antonis Ryakiotakis (psy-fi).Apr 28 2015, 10:11 AM
Sergey Sharybin (sergey) added subscribers: Antonis Ryakiotakis (psy-fi), Sergey Sharybin (sergey).

@Antonis Ryakiotakis (psy-fi), it is caused by rB5197aa0, mind having a look? :)

Sergey Sharybin (sergey) lowered the priority of this task from 90 to Normal.Apr 28 2015, 10:11 AM
Sergey Sharybin (sergey) added a project: BF Blender: Regressions.
Antonis Ryakiotakis (psy-fi) changed the task status from Unknown Status to Resolved.Apr 28 2015, 11:18 AM
Antonis Ryakiotakis (psy-fi) added a commit: rBd920b8e075ed: Fix T44530 UV islands fail on subsurf after mirror modifier..

Closed by commit rBd920b8e075ed.

Bastien Montagne (mont29) added a commit: rBac0fdd379ae3: Fix T44530 UV islands fail on subsurf after mirror modifier..Apr 28 2015, 7:13 PM
perfection cat (sindra1961) added a subscriber: perfection cat (sindra1961).May 1 2015, 6:10 AM

@Antonis Ryakiotakis (psy-fi):
I think that a correction is insufficient.


It is not displayed definitely when I turn off merge option of attached PaintingIssue.blend.

version 2.74 (sub 5), branch b'master', commit date b'2015-05-01' b'00:44', hash b'94d80c8', b'Release'

perfection cat (sindra1961) added a comment.May 1 2015, 6:16 AM

May subdivision surface modifier not receive a result of mirror modifier definitely?

perfection cat (sindra1961) added a comment.May 1 2015, 6:39 AM

It seems to be handled definitely in 2.49b.


perfection cat (sindra1961) added a comment.May 1 2015, 9:52 AM

It is displayed definitely when I validate UV mirror.




Antonis Ryakiotakis (psy-fi) added a comment.May 1 2015, 11:46 AM

2.49 is quite old with a different architecture and I have quite some difficulty understanding...Japanese if I'm not mistaken? From what I've tested 2.66 works the same as current master so I will leave it as is.

perfection cat (sindra1961) added a comment.May 2 2015, 3:23 AM

I find it very difficult to understand why nationality comes out to your answer.

I mapped texture onto plane in this way.
I set modifier in order of mirror,subdivision surface.


This invalidates subdivision surface.
I set textures option of mirror modifier for invalidity.

This invalidates subdivision surface.
I set textures option of mirror modifier effectively.

The area of eight colors is displayed.

This validates subdivision surface.
I set textures option of mirror modifier effectively.


This validates subdivision surface.
I set textures option of mirror modifier for invalidity.
Only in this case the area of the color is six.

perfection cat (sindra1961) added a comment.EditedMay 2 2015, 3:34 AM

@Antonis Ryakiotakis (psy-fi):
Just to be sure, there is no this problem for your correction.
I thought that you might be settled because it was a phenomenon like reported contents.

perfection cat (sindra1961) added a comment.May 2 2015, 3:45 AM

I think that this problem was left all the time because I confirm even 2.63.

Antonis Ryakiotakis (psy-fi) added a comment.May 2 2015, 10:28 AM

Hi, don't take it the wrong way, I have nothing with Japanese people at all, it's just that the screenshot you posted of 2.49 is taken with a Japanese locale set and I can't understand the buttons any more.

I just still don't understand what the problem is...Is there some sort of combination of options that should work diffrently, and why?

Antonis Ryakiotakis (psy-fi) added a comment.May 2 2015, 10:36 AM

Aaaah! OK, I see what you mean now...not sure if that counts as a bug, but I'll take a look.

Antonis Ryakiotakis (psy-fi) added a comment.May 2 2015, 3:07 PM

I am doing some tests and it seems like @perfection cat (sindra1961) is actually correct.

We might actually have had a bad behaviour in master since long ago. The funny thing is that the first fix made things better, while the second fix, the one for this report made things distorted again for sindra's case.

I think the "bug" in this report is only a "does not work as before" case, while the real bug, which is havind distorted maps has been going on for so long unnoticed.

And now I'm totally confused on how we should treat this because we have compatibility concerns all over. People have been using this modifier like that for so long that we will break things if we enforce another behaviour. Probably this is one of the rare occasions that calls for an option, but I'll have to consult with other developers for that.

perfection cat (sindra1961) added a comment.May 4 2015, 3:35 AM

@Antonis Ryakiotakis (psy-fi):
I should apologize to you first.
I am sorry, @Antonis Ryakiotakis (psy-fi).
When I translated your answer into Japanese with a translation tool, I did not understand a meaning.
I only misunderstood it.

Antonis Ryakiotakis (psy-fi) added a comment.May 4 2015, 9:38 AM

No worries, my written answer was a bit ambiguous too I should have clarified I meant the screenshot from the start.

Antonis Ryakiotakis (psy-fi) mentioned this in rB236360c838a1: Change fix for T44530 which caused a "regression"..May 6 2015, 11:30 PM
Antonis Ryakiotakis (psy-fi) added a subscriber: Campbell Barton (campbellbarton).May 6 2015, 11:33 PM

So, after discussion with @Campbell Barton (campbellbarton) we decided that @perfection cat (sindra1961) is right here.

If it causes many cases like that we may add a compatibility option but since the "Issue" is limited to very specific cases
(mirror + subsurf + hand painted textures + low res models) we will try not using a compatibility option first.

perfection cat (sindra1961) added a comment.EditedMay 7 2015, 6:06 AM

@Antonis Ryakiotakis (psy-fi):
I confirmed that a problem was improved.

However, a different problem seems to be left.
I think that Merge Limit of mirror modifier does not work definitely.
2.74 .blend


2.49b .blend
(I saved it after I returned the setting of the language to English.)

Operation image of 2.49b
I reverse modifier stack.
[Merge Limit = 0.0]


[Merge Limit = 0.2]

[Merge Limit = 0.6]

[Merge Limit = 0.9]

[Merge Limit = 1.0]

Some transformation is not carried out in the revised version.

Operation image of revised version.


UV does not seem to be right. I see it in the same way in 2.49b.

The version that I confirmed.
version 2.74 (sub 5), branch b'master', commit date b'2015-05-07' b'00:12', hash b'165598e', b'Release'

Antonis Ryakiotakis (psy-fi) added a comment.May 7 2015, 8:55 AM

@perfection cat (sindra1961) looks like a diffrent issue, can you make another report? Fix commits will end up referring to the same task which will get very confusing if we keep fixing things here.

Antonis Ryakiotakis (psy-fi) added a comment.May 7 2015, 8:58 AM

Actually no need, looks like this is not an issue, see manual:

http://www.blender.org/manual/modifiers/generate/mirror.html

It's correctly beeing mentioned as distance between vertices (used to be distance between vertex and clip plane in 2.4)

http://wiki.blender.org/index.php/Doc:2.4/Manual/Modifiers/Generate/Mirror

perfection cat (sindra1961) added a comment.May 7 2015, 10:16 AM

@Antonis Ryakiotakis (psy-fi):
I see.
Because I think that the cause of this problem is mirror modifier, I make a different report.
Thank you.

Antonis Ryakiotakis (psy-fi) mentioned this in rBS236360c838a1: Change fix for T44530 which caused a "regression"..May 9 2015, 12:10 AM
Campbell Barton (campbellbarton) mentioned this in T48110: Subsurf UV is not working (correctly).Apr 11 2016, 12:52 PM