When merging geograft, previous imported UVs are lost and UV distorted despite setting UDIM tiles

Issue #170 resolved
AB created an issue

Hello, this is perhaps a very niche problem, but I seem to be having a problem using a geograft without the included geoshell.
Purpose of not using geoshell as it doesn’t do the job of blending the texture well and having the geoshell means I cannot directly edit the texture via blender. This is a video I have been using to try and blend the texture. This has been relatively successful with JUST futalicious, with no distortion of UVs.

However, I have tried this with both G3F and G8F variants of the Futalicious + Roasty add-on with no success.

To illustrate the problem, this is both Futalicious and roasty pre-merge, post-importing the UV

This is just after merging Futalicious and roasty. Already, the UV is lost.

upon importing any UV maps, there is a strange distortion/loss of the texture, of which I cannot explain.

Would appreciate any help

Would be happy to upload any files if needed

Comments (23)

  1. Thomas Larsson repo owner

    I don’t have these assets on my current computer, but am pretty sure these genitals have several UV maps. The UVs displayed in the UV editor is the active one. You change the active UV map in mesh context. The merged mesh should render correctly, because the materials access UV maps by name, it is only the UV editor that cares about which map is active. You probably shouldn’t change the render UV map (the camera symbol to the right).

  2. AB reporter

    What do you mean by that? By merging, and rendering, as you can see on the last image, the UV map becomes distorted, thus rendering any material/texture I use being unusable? I was hoping that that during the merge, the geograft’s UV changes as well as additional UVs I load in are retained, but it appears that it doesn’t apply?

  3. Thomas Larsson repo owner

    I get a different behavior. Adding roasty to G8F adds in fact Futalicious + Roasty + shell. Importing this into Blender I get two UV maps for each geograft, and after merging there are three UV maps which are set up correctly. But if I remove the shell in DS and then import, the geografts only have the Default UVs.

    I don’t see any artifacts when rendering, though, with or without the specialized UVs

    Please upload your duf file, because I don’t understand this.

  4. AB reporter

    The artifacts appear when I try to re-import the UVs after merging the geografts, as far as I can tell.

    in regards to importing with shell, as I understand it, if I were to import the shells into blender, I lose the ability to directly edit the texture, isn’t it?

  5. engetudouiti

    Though I do not know your problem detail, but you can not import UV after merged mesh.

    To import UV work, the mesh need perfect same vertex counts and basically vertex order.

    In daz studio, even though you attach graft item, vertex count may not change, but if you merge mesh in blender, it means, your mesh change as real meaning.

    So it can not import UV anymore.

  6. engetudouiti

    Then what I think is, untill merge UV , you may need to locate UV correclty in blender. (move each mesh part UV to another UDIM layout 1010 etc) for grafted mesh.

  7. AB reporter

    In regards to the importing the UV after merging, that was more of a hail mary kinda deal, a last desperate attempt

    Regarding setting UDIM layout, I had also tried that, but the UVs still become distorted despite that.

  8. engetudouiti

    hmm,, could you show pic of blender UV layout untill merge mesh? Though I do not know detail of merge graft item which offered by script, (before I merged manually in blender with use snap tool for Actor + graft item (no shell))

    basically I do not see issue, when I merge G3fem + G3genitals (non daz official products) which I locate in 1011 and 1012 UV layout

    I do not have your mentioned products, so can not reprecate it,, but I may try manuall merging.

    That means, gather 2 or 3 meshes as one object with blender menu, , then adjust UV layout as UDIM, after that remove un-necessary part mesh which covered

    though sometimes you may need snap tool to correctly locate vertex on connect lines (it depend how product made.. )

  9. Thomas Larsson repo owner

    Now I see, you try to load the UVs after the meshes have been merged. That will not work, but the button did not check for consistency. I added a check which raises an error if there is a mismatch to prevent such confusion.

    In Blender, a shell corresponds to a node group in the material node tree, just before the output node. The texture nodes are inside the node group, so they can be edited in Blender.

  10. AB reporter

    My initial attempt does not involve importing UVs after merging. I attempt to import the UVs to the geograft first, then using the fix I linked to blend textures, I then attempt to merge these geografts together. However, on merging, I lose all the previously imported UVs

  11. engetudouiti

    At least from your pics, you do not change UVlayer as UDIM manner, untill “merge”. cursor show , each UV part locate on 1001 place.

    So did you use Finishing>Set UDIM Tile to locate UDIM Tile for grafted items?

    It simply change UVtile with your input number. (Or you need manuall transform for UV, with Blender UV tools)

    I do not know detail of your fix,, (so if it is related this problem), but if you locate each graft mesh UV as UDIM way (so there should not be any overwrap)

    after merge,, they just remain their, with cut out some overwrapped part .

  12. Thomas Larsson repo owner

    The problem should be fixed now.

    Merge geograft did throw away all unused UV sets, i.e. UV sets which did not have a UV map node in some material associated to it. The new behaviour only merges the render UV maps, which correspond to Texture Coordinates nodes. All other UV maps, whether used or not, are kept.

  13. engetudouiti

    It seems interesting future. Though I sitll not clear,, even though after merge mesh, add on can keep old uv maps (but mesh have changed vertex count etc,,)

    I may see how it work,, thanks.. hope new commits solve AB problem.

  14. AB reporter

    just downloaded the new commit to give it a go, additional imported UV maps are still lost on merging. Am unsure if I should first place them on a diff UDIM tile? Because they don’t seem to play nice

  15. engetudouiti

    I partially understand, what you trying, (I suppose you use 2 UV maps in node groups, to hide seams) is this tutoriall same as your procedure which you use?

    https://www.youtube.com/watch?v=xm0WRbxDZ1U

    then I do not know, actually your way will work after merged,

    But basically, untill “merge mesh” you may better, locate UVmap on different UDIM tile.. (so after merge, each UV locate on separate UDIM tile, without mix up in same UV tile)

    Could you show your node set-up of graft items, then show you how set optional UV as SS ? or you just import it but not activated how plug in merge UV may change with your node set-up.

    basically this plug in not suppose we have 2 UV sets on same mesh, when we merge. I think..

    plug in may try to merge UVmap of currently used for each mesh.. so un-used one, or about second UV sets they will not be merged, but just remain for each part. (after merged, new added poligon (merged mesh) UV will becom one “dot” then locate on (0,0) space, about secondry UV sets. I confirm. (so I do not know if it is what you hoped)

  16. Thomas Larsson repo owner

    The problem may be that the wrong UV map was the render map (with the white camera icon to the right). The render UV map is the one that the texture coordinate node uses. The Merge Geografts button merges the render UV maps into a single one.

    The correct render map for genitals is the background torso, because that map is what we want to join with the body. However, the Load UV button made the newly loaded UV map into the render map, which is wrong. That is corrected in the latest commit.

  17. AB reporter

    Is it possible, post importing geografts, to still retain their own UV maps that i imported?

    In regards to this geograft, I want to import futalicious genitalia UV2 then when I merge the geograft, I still have the Futalicious genitalia UV?

  18. engetudouiti

    If you import futralicious UV2 untill merge mesh,, now futa have 2UV (UV1 and UV2)

    you need to choose which one will be merged with Actor mesh.

    eg if you set futa_UV1 as Active render UV, plug in merge actorUV with futa_UV1, then generate new clean UV. and still remain futa_UV2. but futa_UV2 only keep UV layout about the vertex which used for futaricious. added Actor mesh vertex may turn as one dot in (0, 0) space, when I test.

    If it is what you hoped, it work as you expected. I suppose you can still use the futa_UV2 for futa mesh part of merged mesh, in your node group set-up etc. (but about actor body parts vertex it corrupt so it depend how you use those uv sets)

    I suppose if you hope to generate mergeUV1= futa UV1 + actor UV

    and mergedUV2 = futaUV2 + actor UV, then both keep original UV layout . but at current plug in not work so.

    If I were you, I may prepare 2 scene, which change active UV , then merged. so now you may get 2 different clean merged UV for each scene. you can append or import for merged mesh I suppose.

    (though I do not know if it is what you need or not)

  19. Thomas Larsson repo owner

    To reiterate, there are three kinds of uv maps:

    1. Render uv maps, corresponding to the texture coordinate node in the materials. Such uv maps are merged.
    2. Named uv maps, corresponding to uv set nodes. They are left unchanged.
    3. Unused uv maps, not appearing in the materials. They used to be deleted, but are now kept unchanged. That is the bugfix.
  20. Matt Bella

    Seems like its just a shitty broken product. It clearly does not work and should be boycotted if they can’t fix it. You get what you pay for I guess. Pretty shitty there is no alternative.

    Merging geografs deletes the uv…what the hell. Months of this shit to no avail. Tutorials promising the solution, broken links and a bunch of bla bla bla. Yet it doesn’t work still huh.

    So diffeomorphic genitals to Unreal Engine is a no go.

  21. Log in to comment