2024-02-08 Animation & Rigging module meeting

The meeting will be on 2024-02-08T17:00:00Z. It is open for everybody interested to join the video call (link below).

Present: Brad Clark, Christoph Lendenfeld, David W (Studio Galt Mocap), Demeter Dzadik, Eduardo Rubio, Felipe G, Nate Rupsis, Nathan Vegdahl, Nika Kutsniashvili, Sybren Stüvel

People present are referred to by first name for brevity. Others are referred to by full name.


Since the Last Meeting / Announcements

  • Working title for the new layered animation system: Baklava. Because it consists of layers. And is delicious.
  • Blender 4.1 moved to BCon3, main branch is now 4.2-alpha.
  • Meeting agenda restructure:
    • No more “Short Term Goals”. These were introduced because the module was in ‘maintenance mode’. Now that we’re working on Baklava, that has changed.
    • “Patch Review & Decision Time”: rebranded to “Patches: Review & Decision time”, as decisions about ongoing work are a natural part of the “Ongoing Work” section.
  • Animation Baking in ‘maintenance mode’ is now officially documented.


Names are from the Git log. This list is limited to functional improvements & bugfixes.



Technical Documentation

Ongoing Work

  • High Prio bugs:
  • Christoph:
  • Nathan:
  • Sybren:
    • Sybren’s weekly report
    • Sent an email to the hosting party of the Jitsi instance we’ve been using, to talk about possible solutions to the video streams dropping out.
    • Started technical docs on Baklava.
    • Baklava: how to deal with F-Curve grouping & ordering?
      • Current focus: getting Baklava as experimental feature in main as soon as possible, as experimental feature.
      • Last week’s decision: drop strips for now, store animation data directly on the layers. This will also be reflected directly in the data model (i.e. actually remove strips from it).
      • First target: support multiple layers, with only one active layer. All keys go to the active layer, no binding of objects/bones/otherthings to specific layers yet.
    • To decide:
      • Automatic grouping, manual grouping, or both? For example, Blender could automatically group FCurves by sub-data (i.e. bones, shapekeys). In contrast, this currently only happens very bluntly on F-Curve creation, and so you can actually pop transform FCurves out of their ‘Object Transform’ group and re-group them with bone FCurves.
      • Decision: for now limit to what Blender already does. It works for most people, and allows us to move forward quickly.
      • Group ordering: should be manual (example: hand bones should be listed in finger order, not alphabetically).
      • F-Curve ordering: would this still be necessary if you can group them, name those groups, and reorder them?
        • Christoph: important to not allow that. Blender should auto-sort them.
        • Nathan: for shapekeys we may want to manually order them, to match the order in the shapekey list.
        • Nika: shapekey mode of Dopesheet already does this. Maybe the related code can be used.
        • Nika: another example: geometry node outputs, animation for those should also match their order in geonodes.
        • Sybren: maybe as a first step we could have an operator to auto-reorder?
        • David: auto-sorting would be very nice, as that brings the ability to remove F-Curves and re-add them, where they get back to their original order (instead of Blender’s current newest-last insertion).
      • Christoph: an often-heard feature request: FCurve modifiers on groups instead of individual FCurves.
  • Animator meeting at Blender HQ:
    • Postponed until next Monday, due to production pressure on Project Gold.

Patches: Review & Decision Time

  • #115915: Very strange constraint jiggling not present in blender 3.6.3
    • TL;DR: this is about an IK/FK switch setup with a single bone chain, where either an IK constraint to the hand is active (for IK), or a Copy Location constraint on the hand (for FK).
    • Sybren: Added complexity is that the dependency graph cannot rebuild its relations during animation playback. This means that we cannot just treat an animated disabled/enabled constraint as fully enabled, and later fully disabled.
    • Sybren: this setup is seen as a corner case that wasn’t really supported to begin with, and that now “just” results in different behaviour.
    • Nathan agrees, as the setup from the bug reporter is meant as an IK/FK switch, so it’s always going to be animated.
    • Sybren proposes to lower the priority from ‘high’ to ‘normal’.
    • Module agrees.

Next Meeting

The next meeting will be on Tuesday 2024-02-13T11:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.