Save customized expressions as 1 slider (Facs Units, Face Units, etc.)

Issue #603 resolved
Buddyspencer13 created an issue

Hello Thomas, thanks for your awesome work with this addon, I would like to make a suggestion if possible.

As the title says, I was wondering about having some function like this and how useful it would be to have this, to be able to apply custom expressions by just moving a slider or save the settings of several changes from each expression panel and send them to another custom panel, and to be only one slider, and to be able to export this to different characters or have presets.

Let me explain better, normally, one customizes any expression with the tool, and morphs that are in the Facs Units, Face Units, etc panel, this tool in itself is great, but it is a bit tedious when animating expressions, since you have to toggle the values " and apply keyframe " of each expression or movement of facial expressions, and it can be time consuming.

One of the solutions would be to be able to save these morph configurations (Facs Units, Face Units) of several expressions, as a single morph, slider, or send it to another subpanel where these morphs or customized favorite or created expressions could be applied.

This would give a much better workflow and could save a lot of time when animating, also could be an important improvement in the addon.

Comments (7)

  1. Xin

    What you want to do is to save an action after you keyframe what you want. That’s a Blender thing. I don’t think this addon should try to mirror daz but adapt to Blender. Read about the “Append…” feature from Blender and the NLA editor (for example: https://www.youtube.com/watch?v=tAo7HxxxA08 and https://www.youtube.com/watch?v=UxdPtVAz6Do ).

    Blender doesn’t work like daz, and having a lot of sliders for each custom expression is not the workflow (for good reason since a slider is nowhere near as powerful as having an editable action you can edit in the Graph Editor). With the Blender Asset Browser in the next version, a sliders workflow would feel even worse in comparison.

    Aside from that, there is certain ambiguity in having a custom slider. For example, how should the slider behave if you set it to 1 and then you go and change one of the “child” sliders? should all “child” sliders be blocked? if so, then you have basically no flexibility. Also what happens when two custom sliders drive the same child slider? which one “wins”? properly implementing such a thing would be the equivalent of importing a similar slider that you first create in daz, but this adds unnecessary terms to the already fairly dense driver expressions this addon creates (such terms also have an impact on performance). There is a reason, after all, why 3d packages like Blender don’t do things the way daz does them, and why daz’s animation system is so mediocre.

    I suggest you try to get comfortable with managing Blender’s Actions and the NLA editor, you will get a lot more flexibility while not affecting performance. Also wait for the Asset Browser for improvements, or download an Alpha version of Blender to try it. Maybe you can come up with a good feature to implement in import_daz that makes use of such Asset Browser. That would be in line with Blender’s way of doing things.

  2. engetudouiti

    @Buddyspencer13

    you may need to make such morph with use daz erc freeze. then save it as morph. and import it as custom morph. without you make too complex morph , basically it work.

    I suppose actually you request “ERC freeze” function for imported morphs = gahter current multiple morphs value as one morph.

    which generated by this add on. but it is really difficult because of blender side limitation. Any blender driven prop (which driven by other property), can not input off set value. (Some constrain we can input of set value (user free change) .

    At same time this add on have developed to “improt morphs” for most of generation figure. and some famosu morphs by requests. then try many complex things. but the more to add those functions, the more there should be new issue.

    Make erc freeze (auto generate new morphs with driver by other morph current values) function for blender is too complex untill blender offer such function. So even though you hope it,, it may not happen untill blender dev change current drive way (at least add off set input property for driven value)

  3. engetudouiti

    And did you try to save as pose (which have options which props saved eg bone move only or morphs value) of this add on?

    it made to re-export for daz studio, but at same time it is used to save morph preset too.

    then when you import it, it auto add keys which change values.

    eg

    1. you make expression with use mixing morphs.
    2. save as Pose preset
    3. frame 0, zero expression but set zero keys to generate channell of morphs
    4. import pose preset. which you made. it auto set keys as default.

    So you may need not manually change each morph valeus. once you made preset = save as Pose

    I only made add on for the prupose before, but now add on already offer it as default.

    After you bake the animation as key, you can save as Action = you can use NLA editor, to make your library etc but untill it, it is easy way to set keys though, as real work flow , you may better adjust each morph curve for natural face motion.

    but it should happen for all facial morphs and keys. (even though you do same thing with Daz timeline)

  4. Buddyspencer13 reporter

    Xin, exactly what I was referring to and I forgot to mention it, was, ERC freeze function,as mentioned by engetudouiti in the comments he wrote, or something similar to it, so yes, I see your point of view, and well I'm not going to complicate things, I'm going to close this request.

    I think I am satisfied with the suggestion and advice engetudouiti gave me, making customized expressions and saving them as a pose, and I have been able to do more or less the function I wanted and save myself time, thanks for the suggestions both.

  5. Log in to comment