Why does the Golden Palace Genesis 9 transformation not work in blender

Issue #2061 resolved
mi created an issue

Comments (20)

  1. mi reporter

    thank you for your help

    importer 1.74, blender 4.1.1

    You can import transforms in blender, but they won't work , No change in the model

  2. Alessandro Padovani

    importer 4.1.0.2132, blender 4.1.1

    Yes I can confirm there’s a issue with the widen morphs. Here I can’t even import them I get an error. Test scene provided g9-gp.duf, it’s G9 with golden palace and some widen morphs marked as favorites.

    steps:

    1. easy import g9-gp.duf with daz favorites and geografts

      File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\load_morph.py", line 1266, in buildBoneDriver
        self.makeSplineBoneDriver(path, uvec, xys, rna, channel, -1, bname, keep)
      File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\load_morph.py", line 1344, in makeSplineBoneDriver
        self.makeBoneDriver(string, vars, channel, rna, path, idx, keep)
      File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\load_morph.py", line 1395, in makeBoneDriver
        self.addToMorphSet(raw, None, True, self.useProtected)
      File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\morphing.py", line 679, in addToMorphSet
        pgs = self.findPropGroup(prop)
              ^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\morphing.py", line 1454, in findPropGroup
        return getattr(self.rig, "Daz"+self.morphset)
                                 ~^~~~~~~~~~
    TypeError: can only concatenate str (not "NoneType") to str
    Location: C:\Program Files\blender-4.1.1-windows-x64\4.1\scripts\modules\bpy\ops.py:109
    

  3. Alessandro Padovani

    update.

    I see “glutes widen” alone imports and works fine, so the issue seems limited to “leg widen“.

  4. Thomas Larsson repo owner

    The crash should be gone in the last commit, but to fix this completely is going to take time. The GP_LegWiden morphs are complex, because they are driven both by several sliders and also by the thigh bone rotations, and this is something that I have not encountered before.

  5. Alessandro Padovani

    update. Last commit bc485c7

    The widen morphs work fine both for glutes and legs, wonderful upgrade on the formulas thank you for the fix. An error appears with “make hidden sliders“ in global settings.

    steps:

    1. easy import g9-gp.duf with daz favorites and geografts

  6. Thomas Larsson repo owner

    Now I could reproduce the crash too. I don’t understand why I didn’t see it before, but anyway it should be gone now.

    Mi’s original issue should also be fixed, hopefully. The way the plugin dealt with formulas was one of the murkiest parts of the code. It has been cleaned up a lot now, but this is a rather major update so some new bugs may have sneaked in. All files I have tested seem to work though.

  7. Alessandro Padovani

    Commit fb4b3c4.

    The error is fixed thank you. I pushed the test file further adding vagina and anus open to the favorites. They both don’t work. The test is complex because I selected as favorites the preset morphs on G9 which drive the other various morphs on G9 and GP to get the complete effect. Selecting the single morphs instead of the global presets seem to work fine.

    steps:

    1. easy import g9-gp-2.duf with daz favorites and geografts

    Let us know.

  8. Alessandro Padovani

    p.s. possible workaround. As a general workaround, when we have such a massive set of complex morphs driving each other, we may opt for saving dbz files of the morphs we want, then “import dbz morphs” from advanced setup. This way the relations are baked to single morphs, that's better suited for blender. This also works with ERCs.

  9. Thomas Larsson repo owner

    The vagina and anus morphs don’t work, because the plugin doesn’t find them, and the files don’t contain anything interesting anyway. The only info in the duf file is

    "favorites" : [
        "GP_LegWiden2_Both",
        "GP_LegWiden1_Both",
        "GP_GlutesWiden2_Both",
        "GP_GlutesWiden1_Both",
        "GP_Vagina_Open/Value",
        "GP_Anus_Open/Value"
    ]
    

    However, there are no files called GP_Vagina_Open. If we look at the parameter settings, we see that the file name is GP_PR_Vagina_Open.dsf. To make that connection the plugin needs to scan the database. Which is doable, but unfortunately it does not help in this case.

    There are files with this name both for G9 and GP9, but neither does anything interesting. They just define the slider, visible for G9 and hidden for GP9. The real action happens in the files called GP_Vagina_Open1,2,3,4,5.dsf. E.g. in GP_Vagina_Open2.dsf we have the formula

    "output" : "GoldenPalace_G9_9694:#GP_Vagina_Open2?value",
    "operations" : [
        { "op" : "push", "url" : "GoldenPalace_G9_9694:/data/meipex/GoldenPalace_Genitalia_G9/G9GoldenPalace_Graft/Morphs/meipex/Base/GP_PR_Vagina_Open.dsf#GP_Vagina_Open?value" },
        { "op" : "push", "val" : [ 0, 0, 0, 0, 0 ] },
        { "op" : "push", "val" : [ 0.25, 1, 0, 0, 0 ] },
        { "op" : "push", "val" : [ 0.5, 0, 0, 0, 0 ] },
        { "op" : "push", "val" : 3 },
        { "op" : "spline_tcb" }
    

    which drives the GP_Vagina_Open2 shapekey. Again this requires scanning the database, and besides spline drivers don’t (yet) work for properties.

    What does work is loading the GP_Vagina_Open1,2,3,4,5 morphs with Import Custom Morphs.

  10. Alessandro Padovani

    Commit 397d51b.

    Thank you for looking into this. I understand “daz favorites” does some simplification compared to daz studio, thus it can’t always find all the needed files, even if we use the database which I don’t. This is acceptable in my opinion and it is what “import custom morphs” is for to handle complex cases by hand.

    On this end it would be useful if the addon could show an error as “Some morphs are not found for daz favorites, please look at the terminal for the list. You can try to import custom morphs instead.”. I tried “show in terminal“ and “verbosity 3” in the global settings but couldn’t get any useful information, the importer just failed silently. Let us know.

  11. Alessandro Padovani

    Commit 4b43bd1.

    I see there’s warnings for missing favorites, thank you for the fix. I’m confused though, I enabled “verbosity 3“ and “show in terminal“ in the global settings but I don’t see the GP9 morphs list, only some asterisks are displayed without names. Is this a bug or do I miss something ? How do we display the names in the terminal ? Let me know thank you.

    steps:

    1. easy import g9-gp-2.duf with daz favorites and geografts

  12. Thomas Larsson repo owner

    The morph names are always suppressed in easy import. To see them you need to import the facs or standard morphs manually.

    • Show in terminal enabled: Show names in manual import and asterisks in easy import.
    • Show in terminal disabled: Show asterisks in manual import and nothing in easy import.

    I agree that this is not super intuitive, but I wanted to limit the output from easy import to avoid that interesting info disappears from the terminal window.

  13. Alessandro Padovani

    Ok so the only way to troubleshoot is to do manual import. At least we have the error message so we know that “daz favorites” has troubles and we have to go with “import custom morphs” to fix things.

    Then if there’s nothing to add we can close as resolved. Being this a known limitation.

  14. Log in to comment