Bake FACS action strips in Blender NLA: any way this is possible?

Issue #1646 invalid
KenTanker0us created an issue

First of all, thank you for Diffeomorphic.

The subject line pretty much states my question. What I’ve got is an imported FACS clip in the Blender NLA. I wasn’t completely happy with the result so I added a layer on top of it and tweaked various controls to taste. It looks better.

I’m wondering if there’s any way to bake this down to a single action? When I try it now, I get a face that has no animation.

Please excuse the ignorance, I would also be happy to read any useful discussion of how the drivers work, if anyone can point me in the right direction.

Thank you for your time, and thank you for Diffeomorphic!

Comments (15)

  1. Alessandro Padovani

    This sounds to me more like a generic blender question about NLA and you may find better answers on blender artists. This is a place to report bugs for diffeomorphic. If there’s nothing to add I’d close as invalid.

    p.s. I don’t use NLA much myself but the action editor is probably where you may want to look at.

  2. KenTanker0us reporter

    Alessandro, thank you so much for your time. With your permission I will mention a couple of points:

    1. I understand this is a place for bugs, it’s just that everywhere I look in my researches (including Blender Artists, the first place I looked) I can’t find a good place to ask questions about Diffeo usage, and multiple times I have read that it’s best to come here. It does seem strange to me to place questions here, and I would welcome any and all advice on where a better place would be. I’m really trying not to do anything offensive because I really love Diffeo and don’t want to annoy people who might offer help.
    2. Re: the action editor: importing a FACS file into Blender creates an action which can be edited in the action editor by moving/adding/deleting keys. But beyond that there’s no more about the action editor that would address this question, as far as I can see.
    3. The NLA is very useful for taking these actions and cutting/pasting/retiming/layering and mixing them. What I’m attempting to do is bake down these layers into a new action that I could bring into another scene. This functionality is always available in Blender, except with these FACS layers and I believe this might be because of the way the drivers are set up. For instance, a face bone being controlled by a driver that references a Custom Attribute that is then further controlled by the Morphs section of the plugin. I’m looking for ways to get under the hood of this so I can get better understanding and control of the process.
    4. I have a workaround that I’m using now, but it’s very clunky and I would love to be able to use FACS actions as I use other ’normal' actions: being able to append them into another scene. I can do this with the original imported unedited version, but I would like to edit them, with corrective layers, and then bake them down like regular actions. This is where the driver setup comes into play. **I should stress this in NOT a complaint about the driver setup, merely an attempt to understand it. With any luck, perhaps I can make a contribution to the knowledge base and help others.

    If my request is invalid, I apologize for wasting your time, but I really don’t know how else to go about getting the necessary knowledge to address this question.

    Again, I thank you for your time and most of all, thanks for this wonderful plugin.

  3. KenTanker0us reporter

    Okay, no worries. For clarity sake I really meant it to be an attempt to understand the philosophy behind the way the drivers are setup, which I think causes the problem in the NLA. But I thank you for your time. Invalid it shall be. peace

  4. Alessandro Padovani

    Reason is morphs in daz studio are not just shapekeys, but drivers for bones and shapekeys and possibly other morphs in a dependency graph. So we need drivers to handle the daz morphs, at least if we want to load daz poses/animations.

  5. KenTanker0us reporter

    Oh indeed, yes. This has been understood all along, and I see the necessity. What I’ve been trying to investigate is the way these drivers are implemented in blender, for instance the driver living in 3 locations. As I understand the mechanics of it, I’m seeing a driver for a bone’s transform channel (and a shapekey’s percentage when necessary) living not only in the rotation and shapekey channels, but also in custom attributes for the rig as well as the morphs section. That’s a driver that lives in 3 places at once. This is the case.

    I’ve always assumed that it was the least troublesome way of setting up the plugin’s implementation in blender, and of course it’s not for me to complain.

    I have merely sought to understand the mechanics of it, searching for a way to simplify it. I think that somehow this complicated (probably for good reason) way of implementation is what confuses the NLA, and so I have looked for more knowledge, and also I thought I would roll the dice and see if anybody had run into this problem and thus could offer advice.

    That being said, I do have a workaround (a very un-elegant one) so I can continue.

    I think perhaps I don’t fit the paradigm of most users of Diffeomorphic in that I only use Daz3D to generate a character and then do all animating and rendering in blender. I’m sorry my problem couldn’t shed any useful light for the usual users. I had to try! Many thanks for your kind attention and for Diffeomorphic. Be well and be safe. peace

  6. Alessandro Padovani

    I do the same, I’m very little interested in daz poses and I bring the figures in blender just to use them there. In general I prebend the figure and bake morphs to shapekeys. This leaves me with a figure that doesn’t have all the daz features, but it’s good enough for me to work in blender, also because I’m not interested in excessive realism.

    https://diffeomorphic.blogspot.com/2023/01/using-pre-bended-figures-also-works-for.html

    But yes, for full daz features morphs are quite complicated. Recently Thomas did some optimizations, see #1540.

  7. KenTanker0us reporter

    Alessandro, thank you so much for your input. I am very happy to continue the conversation as long as you are willing.

    Pre-bending in Daz is interesting. Do you find those to be better than what you get with a full-featured import? I suppose I’ll have to try that myself. Those pre-bent shapekeys could be applied to a full-featured import as well…but I assume you know that. Are you doing stills exclusively?

    I’m working on animating the characters, and what I find so attractive about this Daz-Diffeomorphic-Blender pipeline is that I can bring in a character with a nice rig, weightmapped, with a driven shapekey functionality already built in; and with 8.1 and Face Cap I have a pretty good facial/lipsynch setup as well. The real challenge for me is taking this rich feature set and adapting it for animation/mocap.

    I use the Daz rig itself because I like the way the arms and legs are split up. I had to add retargeting bones to use with mixamo and Auto Rig Pro for retargeting and get nice results. What I’m looking to do is get greater control of the morphs/shapekeys and this is why I seek to have a conversation about drivers.

    My only real hangup at this point is the Face Cap import has to be glued to whichever rig I’m using. For instance: I import a FACS from Face Cap and I want to re-adjust the timing, there’s no better place than the NLA. I can also make a new additive action if I need to make the M or OW or whatever more pronounced. I now have a much better facial animation but I can’t make it portable because I can’t bake it. Therefore it is either tied to this particular rig or I have to create it again from scratch for another rig.

    I will look at #1540, and I appreciate very much this conversation. peace

  8. Alessandro Padovani

    For facecap there’s the option “load to shapekeys“ so you can bake facecap morphs to shapekeys and use the NLA. Should work with ARP.

    As for using prebended figures I do it to simplify the setup so I don’t use jcms. And this way I can also use G1 G2. Of course the bending is not as good as jcms or triax but it’s enough for my needs.

  9. KenTanker0us reporter

    I think it’s fair to say my journey through Diffeomorphic is just beginning. You’ve given me some good suggestions, so as always, thank you.

    I’m still curious about your usage. May I ask, are you doing stills or animations?

  10. Alessandro Padovani

    Well to tell the truth actually I use daz studio and blender very little I mainly give some help to Thomas for the addon. But I am interested both in photography and animation.

  11. KenTanker0us reporter

    Oh I see. Well, you are much appreciated.

    I wish I could figure out how to bake these things. I will continue searching.

  12. Log in to comment