Easy Import 'merge geografts' morphs don't work with UV layer overlap

Issue #1412 resolved
Noel Lang created an issue

Daz Studio 4.21.05 | Blender 3.4.1 | Diffeomorphic 1.7.0.1428

Geograft morphs do not work with Easy Import ‘merge geografts’ setting on, due to UV layer overlap.

Steps to reproduce:

  1. Easy Import G8.1F + Favourite Morphs with Breastacular, NewGens and Licaklicious geografts and their respective morphs with the ‘merge geografts’ setting enabled.
  2. Test any of the geograft morphs after import, they do not work.

Work around:

  1. Easy Import G8.1F + Favourite Morphs with Breastacular, NewGens and Licaklicious geografts and their respective morphs with the ‘merge geografts’ setting disabled.
  2. Manually ‘merge geografts’ to G8.1F after Easy Import has completed, with ‘Allow Overlap’ enabled (disabled will create an UV overlap error).
  3. Geograft morphs work.

Comments (7)

  1. Alessandro Padovani

    I’m not sure what “allow overlap“ tries to avoid and I always turn it on. The tooltip tells “can destroy uv assignment“, but to me it makes sense that the base uv layers are always merged with overlapping uvs. Personally I would remove the whole options and always do it, also because it is mandatory for udims and to stack shells, but I understand others may have different needs.

  2. Noel Lang reporter

    It would be fantastic if at least there was an option in Easy Import to “allow overlap”, otherwise the geograft merging has to be done manually.

  3. Thomas Larsson repo owner

    Allow overlap is now an Easy import option.

    Merge Geografts uses Blender’s native Object > Join tool to merge the meshes (followed by Mesh > Merge > By Distance). This automatically combines UV layers with the same name, but sometimes the main UV layers have different names, like Base Female and Default UVs. In that case Blender creates two UV layers by adding UV coordinates at the origin for the faces that did not originally have UVs in this layer.

    This means that if some UV vertex is located away from the origin in several UV layers, it wasn’t generated by joining meshes but was present in both layers from the beginning. This is an indication that something went wrong and that merging those layers will destroy information. With Allow Overlap enabled, the UV layers will be combined anyway.

  4. Thomas Larsson repo owner

    Personally, I don’t merge geografts with Easy Import. Instead I complete the character with unmerged geografts (tweak materials, add visibility info etc.), save the blend file, and merge the geografts manually in a new blend file. In that way I can go back and add additonal morphs etc. without having to reimport the character.

  5. Alessandro Padovani

    Blender doesn’t allow a uv map to contain a subset of the mesh, all the vertices must be mapped in the uv map. This is why when we join meshes with different uv maps the zero uvs are generated.

    About your reasoning on uv vertices I don’t follow. If we merge uvs with “allow overlap“ the zero uvs will not be generated because all the vertices are mapped in the same uv map. And this is why I always use “allow overlap“. Unless I miss something that’s entirely possible.

    Anyway the extra option is good thank you Thomas for the fast fix. If there’s nothing to add we may mark as resolved.

  6. Log in to comment