option for HD when importing morphs

Issue #1452 wontfix
Alessandro Padovani created an issue

daz studio 4.21.0.5 beta, blender 3.4.1, diffeomorphic 1.7.0.1473

It would be useful if we can select HD or non-HD when importing morphs. Actually if we are not interested in HD we have to deselect the div2 by hand, there’s no way to select only the bone morphs, unless I miss something.

Also exposing the div2 clutters the morph list. It would be better to hide the div2 and just provide a HD option that does or doesn’t import the div2.

Hide div2 morphs, then provide HD option:

  • HD on: imports the div2 when available for selected morphs
  • HD off: doesn’t import the div2

Comments (13)

  1. Thomas Larsson repo owner

    Yes, agreed about that. Before it is done you can get rid of them as follows:

    1. Type “div2” in the filter field.
    2. Press None
    3. Remove the filter.

  2. Thomas Larsson repo owner

    I added an option called “HD Morphs”. If disabled, morphs whose name ends with “div2” are not visible and not loaded. This works with import standard morphs and easy import too.

  3. Alessandro Padovani reporter

    Commit f061439 doesn’t work fine.

    When I import expressions for example, even if I uncheck “hd morphs“, the afraid div2 is imported.

    steps:

    1. import G8F and merge rigs
    2. import expressions with “hd morphs“ unchecked
    3. look at the shapekeys, div2 for Afraid HD is there

    note. never expose div2. Also, in my opinion, even if “hd morphs“ is checked it doesn’t make sense to expose the div2, they are only cluttering the morph list. The div2 are support files not intended to be visible by the user. To expose the div2 is not necessary and unpractical and even confusing since daz users don’t deal with div2 files and don’t know what they are.

    You can just have the HD option, to load or not the div2 for the selected morphs, eventually with the tooltip “Imports the HD base (div2) when available for selected morphs“.

    If you need to show what morphs have a div2, you could just add a “+ div2” suffix in the morph name, though as a convention in daz studio the HD morphs have “HD“ in the name so you already know they are HD and get a div2.

    Then this is minor, I’ll mark as resolved anyway, but there’s no reason to expose the div2 files in the morph list.

    Let me know.

  4. Thomas Larsson repo owner

    The ctrl file for afraid refers to the div2 file, but the other ctrl files do not. The plugin does not explicitly load afraid_div2, but loading ctrl_afraid forces it to be loaded anyway. That’s just how the daz files are made.

    If the div2 files are not exposed in the dialog, the user can not select only some div2 files, so I think they should be listed. If you just want to load all morphs, with or without div2 files, you can import standard morphs or use easy import.

  5. Alessandro Padovani reporter

    As I see it div2s don’t make sense without their control morphs and I can’t understand how it is possible that they are not referenced.

    The user is only interested to select the control morphs, not the div2. Then the div2 related to the selected control morphs will be loaded or not depending if HD is required by the user. This is how it should work. If it doesn’t it is because of how things are handled now by the code.

    Then what I understand of this is, it is not convenient to modify the code to avoid bugs, so we keep it this way. If this is so then I’ll close as “wontfix”. Please roll back the commit since this way it doesn’t work, I mean if we are forced to load the div2 anyway.

  6. Thomas Larsson repo owner

    For Afraid the connection is made inside the control file, for the other morphs it is made inside the div2 file instead. It doesn’t matter if you scan all morphs when you start the program. The plugin imports what is inside the daz file. It doesn’t attempt to correct poor design decisions.

  7. Alessandro Padovani reporter

    Thank you for the explanation. What you call “poor design“ I call “daz morphs hell“ I completely understand that dealing with all the possibilities may be too difficult.

    Still, exposing morph names and div2 is not a good approach to the user interface, only the labels should be exposed. Also this means we can’t avoid to import HD unless the code handles it.

    Are you going to revert the commit or do you want to keep it this way ?

  8. Thomas Larsson repo owner

    Well, you could turn off Shapekeys in the global settings. But that will prevent the loading of all shapekeys, so you have to turn it on again after the expressions have been imported.

    Perhaps one could refrain from loading shapekeys if the HD morphs option is disabled. However, that would not make sense for G1 and G2, where the expressions are only shapekeys.

  9. Alessandro Padovani reporter

    Thank you for the tip that may be a viable workaround.

    If there’s nothing to add I’ll close as “wontfix“ since the code doesn’t work for HD and non-HD options. Reason it’s too complex to handle.

    note. important. The “HD Morphs” option should be rolled back since it doesn’t work. This way it is only confusing for the user. Let me know.

  10. Log in to comment