Loading missing morphs with scanned database not working.

Issue #1770 resolved
Rakete created an issue

I always use the old way of loading morphs and then tell diffeo to load missing morphs, that works. I’ve now tried to use the scanned database because loading morphs is pretty slow and I was hoping it would speed it up, but I can’t use it together with load missing, it doesn’t actually load the missing morphs when I import a pose.

I tried with a Genesis 8.1 figure and an expression, so maybe that plays a role, I noticed in the logs it tries to load a different file when I use the scanned database.

With the old method of loading missing morphs I get this:

Loading missing Expressions morphs
getAllMorphs [('eCTRLAngry_HD', 'E:/My DAZ Connect Library/data/cloud/1_42071/data/daz 3d/genesis 8/female/morphs\\daz 3d\\expressions\\ectrlangry_hd.dsf', 'Expressions')] <bpy_struct, Context at 0x0000016A4058B388>
 = eCTRLAngry eCTRLAngry_HD
 = eCTRLAngry_HD eCTRLAngry
 * eCTRLAngry_HD
 + lNasolabialMouthCorner
 + rNasolabialMouthCorner
 [...]
 Folder  loaded in 0.447 seconds

with the scanned database I get this:

Loading missing Expressions morphs
getAllMorphs [('eJCMAngry_HD_div2', 'E:/My DAZ Connect Library/data/cloud/1_42071/data/daz 3d/genesis 8/female/morphs/daz 3d/expressions/ejcmangry_hd_div2.dsf', 'Expressions')] <bpy_struct, Context at 0x0000016A4058B388>
 * eJCMAngry_HD_div2
Folder  loaded in 1.971 seconds

Comments (8)

  1. Rakete reporter

    Also, even when using the old method for loading missing morphs, the expression isn’t actually applied. The property is created and I can just dial the it in, but I assume it should actually be set.

    EDIT: Loading a FACS expression works as expected. Maybe the problem is that I am trying to load an old Genesis 8 expression on Genesis 8.1, the expression itself works fine though which is why I expected it to just work.

  2. Thomas Larsson repo owner

    Uh, I haven’t used the scanned database for a long time. Very likely something is broken.

  3. Rakete reporter

    I would just marked this as resolved then, the issue only happens when using the scanned database, which seems to not be maintained anymore. And for me just not using the scanned database is fine.

    So maybe you should just remove the option from the UI and revert the code to use the old missing morphs code?

  4. Rakete reporter

    I am now coming back to this, and the problem that the expression isn’t actually applied is probably the only real problem here, I forgot about that again. So not resolved yet.

  5. Thomas Larsson repo owner

    I reviewed the scanned database code, and found that some morphs were not found because both the quoted and unquoted forms of the morph names were used. Now the morph names are normalized (unquoted and lowercase) and missing morphs seem to be found again. Note that you must rescan the database, because the names in the json file are now normalized. Fortunately, that doesn’t take as long as it used to do. It appears that the recent speedup in morph loading helps with scanning performance too.

    The scanned database is now used by default when loading poses and expressions, but if no json file is found the plugin reverts to the other way of finding missing morphs.

  6. Log in to comment