[Bf-funboard] an idea for unwrapping enhancement....

brefromjeu brefromjeu at gmx.fr
Fri Nov 1 10:07:27 CET 2013


Hi blender dev team

First of all am not sure wether i should or not post here. I'd like to 
submit an idea, as a blender user,
wich is a thought born from my experiences of blender use.
Second i apology for my english wich is very approximative, and i hope 
it won't be a problem.

So let me start with this idea i want to submit to developpers criticisms

As a start i think i should introduce myself and my work: I'm a former C 
and C++ developper ( i almost
don't code anymore ) and am currently using blender for 
modeling/texturing/animating models that
will be used in a realtime environment. Therefore i got constraints on 
triangles numbers, UV layers
limited to 2 and textures size limit and numbers.

When i unwrap my meshes i very often use pinned UVs. I always map all my 
models by hand, and
for the diffuse layer, overlapping islands is not a problem at all for 
me. The deal comes with AOmaps.
Here, each face must have it's very own texture space for proper AO 
baking. For unwrapping my
meshes i use lightmap unwrap wich explodes all the model faces in quads 
and tris. And here's the
beginning of my thought: sometimes i'd want to keep parts of my mesh in 
a whole island with
connected UVs instead of separated ones. The 2 reasons for this is that
1) it often give better visual results for AO
2) it always take less texture space than separated islands, wich, for 
my special case, is important

What i'd like to do could be achieved by making pinned UVs ( previously 
unwrapped in any way and
possibly hand-reworked ) not reset by an lightmap unwrap. OK, you can 
tell me just not to keep the
previously unwrapped faces selected when i use the lightmap unwrap ! But 
in this case the lightmap
unwrap of the remaining faces will take the texture space used by the 
previously unwrapped faces !
And this simply fucks up the AO baking as this would make overlapping 
islands.
I can also move each face by hand but it's only possible for models with 
few faces. When you have
1000+ faces 'lightmap unwrapped' it's not a valuable solution....
Then, when using lightmap unwrap, it would really be awesome and 
extremely handy for many other
cases than for lightmaps unwrap to prevent the unwrap algorythm from 
modifying pinned UVs. This
implies that ( for lightmap unwrap that prevents island overlap ) the 
UVs that will be unwrapped with
the lightmap method won't use the surface used by the pinned UVs.
With the combination of such a method and the possibility to unwrap only 
selected faces of a model,
this would easy a lot the life of the user and allow to handle all the 
possible needed cases for
unwrapping faces with or without overlapping. The user just chooses what 
he wanna do, provided he
knows what he wants, and how to do it.

Of course i imagine if what i need is implemented the cases where the 
lightmap unwrap is not possible !
eg i already got a quad island with pinned UVs, taking all the texture 
space. in this case and some other
where the pinned islands leave too few space to the faces to be 
unwrapped with lightmap method. In this
case and when scaling down the islands to be unwrapped at the max give 
too small islands or just simply
there's not enough space ( that could be estimated through the surface 
calculation of the remaining texture
space VS the needed texture space ) it's of course normal that blender 
comes in error with a message like:
'not enough texture space'.

So.... what do you think about this idea ? I guess you got remarks Would 
it be tough to implement,
needing a whole rework of the unwrap core ? Is it simple-like-walking to 
implement ? I think it's easier on
a way, because for lightmap unvrap the code handles all the faces 
independantly, wich is not the case for
the basic unwrap that ( for it's case ) don't overlap islands when 
unwrapping a set of faces ( however it
don't take care of previously unwrapped and pinned islands and overlaps 
them ).

At last but not least, if needed i can provide you some 
pictures/screenshots etc of what i'd like to
illustrate my words. And i could also take some time with a dev or dev 
team for digging the case.

Thanks in advance for reading all this and sorry if i'm off-topic or 
simply at the wrong place .


Best regards.

Cyril/pitibonom.


More information about the Bf-funboard mailing list