UV not imported on duplictate objects

Issue #1644 resolved
Rakete created an issue

When I import a scene with multiple objects (not instances) all sharing the same material, then the UVs of the duplicate objects seem to be missing.

One of the imported objects always gets the correct UVs applied. Then all duplicates of that object do not. If I only save one of the duplicates alone and import it, it does get the UV applied, so it only seems to be an issue when importing multiples at once.

See the attached screenshot for an example, all of the chairs should have the green texture, but only one has it.

I can fix the problem by selecting all of them and doing F3 → Copy UV Maps

While trying to create a simple test scene to reproduce the problem, I noticed it only happens for some assets, not all of them..

Comments (12)

  1. Alessandro Padovani

    daz studio 4.21.0.5, blender 3.6.0, diffeomorphic 1.7.1.1680

    I can confirm the issue, it happens when we duplicate objects in daz studio with edit > duplicate. Test scene included dupli.duf where I duplicated a simple cube. The original comes with the texture while the duplicate doesn’t get the texture.

    steps:

    1. import dupli.duf

  2. Alessandro Padovani

    note. linked data blocks.

    I’m not an expert on this matter, but it doesn’t seem that duplicates in daz studio link any data block. That is, I can change materials and morphs in the duplicate. May be they link the geometry as base mesh. Perhaps @Rakete can help better here.

    Below an example were I added a different texture to the duplicated object in daz studio. Even in this case the duplicate doesn’t import the texture in blender.

  3. Thomas Larsson repo owner

    Fixed in last commit.

    UV sets keeps a list with the geometries for which it has been built, to avoid that the same uv set is added twice to the same mesh. However, this list used the geometry names, which is the same for both meshes (the name of the underlying geometry = geometry-1), and therefore the uvset was only built for one of the meshes. Now I use the mesh names instead (geometry-2 and geometry-3), which are different and therefore both meshes get uv sets.

  4. Log in to comment