Import pose[Face Units] doesn't work after use "set key" button in Face unit section.

Issue #551 resolved
Rose Odimm created an issue

I try to animate face expression by using two expression pose file.duf [I’m not sure if it is correct way to do it or not]

1.I import first expression to the model with affect bone toggle off [The expression.duf file contain data that change the Faceunit shapekey] and it work properly.

2.I press “set key” button to set keyframe for all face unit shape key into timeline

After that the import pose button can import new bone pose but when import pose that contain Face unit shape key nothing happen.

The import pose button will work for import Face unit shapekey again only when I delete the keyframe of Faceunit shapekey in timeline.

Another question is is there any way to combine two expression file?
Example no1 file contain eyes preset for face unit
no2 file contain mouth preset for face unit
If combine File that contain bone pose with file that contain expression we can toggle affect bone off to make model do the pose and apply expression on the face but when I want to mix two expression I have no Idea how to do it.

Comments (10)

  1. engetudouiti

    it seems kind of new case and bug. which we do not test enough. I usually not import pose which change the morph value (avoid it) but your ways seems usual workflow if user import pose controller preset (or morph preset) by import pose duf.

    About the 1 and 2 seems usuall workflow so maybe Thomas only need to set key when import those morph value as import pose. maybe blender force up-date the value (actually add on change value, but it need to be up-dated then return key value which you already set, I suppose)

    About the question, I think it need new import option (which only change current activated morphs value, with use the morph check mark option. (it usually used as selection morph to reset or keys)

    I have made save pose or morph tool personally which can save current morph value about activated only). and load them with same option. (then you can only change value which you activated ) but it may beter Thomas add such option for current import pose.

    it may need to offer like this. (when import pose, add new option as same as selected bone only)

  2. engetudouiti

    I test almost same thing, with my script, then it can change each morph value even though I already set zero keys for all morphs (I did not expect it)

    Then it maybe related with how daz impoter function up-date scene when import morph and set value by import pose. I did not make it set keys, (then now I test it how it work) , so if user hope it (not auto insert keys for morphs, but temporally change morph value),

    I may attach the up-date code how my script up-date scene when import morphs . (do not know clear why my version work so.. but anyway ,it may work same way.)

    Usually if there was key about the morph channel, I may prefer insert new key or up-date key of the morph (so the import value remain static. or when user change or happend to up-date scene, it may return as key value)

  3. Rose Odimm reporter

    Thank you for your reply.

    I’m just curious is there any other way to make use of pre-made Daz expression file for making animation?

    If the import doesn’t work for animation how can I store preset of Face unit in .blend file if it was bone pose I can store in Pose library but when I press Set key the keyframe appear in “Action editor” and “Dope sheet” it appear as the name of shapekey of the mesh but it locate in Armature timeline.

    BTW if you don't mind can you suggest me the Daz-blender face animation workflow.

  4. engetudouiti

    Basically as you reported the issue seems bug.

    One thing why it have not been reported, I feel we basically not expect much to use daz preset for this add on.

    this add on more concentrate to import morphs and user set value (controll) in blender.

    As you said, if we save each face expression which we made , we may need to set keys. and save it as blend file. (yes blender pose library only store and save bone pose) before. or may need to save as Action(fake user) then append or link it when it need.

    but recently (a few month ago), Thomas offer advance tool. save pose preset.

    https://diffeomorphic.blogspot.com/2021/04/save-pose-preset.html

    then you can save face morph value. as pose or animation , as duf file (then you can import it to ds or you can load it by load pose)

    But after all, it need to work even though you already set keys for timeline of the morph so you may need to wait for a while.

    Actually I had thought same thing (to save user made expression in blender as preset file. ) then I made tool for my purpose. Now Thomas already offer save pose preset, so I do not request it any more. but if you have some request about the new “pose preset” function, Thomas may improve it more, I believe. My preset tool can save as preset json (for morphs only (morph slider value) or poses (bone pose) or mix preset. but not save animation. I personally improve it , but now we have new pose preset system for this add on, then I simply hope it improved more. (the tool was requested to save pose file for daz studio, but after all it can use for the purpose too (save pose and morph value as preset, then import them for blender)

  5. Rose Odimm reporter

    Yes the save pose preset can export expression morph value but when load back with load pose{I don’t know if you use other load option or not I saw only import pose button} the bug still cancel the import morph value if there is key frame of Face unit morph in timeline.

    I may need to find other workflow.

    BTW how can I get face controller like in this topic https://bitbucket.org/Diffeomorphic/import_daz/issues/541/something-wrong-about-face-control-bones
    or in this Daz addon https://www.daz3d.com/genesis-3--8-face-controls

    I don’t see it in MHX and Rigify.

  6. Thomas Larsson repo owner

    You could use Import Action with the following settings:

    Affect Bones = off
    Object Transformations Affect = None
    Affect Morphs = on
    New Action = off
    Start At Frame 1 = off

    You should be at the frame where you want to have the morph. Once all morphs have been imported, the Prune Action tool can then be used to removed keys on unused channels.

  7. Thomas Larsson repo owner

    Now I remember. You can use Import Pose too, but if there already is an action you must enable the Auto Keying button. Otherwise the morph value jumps back to the keyed position.

  8. engetudouiti

    Yes I remember now, I needed to use the Auto keying button to keep morph value with import pose. thanks forget about it longtime.

    As future request about save and load tool, if you can add option, which only apply or change activated controller value. as same as you already offered selected only option for bone transform. (eg user may not hope to change body morph value, but only change head controller value or user only hope to change vismes etc)

    same thing may happen when save the pose with morph value. (we may not hope all morph value. when make vismes only preset . etc

  9. Log in to comment