Change fix for T44530 which caused a "regression".
Looks like the previous commit here is really correct and fixes cases of distortion that were in mirror-subsurf combination since blender 2.5. This may cause some changed files in which case we will be adding an option, but it is expected this will only happen with low res models, and hand painted textures, and the better distortion here compensates for that enough to consider not adding a compatibility option yet. Leaving the facemap winding argument as is just in case we do consider to add the option.
This commit is contained in:
parent
e73f1035d7
commit
236360c838
Notes:
blender-bot
2023-02-14 08:55:40 +01:00
Referenced by issue #45314, UV unwrapping no longer does a correct "project from view" on subsurfed obects.
|
@ -300,7 +300,11 @@ static int ss_sync_from_uv(CCGSubSurf *ss, CCGSubSurf *origss, DerivedMesh *dm,
|
|||
float uv[3] = {0.0f, 0.0f, 0.0f}; /* only first 2 values are written into */
|
||||
|
||||
limit[0] = limit[1] = STD_UV_CONNECT_LIMIT;
|
||||
vmap = BKE_mesh_uv_vert_map_create(mpoly, mloop, mloopuv, totface, totvert, 0, limit, false);
|
||||
/* previous behaviour here is without accounting for winding, however this causes stretching in
|
||||
* UV map in really simple cases with mirror + subsurf, see second part of T44530. Also, initially
|
||||
* intention is to treat merged vertices from mirror modifier as seams, see code below with ME_VERT_MERGED
|
||||
* This fixes a very old regression (2.49 was correct here) */
|
||||
vmap = BKE_mesh_uv_vert_map_create(mpoly, mloop, mloopuv, totface, totvert, 0, limit, true);
|
||||
if (!vmap)
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue