Failed to save as Favorite morphs only for later add custom morphs

Issue #629 resolved
engetudouiti created an issue

I do not know the rason though, but today I add new product morphs for my library rig (body, merged body, and gen mesh + def rig)

I could import new expression without problem, (z-morphs) as new custom morphs. because it only drive pose bone or already improted expressions for G3. then set type as “Face” (I actually afraid the type meaning, I suppose it can use to limit transfer morphs with the type, right? but usually I avoid to set it, but this time set it as Face)

Then confrim it work without problem (though it will change many property driver expressions I suppose, but it is not matter any more) like this

I may sometimes use the rig which include z morphs, so I plan to save as Favorite.. with select default rig. (it may be apended from another scene, but I do not remember detail,, anyway it is default import rig, and meshes)

then simply set file name as blend file name, to easy remember. after I click “save favorite”, console not show any error and actually generate the favorite json. (curently improted morph paths)

then I open the file to check, if there is some problem, then I serched new Z morphs, there is no z morph paths, in the section of the custom morphs, nor other default category…

So I afraid, if I set type as “Face” for favorite morphs, it may miss record ? (eg custom morphs never set type as Face or it conflict with default Face categorized morphs , then script not record those paths)

I attach generate json, (which I save as the favorite morphs for rig, (which already import z morphs)) so check it please

I can confirm the file size is same as another saved favorite morphs = which I have not import z morphs) So I afraid it may happen when I set type for custom morphs.

(I hope you add some description about the import morph type setting ^^; or you have already described?)

Comments (17)

  1. engetudouiti reporter

    No I tried with same scene, and this time not set type for z morphs, so type should be custom.

    and set category as z-express . after all it can generate morphs as same as before (new category of custom morphs) , and it work but can not save as favorite. (the overwritten file not record those z morph paths but show paths about all other morphs include my custom made pose controller or phms etc)

    so if there is limit, (eg we should save as favorite in original scene etc) about morph path, I hope to know..

    (I still did not test much, import favorite,, though, if it work stable, it really enhance my workflow)

  2. engetudouiti reporter

    Or as asked in another topic, I must need to select each mesh then import custom morphs to record favorite morphs later? (do not know it related with this issue though,, z expression only change imported units or expression props, I suppose)

    So for current scene, I always merge graft items, but keep non merged meshes. with keep armature . is it matter?

  3. engetudouiti reporter

    Only difference seems, I append rig and mesh from another scene…then save blend file (or saved it as new blend file)

    Maybe I can generate favorite morphs which include z morphs, if I import duf scene, from scratch , and import morphs, but do not know why it only exclude new added morphs (import as custom morphs) for same rig. all morphs work without problem, (even though I append it from current render scene, then exchange all clothings,,retarget rig and driver, it worked) but can not save as favorite morphs. I hope to keep current morph arrange .

  4. Thomas Larsson repo owner

    There was some problems with the favo morphs, although I’m not sure they had anything to do with this. Anyway, fixed now.

    You should both save and load favorite morphs before geografts or lashes have been merged, otherwise strange things may happen. I usually load plain G8F or G8M with genitals and lashes, load everything that I think I will need, and save the favorites. Then I can used the file with easy import for many characters later.

    The body part can be used to filter morphs. In particular, it is useful for to control the morphs with easy import, although this is not yet documented. Face morphs are transferred to lashes, body morphs to clothes and geografts, and custom morphs are not transferred at all. E.g., I set any genital morphs to custom, because they should probably not be transferred to trousers, whereas I set breastacular morphs to body, because they may be visible through clothes.

  5. engetudouiti reporter

    My workflow is,, untill merge graft items (for G3 I do not need merge eye lash etc so only gen is matter) I duplicate body and graft then rename it, after that only merge those duplicated items, then keep def meshes witch attached rig (only for library files)

    basically it not cause any problem then I can keep def mesh , def gen, and merged one. (then usually I rename is as merged)

    about the scene, I keep all meshes. then just to confirm activate all. then select rig, import new custom morphs (Z product morphs), which actually only change expression property values. then select rig save as favortie.

    Anyway I hope the new fix solve this issue. though at current it not cause problem for me, but when I make new character may hope to use same morphs with import favorite only. about transfer morphs, I stritctly use manuall transfer (so not depend easy import) but may use the setting which you described . anyway check new fix how it work.

  6. engetudouiti reporter

    mmm,, with build 487 then save the favorite still not record for Z morphs.

    As I said, I keep all meshes as same as before. I test temporally exclude merged mesh, but after all it seems not record. and not show error for me. with bervosity 2

    I suppose when I limport morphs, add on try to add those path as current rig or mesh new property is not it?

    I may test with clean scene without merge mesh though,, at least if load favorite work well, it may not take many time… then test again.

  7. engetudouiti reporter

    So I test to import saved duf , then after merge rigs, try to import favorite with select merge rig. (it have same body, same gen, and same under wear, but I did not save morphs for clothing, I suppose) but it only generate gen morphs. (so not generate any default morphs), and console say Fingerprint mismatch:
    17418-34326-17000 != 22008-43472-21556

  8. engetudouiti reporter

    hm I suppose,, when I save favorite, I already duplicate and merge mesh, then it cause issue I suppose. so as default work flow, I should not save favorite with scene which already have merged mesh, I suppose.

    I still open this issue though, do not think it is bug, but if you find good way to use those already saved favorite file, tell me please. because it actually describe all paths only for gen (I always use the product) morphs and some custom morphs + def morphs for default body mesh (G3)

    So do not know why it not work, for same rig which have same mesh attached. (maybe add on try to check finger print, then do not think those morph which can import I suppose)

    if finger print is matter, hope if you can add option which not check finger print but the url "/data/DAZ%203D/Genesis%203/Female/Genesis3Female.dsf%23Genesis3Female-1"

    those are described in the saved fav json. (which I attached) and my current scene body mesh have same URL . (should be)

    /data/DAZ 3D/Genesis 3/Female/Genesis3Female.dsf#Genesis3Female-1

    so all morphs of the URL can be loaded for current scene mesh and rig (mesh have not merged about this new test)

  9. Thomas Larsson repo owner

    I see. The fingerprint (# vertices - # edges - # faces) is a simple way to identify the mesh. In the Utilities panel, you can both see the original fingerprint before merging, and Get Fingerprint gives the current one. A list of fingerprints for the genesis meshes is found on line 37 in finger.py.

    Save Favorites uses the original fingerprint if there is one (i.e. if the character was imported during the last few days), but Load Favorites only used the current one. In the last commit I changed that to use the original fingerprint, so now the morphs should be loaded.

    However, your file contains the fingerprint of the merged mesh. You can change that manually to 17418-34326-17000 in a text editor.

  10. engetudouiti reporter

    Thanks, then do you think if I remove the merged mesh from the blend file, then save the favorite may correctly save the new added z- morphs?

    As I described, it not effect any deform mesh, so I have thought it not matter, but maybe save favorite find merge-mesh, then stop it , or if there is already merged mesh (with def mesh), add on may not add path as property? about the case I may need to re-import z-morphs without merged mesh I suppose.

    I could confirm actually it worked to load already generated favorite morphs. but I hope if there is way to save as favorite of current rig so about load morphs, I may not find problem (so now I understand how it works clear)

  11. engetudouiti reporter

    mm,,, maybe It seems difficult to remove z-morphs from current rig, and re-import because, z-morphs change already import expression driver a lot.. so do not think it work correctly.

    OK, I may re-make rig(the fav only record import morph paths, so even though I do not adjust or set others, anyway once generate it correctly, I can re-use it when I need,.

    I already confirm, re-target mesh and re-target driv er (for re target driver, I use my script, because it not so strict ^^;) not cause new issue, so convert rig only is not so difficult any more.

    I may close this topic, at same time if you find good way to save all morphs which already imported with current rig, hope to reply please. (but I suppose maybe, it is decided when I load those morphs first time, so if it miss describe path, the rig never record and save fav morphs about those morphs I suppose…)

    as future request, I usually keep def mesh with merged mesh (at least when I save fav or import new morphs ) for library… so if save fav morphs work for such blend scene, (when import moprhs, it add new path property for the rig or def meshes. so I can easy add new morph whenever I need, then just transfer shape keys from def to merged one quickly (without change scene or apend etc)

    . at least I confirm I have the default mesh (no merged mesh) in same scene, and it still move with the rig as same as merged one. when I load morphs >> save as fav so I usually expect, it may work (or I expect) even though I later add new custom morphs.

  12. engetudouiti reporter

    Yes I could generate fav json which include z-morphs for new scene rig.

    (I load old fav json. + manually import z-morph with import custom morphs then, save fav again, now it correctly over-write and add new paths )

    I may hope you teach me when it cause issue. Though I almost suspect, when I load new morphs, I should not include merged mesh in scene I suppose or it may not generate fav (because it not have path property for the mesh )

    because I do not think I can manage it well. , when I add new morphs later, (with tweak real render scene) I usually (or should) have merged mesh (and keep deform mesh when it need like import morphs, I may append def mesh, but there should be merged mesh too so, I can transfer morph from def to merged one)

  13. Thomas Larsson repo owner

    I added an option to load favorites that ignores the fingerprint. I don’t recommend that you use it though, since it can easily break things.

  14. engetudouiti reporter

    Thanks do you think, if I keep default mesh with merged mesh in same scene, (both mesh activated), then import morph later, it can still generate those morph as fav?

    I suppose my op issue maybe cased, when I load z morph, I did not activate (disable link with check mark) for default mesh. so add on seems not add path as property (rig or mesh, I do not know) though I usually activate default body mesh, and gen mesh, when import body related morphs, but I know, the z morph not generate shape key, so I suppose maybe I forgot it. (but I just believe it will add path as favorite)

    So I may avoid same thing, but I still do not know, if I activated the default mesh with merged mesh, then load z morph , add on could correctly add path as property >> then save favorite work or not.

    I still not test it. (I may test later though,, it need to test from scratch)

  15. engetudouiti reporter

    And actually I hope to know,, when I import morphs, add on may add morph path for each mesh or rig? I check code , but could not confrim how add on add property which record path to save as fav, when import morphs.

    if it is clear, untill I save as fav, at least I could check the propertys of mesh or rig. Though do not know I can check the data directly. (maybe it should be colelction or dictionary type I suppose, and the more I import moprhs, the more the data should be large,, do not know how it effect scene size though.. )

  16. Log in to comment