Some Custom Morphs are not being imported

Issue #274 closed
Chuki Cicha created an issue

I’m having trouble importing some morphs, any idea why can it be? The console says this:

I tried importing a new character and import the morphs but it’s still the same.

I can attach the dsf’s if you need them.

Comments (16)

  1. Thomas Larsson repo owner

    Are there more morphs in the same directory? If you load all files in the directory, does the problem persist?

    Some morphs depend on others, e.g. Tip probably uses TipL and TipR. Sometimes that dependency is defined in the user morph file. When the plugin sees that, it loads the necessary files.

    But sometimes the dependence is made backwards, so the relation is defined in the used files rather than in the user file. Then the first pass will fail, but the relation is remembered and can be used in the second pass. But that only works if the used file was loaded, which is why this can happen if some files are skipped.

  2. engetudouiti

    So if I correctly understand Thomas means, I suppose the difference caused “save (the ERC) as” sub-components or controller file.

    Basically we may save ERC (funciton and relation) in controller property, (about this case PBMNippleTip,.dsf)

    but some vendor may save the ERC in sub-components. (PBMnippleR andPBMnippleL) dsf files. (we can edit it in daz studio, when save morphs, with use property hieralchy pane. (tool)

    if plug in can generate driver (or use shape key mix?) correctly for both case,,, I may try to import PBMNippleTipR dsf and PBMNippleTipL with check box first,,. (then you can import PBMnippleTip later, I suppose)

    (but the best way is actually check the prodouct source,, so if you can offer productname, then if someone happend to have same product, he can check it,, in daz or read the source files,,)

    I afraid we can not up-load product files without permission. (so I can not),,,

  3. Thomas Larsson repo owner

    Here is an example of what I mean:

    The file ectrlEyeClosed.dsf defines EyeClosed as 100% EyeClosedL + 100% EyeClosedR. When the importer sees that, it opens the two partial morph files which define the actual bone drivers.

    But MouthSideSide does this backwards. The file ectrlMouthSideSide.dsf defines MouthSideSide but contains no information about what it does. Instead, the file ectrlMouthSideSideL.dsf defines MouthSideSideL as a combination of bone moves, and also specifies that it contributes to MouthSideSide. So unless you load the partial morph files first the combined morph can not be defined.

    I’m not sure if this is the problem here, but it is a good idea to load the entire directory to see if the problem remains.

  4. Chuki Cicha reporter

    I tried loading morphs that are in the same directory, and the other morphs are loading correctly. Also it doesn’t even import the PBMNippleTipL or R individually. Here’s an example of what the dsf file says on the formulas: “lPectoral:/data/DAZ%203D/Genesis%208/Female/Genesis8Female.dsf#lPectoral?center_point/x”

  5. Thomas Larsson repo owner

    I see. Then we are out of luck. In Blender we can only morph the translation, rotation and scale channels (and perhaps general_scale). The center_point, i.e. the head of a bone in edit mode, cannot be morphed in Blender.

  6. engetudouiti

    Thomas I have one silly idea to use daz ERC, to exchange rig ^^; So we can not import daz ERC which change blenderedit-bone .

    but I think, if we can swap rig and mesh, with use current property value. when user hope it. I can imagine some steps to achive it,,

    I may make new issue, relate with this,, when I can offer logical work-flow… (so if it work, manually,, I suppose we can change it as python code)

  7. Alessandro Padovani

    I believe we do have to distinguish between actor morphs and pose morphs. Actor morphs are supposed to be baked in the dbz because blender can’t morph armatures. Then pose morphs, and more often head morphs, are what we may be interested to import, together with some jcms.

    To me it is important to understand the difference between daz studio and blender. We use daz studio as a character generator for blender. We don’t try to turn blender into a character generator that can replace daz studio itself, aka import the full genesis platform. This is not possible because some features can only be baked, and also would make the imported figure with a thousand of morphs so unpractical for animation.

  8. engetudouiti

    @Alessandro

    Yes it is imporatnt to user understand, daz property structure. at same time about this plug in (and blender side), Thomas prefer not distinguish them because, as user we use one click and select dsf. which we import.

    Actually as functionality after all, they are to “deform mesh” it is same,

    Pose morrphs = (armature modifier + boneweight map + pose controller )

    Shape morphs = (shape keys)

    As we know, in daz studio, shape morphs often include edit bone transform. (rig transform)

    so it is ok, as default we never import those morphs but baked (work in DS , then bake current morphed shape) . it is blender lmitation.but at same time, there are many morph (PBM) even though it not adjust edit bone for morphed shape, actually we may hope to import them.

    Do you know, some vendor offer many morph set without drive bone. then it depend user, if they hope it work more ideally?

    (user may mix use “auto adjust bone to the current shape” + manuall adjust ment. then make their morph. Then I suppose to adjust detail shape, most of case we need not transform edit-bones.

    Then my conculusion is,

    if add on offer option import those PBM without edit bone transform ERC, it is still useful. (Of course user need to know, the morph will work or not. add on can not auto-adjust rig , so when pose bone which have weight for those morphed verts, it may not show same as daz, but they are actually still useful to adjust or animate the actor.

    mascle morph or detail change morph (like add more expression) or, PBM which slightly change actor mesh. even though it is same character for the user.

  9. engetudouiti

    For user who anyway hope to use the function, (without test and check how it transform rig in daz studio), to import morph,, I recommend when check the option (ignore daz Bone transform) , it show clear (It not auto-adjust rig, so the morphed shape not same as daz when pose bone) tips.

    Then it depend user,, (who really hope to import same morph function as daz, they never use the option, some user may use it when they hope)

  10. Thomas Larsson repo owner

    I think that it can be done in principle. A morph which changes the center_point and orientation could be replaced by translation and rotation, plus a compensating shapekey that moves the mesh back to its original position. And the compensating shapekey could be combined wiith the original shapekey. Getting this right would mean quite a bit of work though, and I am not sure that this case is common enough to merit the effort.

  11. engetudouiti

    I can imagine how it work, but at same time, I think it actually change morph (as shape) as new pose. I understand, Thomas thinking way show same shape when set value = 1.0, (with reverse defomation shape keys mix)

    but, the actor rig already include pose delta for each bone if Thomas way worked and import those morphs.

    Then I can not expect it may work well with mix posing… or import pose file..etc.. And as you said, it may cause many user question, I suppose.. of course I may hope to see how it work,, but at same time, I may not request the way .. As I said I have some swap rig idea, when user hope to apply those morph (change rest pose), but it is kind of simple actor preset.. (so we can not controll morph value, but bake as new rig but save as blend file, = to apply (bake) the new morph, or exchange shape as variation, I may plan to swap rig with import rig preset. (but it not need to re-import daz scene)

    I suspect, I can imagine some work-flow, but at current I can not offer stable steps,, then at start point, I may request new option, which may try to import those morphs (only about shape delta), (but not adjust bone position)

  12. Thomas Larsson repo owner

    I found the same issue with Aiko8 FBM, and it turned out that the reason why the morph failed was not the rest pose change. Instead, the vertex count = -1. The vertex count is used to check that the target mesh has the correct number of vertices, but apparently this check can be turned off. So now the vertex count is ignored if it is negative, and the shapekey is loaded.

    However, the accompanying change in rest pose is not loaded, for reasons already discussed, so the usefulness is limited.

  13. engetudouiti

    hmhm,, so basically if I import moprh which may change rest pose (indclude ERC) (most of full body morph should change rest pose rig) can import without any erroer? (of course I know it not adjust rig with driver)

  14. engetudouiti

    And yes. of course full character morph drastically change shape and it need to set rig correctly. (so it may not useful, untill add Character preset system which can save and change rig postion with character selection. but it not work as morph. it means change character )

    I basically just hope some pirtial body morph which may work usually without adjust rig perfectly. (like muscle add morphs, or change west size or nipple deform) so I expect, if I can import them (without driven edit-bone)

  15. engetudouiti

    Ok now I could confirm, I can import almost all PBM (without ERC) mesh delta.

    Though I still not understand what actually vertex count -1 means from the word meaning^^; (Though I know vertex count need to much to import moprh,,)

    so it seems, when incclude ERC function in dsf, it set -1 ?

    (and maybe if vertex count not same may show it as 1 or 0)

  16. Thomas Larsson repo owner

    To conclude, all shapekeys seem to be imported, but morphs that change the rest pose are not. That's how far this goes.

  17. Log in to comment