[Solved] Merging multiple UV/Textures into one

Community Forums/General Help/[Solved] Merging multiple UV/Textures into one

RustyKristi(Posted 2016) [#1]
Any free/opensource recommended tool that can do this task? I need models with only 1 texture set/uv.

Thanks


markcw(Posted 2016) [#2]
Lithunwrap 1.3 (early version of UU3D) should be able to do this.
http://www.geeks3d.com/20090303/lithunwrap-free-uv-mapper-for-windows/


RemiD(Posted 2016) [#3]
You can probably do that in code, but only if the textures are applied on a surface with the same material/brush.


RustyKristi(Posted 2016) [#4]
Thanks munch! I'm trying Lithunwrap now.. :)

@RemiD Great, if it is simple to create this by code then I would be interested going this route.

Basically I need just a unified UV map from 2 or 3 uv maps of a model.


RemiD(Posted 2016) [#5]
For not skinned meshes (without influences of some joints/bones over some vertices) or for skinned meshes (with influences of some joints/bones over some vertices) ?

If the meshes (and thus surfaces) are not skinned it will be easier, else it is doable but more complicated.

Each surface has a texture with the same size (width and height) or not ?

If you are ready to create each final texture manually (one big texture with several small textures) it will be easier, if you want to have a routine create it automatically it is doable but more complicated.


RustyKristi(Posted 2016) [#6]
Still having problems with LithUnwrap, can't find any tutorial to follow. I was hoping more of an automated thing as I need to convert a lot of models to speed up the process.

@RemiD
Nope, apparently the texture sizes varies with material.

If you are ready to create each final texture manually (one big texture with several small textures) it will be easier, if you want to have a routine create it automatically it is doable but more complicated.


yes, I'm expecting this to be the case.


RustyKristi(Posted 2016) [#7]
..Settling for some good tutorial that I found in youtube to just bake all textures into one using blender. If you guys have other better suggestions, let me know and thanks for the infos as always! :)


RemiD(Posted 2016) [#8]
For a not skinned mesh you can analyze your source mesh and rebuild it inside Blitz3d with one surface and one texture.

For a skinned mesh, same thing but you will probably have to recreate the skeleton (with joints/bones) and set the influences of some joints/bones over some vertices (see : http://www.blitzbasic.com/Community/posts.php?topic=105408 ) or maybe it is possible to import an empty skeleton with joints/bones and animations and set the influences of some of these joints/bones over some vertices of the rebuilt mesh (with one surface and one texture)

To determine the new UV coords of each vertex, here is an example :
Let's say you have 3 surfaces, 3 textures
SurfaceA with a texture of 512*512
SurfaceB with a texture of 256*256
SurfaceC with a texture of 128*128
The final texture must have its width and its heights be a power of two (2 or 4 or 8 or 16 or 32 or 64 or 128 or 256 or 512 or 1024 or 2048)
So in this case we could use 1024*512
Let's assume that each texture is positionned one aside the other
SurfaceA vertices new UV coords will be (oldU#+float(0)/1024,oldV#+float(0)/512)
SurfaceB vertices new UV coords will be (oldU#+float(512)/1024,oldV#+float(0)/512)
SurfaceC vertices new UV coords will be (oldU#+float(512+256)/1024,oldV#+float(0)/512)

That's the idea...

It works well except if the surface has negative uv coords, this can happens with some softwares (like 3DWorldStudio) to indicate that a texture is flipped on the xaxis or in the yaxis... (probably during 3d rendering...)