Jump to content

How DID I get double UVs?


Pamela Galli
 Share

You are about to reply to a thread that has been inactive for 2620 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

I made a thing out of six meshes, exported them unjoined. In SL the texture was messed up on three of the meshes, so I looked and found that these three each had two meshes with the same name (all UVMap). I had re-uved all six meshes. What I am wondering is how I wound up keeping the old UVs with those three meshes? What could I have done or not done to cause this?

Link to comment
Share on other sites

I have never done what you are doing but I do know that you need to RENAME the UV maps when you have imported objects (hence more than one map) BEFORE you join them. Then all works fine uploading the new object and keeping the UV mapping.

The only thing that I can think that might work would be to give each object its own material (or possibly vertex group as I don't use those or understand them but you might :D) , change the name of the UV maps to be the exact same, JOIN the objects, then use the materials setting to separate the mesh again.(I am assuming you need it not to be joined - hence the issue) and export the linkset.

LOGICALLY that should work, but I have never had the occasion to do that.

Redoing the UVs has NO effect on this issue in my experience (I tried that just the other day when I forgot about the multiple UV map issue (I rarely import objects into a file and so I forget :D). 

 

If you can JOIN them before export and have renamed the maps before joining, that works well -- at least in all my tries it has.

 

 

 

Link to comment
Share on other sites

I fixed the problem easily enough, I just wonder how I created it in the first place. I would not have any idea how to create a mesh with two sets of UVs on purpose.

I always rename the UVs of imported things UVMap, just in case I decide to join later. But that just meant I had two UVs for each mesh with the same name: UVMap. I don't know why the old one persisted when I re-upwrapped and made a new UV. I must have done something to those three meshes that I did not do to the other three.

Link to comment
Share on other sites

I mistyped it when I renamed the mesh. At that point it had some other name -- one name. Then at some point after I re unwrapped, it wound up with two UVs.

I would not have any idea how to create two UVs for one mesh, but I seem to do it by accident periodically. 

Link to comment
Share on other sites

This text refers to Blender. However other tool users may still get some insight from the following:

UV Maps in a nutshell

a UV Map is a list of relations between plane areas on your mesh in 3D space and plane areas in your textures in 2D space.

A UV Map is not an image!

Each mesh can have 0 or more different UV Maps. Initially a mesh has no UV Map at all. You create a UV Map by unwrapping the mesh. In Blender you get a UV Map created automatically during an unwrap if the mesh does not yet have one. In that case the UV Map is named "UVMap".

You find the list of UV Maps of an object in the Object data properties (the Mesh properties) This list is named "UV Maps". Here you can add or delete UV Maps. Any follow up unwrap will always overwrite the active UV Map (the one marked with the blue background) You can rename your UV Map to anything you like. The name of the UV Map is only used for organizational purposes.

Joining objects, joining UV Maps

If you join 2 or more objects, then their UV Maps (if they have any) are joined as well. Following rules apply:

 

  1. UV Maps with same name in the objects are merged.
  2. UV Maps with different names are added

In practice most unwrapped Objects use the UV Map name "UVMap". Hence joining 2 objects also merges their UV Maps. Sometimes an object uses different UV Maps for different purposes (You can do a lot of magic with different UV Mapping in Blender). In that case the joined object will get a melange of merged maps and added maps. How this can be useful i do not know. But i also see no way for blender to do it better in that case.

Sometimes the joined objects parts each have only one single UV Map but with different name. In that case the joined Object ends up with a list of UV Maps from its parts. This may be interesting when you want to have clearly separated UV Maps for each part of your mesh. However IMHO this has no practical use in Blender.

UV Map merge has changed with newer Blender > 2.73

In earlier versions of Blender the UV Maps have been merged/added according to their list index, hence when 2 objects have each one UV Map only, but with different name, the joined object had the UV Maps merged into one single UV Map (due to the same list index 0)

In newer versions of Blender the UV Maps only get joined when they have the same name. This obviously can lead to confusion when you do not know anything about what UV Maps are, how they get created used and maintained.

UV Maps, Textures and Materials

A UV Map defines a mapping between your object surface and image areas. So you still need to provide textures which match to your UV Map. Thus you always have:

 

  1. The mesh (3D space)
  2. The Texture (2D Space)
  3. The UV Map (to relate the Mesh to the Texture)

But note: In Blender you can have many textures for different parts of your UV Map. Actually you can map each triangle of your mesh to a different texture if you like (in general this does not make sense).

In Second Life you can have up to 8 texture faces (areas on your mesh which can be assigned to individual textures). This is also related to the UV Mapping but not as straight forward as you might think in first place:

Blender supports 2 ways to assign textures to your mesh. Above we have only talked about direct mapping, that is assign parts of your mesh to parts of your image.

But you also can use Materials for this. Here you add one level of indirection to the system:

 

  1. The mesh (3D space)
  2. The Material list
  3. The Material Textures for each material (2D Space)
  4. The UV Map (to relate the Mesh to the Texture)

A Material creates a by far more complex relationship between your mesh and your texture(s). However if you want to make use of multiple texture faces in Second Life then you must use Materials (one for each texture face).

UV Maps in Second Life

In SecondLife mesh objects only support one single UV Map although this map can be assigned to up to 8 texture faces (See above). This needs to be taken into account when you export your objects from Blender. The Blender default exporter has 2 options:

 

  • only selected UV Map: so you can decide which UV Map is used in cases where your object has multiple UV Maps.
  • include material textures: to get the textures from your Material set (you want that!)

Note that recently LindenLab has improved their SL Importer to "support more than 8 texture faces per object" While this is true on user level, technically the SL Importer cuts your object into pieces and creates a link set. Check it its true :matte-motes-sunglasses-3:

 

And Youtube is your friend

Here is a short video where i tried to explain how UV Maps actually work:

I hope this is useful and not too overwhelming. However i realise that whatever is related to 3D content creation quickly seems to become a complex thing. But... take your time. Things always sort out eventually.

Link to comment
Share on other sites


Drongle McMahon wrote:

Note that recently LindenLab has
improved
hacked
their SL Importer to
pretend it wil
l
"support more than 8 texture faces per object"

FIFY :matte-motes-evil-invert:

 

:o !!!

Drongle is right as always of course, but usually he's very polite and diplomatic. I never thought I'd see him use words as strongs as these.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2620 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...