Multiple Geoshells issue

Issue #1088 resolved
Maneki created an issue

There was a bug that shaders for geoshells didn’t get set up correctly in a more recent past. It got fixed but seems to be broken again due to material and shader changes. I have a character with 2 geoshells on the eyes with different distance to each other and layered but it seems that the newer daz importer version doesn’t even load the 2nd shell anymore.

Comments (27)

  1. Alessandro Padovani

    Multiple shells seem to work fine here. As a possible workaround you may try to uncheck “prune node tree“ in the global settings, to see if the second shell was pruned for some reason. I remember a issue with the flower power eyes some time ago but can’t remenber what was the cause and how it was fixed. Can’t find anything on the tracker either.

    Plus I don’t have the flower power eyes so I can’t test.

    You may want to upload just the textures you use in a simple test scene so we can test, but it wouldn’t be allowed by the daz eula.

  2. Maneki reporter

    @Alessandro Padovani Your suggested workaround doesn’t seem to work, it still only loads one shell.

  3. Maneki reporter

    @Alessandro Padovani No errors besides it saying invalid meshes for the eyebrows for some reason when I import the model.

  4. Alessandro Padovani

    Invalid mesh means that blender has to fix the mesh because there’s something wrong. This is a blender requirement not a plugin requirement. When this happens the vertex order may be changed and you may not be able to load morphs.

    As for the power eyes the only way is if you can upload a test scene with textures. As simple as possible. Unless Thomas has the power eyes to check.

  5. Thomas Larsson repo owner

    I don’t have the power eyes either, but in other cases multiple shells can be loaded, e.g. GP shell + ultimate moisture. In that case I had to switch the node tree for the UM shell for GP_Torso to Torso and merge UVs.

  6. Maneki reporter

    Yes, generally multiple geoshells work. I tried to create a simple test scene with 2 geoshells but different base colors and see if it loads both shells and it does so I assume it’s related to some specific shaders. I’ll dig deeper into it.

  7. Maneki reporter

    @Alessandro Padovani I downloaded the newest dev version and tried it. It doesn’t seem to fix the issue in this specific case.

  8. Alessandro Padovani

    Please provide a test scene with the textures since we can’t test “flower power“ and all the other products with eye shells seem to work fine. Or I’ll close as “invalid“ since we can’t reproduce the issue.

    note. Also check that you updated both the importer and the exporter.

  9. Maneki reporter

    I did further testing, when I create new shells, apply uber iray to all materials and then copy paste the iris and the pupils from the flower shells it works. When I completely copy the materials from the new shells back to the flower shell it doesn’t work. When I rename the flower shells it doesn’t work either. I’ve no clue what’s exactly the issue but it seems to be product specific.

  10. Alessandro Padovani

    You could also provide a test scene using flower power then we can try to replace the missing textures.

  11. Alessandro Padovani

    I loaded your test scene. Apart the missing textures, there’s something very odd with the flower power shells. That is, they are loaded as primitives, not as shells, thus they miss the shell attributes as visibility for example. I wonder how is it possible that they worked in a previous version of the plugin as you noted above.

    Can you confirm that flower power doesn’t get the shell attributes, thus it’s not shells ?

  12. Alessandro Padovani

    May be this shell has a custom uv map and this is why it’s not loaded correctly on my side. If so I may need the flower_power_iris_shell.dsf with the custom uv. @Thomas This could also be the reason why the shell doesn’t work if the plugin is not looking for the shell custom uv, as I noted in #1128.

  13. Maneki reporter

    In my scene they are displayed as shells and I switched it to the 8.1 female UV map (still doesn’t work in Blender).
    It was original set to “Base Female”, I can’t see any custom UV map.

  14. Alessandro Padovani

    It doesn’t load fine here because of the missing dsf so I can’t test unless you provide it.

    Check the latest commit and see if it works. Again, you have to update both the daz and blender scripts, then resave the dbz, to be sure everything is up to date.

    edit. note. Be aware that changing the uv map on shells in general is not a good idea. The shell textures are designed for the specific shell uv map, if you change the uv map then the textures may not fit anymore, depending on the new uv map. In this case, may be the G8 and G81 uv maps for the irises are the same, but you got lucky.

  15. Alessandro Padovani

    daz studio 4.15.0.30, blender 3.2.2, diffeomorphic 1.6.2.1155

    I can reproduce the issue. There are two shells in daz studio but only one shell is created in blender. I managed to create a flower.zip package for @Thomas to test. The package is to be installed as usual by unzipping into the content folder.

    Below there’s daz studio with two shells.

    Below there’s blender with one shell.

    steps:

    1. Install the the test package flower.zip as usual, by copying the files into the daz content folder. There’s the flower.duf scene, the dsf, and some textures.
    2. Import the flower.duf test scene.

    edit. Note for @Maneki. Of course we assume that you didn’t edit directly the duf or dsf files thus causing possible bugs. Please confirm.

    edit. Note for @Thomas. If we look at the duf file we see that the two shells get the same name but different ids. If this confuses the plugin then it’s a bug because items can have the same name, it’s the id that matters.

    important. If I try to give two shells the same name in daz studio it doesn’t allow it by the user interface. So may be @Maneki edited the duf file, or the PA did it. In any case I feel we may handle the case with the same name and different ids. Let us know what you think.

  16. Thomas Larsson repo owner

    No progress so far. The problem is not id vs name, but that we have two instances of the same shell. Both shell have the same url

    "url" : "/data/ForbiddenWhispers/FlowerPowerEyeGeoshells/Genesis%208.1%20Female%20Shell/Flower_Power_Iris_Shell.dsf#Flower_Power_Iris_Shell",
    

    The plugin does not handle multiple nodes with the same url very cleanly. In the beginning there was no distinction at all, so if there were several copies of the same node in DS only a single object was generated in Blender. I got around that issue eventually, but it seems to linger for shells.

  17. Alessandro Padovani

    If it may help. As I understand it the url is a pointer to the “definition“ of an object, something that defines how the object is made and what are the object properties, the same as a class definition in a programming language. Then the object definition is used to create multiple instances of the object.

  18. Thomas Larsson repo owner

    Yes, I understand that now, but the data structures have been set up in a poor way because I didn’t understand it properly in the beginning. Unfortunately there is too much legacy code to change now, so I will try to find a patch for shells instead.

  19. Thomas Larsson repo owner

    I think the issue is fixed now. At least in the test file two shell groups are created.

  20. Alessandro Padovani

    Commit e17cb0c works fine here. I also tried to add more shells by duplicating. If @Maneki has nothing to add we may mark as resolved.

  21. Maneki reporter

    I downloaded the newest commit and tried it with my character. It seems to work now. Thank you!

  22. Log in to comment