missing uv map

Issue #934 resolved
Alessandro Padovani created an issue

daz studio 4.15.0.30, blender 3.1, diffeomorphic 1.6.1.0923

This is reported by Surody at the daz forum. It seems that sometime the plugin doesn't import all the necessary uv maps. I can provide a test scene jeans.duf that's G81F wearing the Hamaleon's Easy Jeans. Please note that G8F works fine, it's only G81F that doesn't work.

https://www.renderosity.com/rr/mod/bcs/easy-jeans-for-genesis-8/147806/

The easy jeans is a shell with a custom uv map and some jeans textures. If we look at the test scene in daz studio we see that the shell uses the "Easy Pants" uv map. If we import the scene in blender the "Easy Pants" uv map is not imported.

Then I can import the missing uv map with the "load uv set" tool and everything works fine.

C:\Users\Alessandro\Documents\DAZ 3D\Studio\My Library\data\DAZ 3D\Genesis 8\Female\UV Sets\hameleon\Easy Pants\Easy Pants.dsf

Please note that in this case the uv map is not in the G81F folder, but it's in the G8F folder, because the jeans shell can work both for G8F and G81F. May be this is why the plugin can't find the shell uv map if it only looks in the G81F folder.

If the uv map can't be found in the local folder, then one possible workaround could be to go up one level in the folder structure and search again, until the uv map is found, or until we reach the data folder. This way we take the "closest" uv map available. I mean if it's not possible to retrieve the exact uv path from the duf file.

# search for uv map (I know this is a shit pseudo code)
while uv map is not found
    uv map = search in current folder
    current folder = go up one level
    if current folder = "Documents\DAZ 3D\Studio\My Library\data\" then exit

Comments (11)

  1. Alessandro Padovani reporter

    note. Otherwise if this is a known limitation and the plugin can’t find an external uv map then it is enough to explain this in the docs.

  2. Alessandro Padovani reporter

    UPDATE.

    There’s another issue, always reported by Surody. If I use Victoria 8.1 instead of G81F then the shell material goes nuts. I mean all the shell diffuse textures are ignored by the plugin so the shell doesn’t get any input. I also tried to disable “prune node tree“ in the global settings to see if I could get the not connected textures but I got nothing. I don’t seem to get any warning for missing textures either. The only difference here is that Victoria 8.1 uses a pbr skin while G81F uses a uber skin. But the shell material is always uber so this shouldn’t be an issue.

    Please Thomas let me know if you happen to have any Hamaleon’s easy clothing, they’re all the same. Otherwise I’ll see if I can build a test scene in some way but it may take a while.

  3. Alessandro Padovani reporter

    UPDATE. SIMPLE TEST SCENE FOR PBR SHELL

    Ok I managed to build a simple test scene for the pbr shell, to reproduce the issue was easier than I thought. It’s a uber shell on Victoria 8.1. It doesn’t get imported correctly in blender the diffuse color is missing.

    Please note that in daz studio the figure materials and the shell materials are independent. That is, the figure could use any shader and the shell could use any other shader. Plus there can be a different shader for every surface thus both the figure and the shell may get multiple shaders. Though the typical case is for the uber or pbrskin shaders to be used in G8.

  4. Alessandro Padovani reporter

    As for commit 83b995b the cutout opacity of the shell is not imported correctly. It’s opacity = 0.5 in shell-pbr.duf but it’s imported as full opacity.

  5. Alessandro Padovani reporter

    Commit fc9d62e seems to works fine as for the uv map. I have some information by Richard Haseltine of the daz forum who’s a good expert of daz studio, if it may help. From what I understand it should be enough to scan the base figure so G8F and G81F in this case.

    from Richard:

    For miorphs, projection templates, UVs etc. DS reads the files in the appropriate sub-folder of the base asset folder (e.g. /Data/Daz 3D/Genesis 8/Female/) in all connected Daz Studio Format content directories. So, to match the DS behavious Diffeomorphinc would need to be given and to scan a matching list of content directories.

    There’s still the bug with the shell opacity as reported above.

  6. Thomas Larsson repo owner

    The plugin missed the case that the cutout opacity is < 1 but there is no texture. It is now handled correctly. I also changed the invert node to a subtract node, to avoid going back and forth between scalar and color sockets. This doesn’t seem to change anything.

    The plugin indeed does what Richard suggested: Scan the right UV Sets directory, and if that fails it tries to replace G8F with G81F or vice versa, The function that scans directories for assets already existed; it is also used to find vendor morphs when transferring morphs.

  7. Log in to comment