2024-03-28 Animation & Rigging module meeting

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

Present: Anders E, Bassam Kurdali, Brad Clark, Christoph Lendenfeld, David W, Eduardo Rubio, Falk David, Luciano Muñoz, Nacho de Andrés, Nate Rupsis, Nika Kutsniashvili, “Showtime”, Sybren Stüvel

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

Links

Since the Last Meeting / Announcements

Landed

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

Blender

Technical Documentation

User Manual

Ongoing Work

  • High Prio bugs:
  • Christoph:
  • Sybren:
    • Sybren’s weekly report
    • Mostly bugfixing for the 4.1 release.
    • ‘Active’ state of bone IK properties: #119678.
      • When AutoIK is enabled, should we activate the IK-related properties? Module says yes.
      • Why are the ‘Lock X/Y/Z’ properties always active? Shouldn’t this be consistent? Module says yes.
      • Nate: maybe add a tooltip that explains when they’re inactive.
    • Baklava: added Animation mode to the Dope Sheet (#119875: WIP PR)
    • Question: when deleting FCurves, empty ActionGroups are deleted too, and even empty Actions are entirely deleted. Do we want to retain this with the Animation data-block? Sybren thinks to not do this, as the decision of which data-block is animated by which Animation would be erased.
      • Module agrees to keep bindings and Animation data-blocks in place when they’re empty.
      • Nacho: maybe we could use this as a place to bind other objects / datablocks as well. Drag & drop, or with a drop-down to choose other objects to bind.
      • Nate: you would be able to clean this up from this editor, right? Sybren: yeah, at’s certainly something to implement.
  • Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, and Pablo Fournier. This was further discussed at the module meeting.
    • Sybren showed Baklava progress, with dope sheet and graph editor support.
    • Hjalti voiced concern about gradual introduction of the Animation data-block, and co-existence next to the Action. Sybren explained this is necessary in order to get enough testing, and thus gather more feedback, before deprecating Actions.
      • Bassam: Any plan for conversion of Action to Animation? Sybren: yes, in a few stages (first per Action, then all Actions of selected objects merged into one Animation, and finally something automatic to open legacy files). Bassam: that’s pretty friendly.
      • Christoph: +1 for side by side
      • Falk: behind experimental flag until feature ready? Sybren: “ready for daily use” yes. “feature complete” no, because that would imply being able to replace the NLA, which isn’t going to happen on short notice. Currently aiming to remove the experimental flag as soon as possible.
      • Nacho: do we keep backward compatibility and get tools to convert an Animation to Actions? Sybren: Yes.
      • Falk: So in a release will people have to e.g. choose how to key something? Or manually create an Animation data-block? Sybren: yes, we’ll need some option for that I think. Not entirely clear yet. For sure, when something is already animated by either an Action or an Animation, that’s where new keys will go as well.
      • Nacho: How is the UI going to be presented? Sybren: There will be a warning when looking at the Action editor but the object is animated by an Animation (and vice versa). Nate: definitely.
    • We discussed usability issue of the graph editor, where it’s hard to zoom either horizontally or vertically (and not both at the same time).
      • Nacho, Brad, Bassam, David share the feeling.
      • Nacho: uses ctrl+middle-drag, but that can be clunky.
      • Sybren: proposal to make scrollwheel work to zoom in time only. And ctrl+middledrag snap to X/Y axes.
      • Christoph: that last thing might be too clunky as the snapping can be harsh when it impacts the whole editor. Maybe do that only when a certain threshold is passed, then snap.
      • Nacho: maybe a hotkey for doing the opposite of the regular one (horizontal/vertical zooming).
      • Nacho: shift/ctrl scroll now do panning, which is also done with ctrl+middledrag.
      • Nate: what does VSE do? Turns out to be consistent with what we want.
      • Christoph: doesn’t use mouse when animating, so could be good to have a hotkey+drag mode as well.

Patches: Review & Decision Time

  • Harley Acheson asked in the chat about removing confirmation popups for two operators:

    • GRAPH_OT_keys_to_samples (“Convert selected keys to samples”), and
    • NLA_OT_make_single_user (“Make each action single-user in the selected strips”).

    For each of these there are three choices:

    1. Remove the confirmation.
    2. Keep the confirmation as the “small type”, which auto-cancels when you move the mouse away from it.
    3. Make the confirmation the “large” type, which allows for an extra descriptive line and requires a button press.
    • Sybren: Remove popup for “Convert selected keys to samples”? It’s quite visual that this happens.
    • Christoph: Agrees. And in the future, let’s just get rid of the operator (as there is no actual need to have special support for ‘sampled FCurves’).
    • Brad: the more pop ups the more they get ignored.
    • Nate & Nika: in the NLA good to keep them, as it may be hard to see when you did that until much later.
    • Sybren: have the big one then with some extra info? Nate will think of something to put in there.
  • #119386: WIP: Fix #119300: Bones in pose mode snap to the posed object

    • This fixes spasms in the snapping code that occur when transforming bones and snapping to bones/vertices/objects that depend on those bones.
    • Basically makes snapping more reliable, at the expense of removing some snapping behaviour (for example dependency = ‘Copy Rotation’ and snapping location).
    • Bassam: probably ok, preferable to having weird janky behaviour. Proper fix is to make the depsgraph smarter about this.
    • Module does like the added option to snap to bones, even if it doesn’t fix this particular issue.
    • Nacho: maybe some mode where you could temporarily disable the depsgraph evaluation while you’re moving the bone?
    • Bassam: Vertices have the same problem, for example where there is a Surface Deform modifier. Should be solved generically.
    • Nika: does not want separate bone snapping, as Edge also works to snap onto the bone itself, where Vertex snaps to the endpoints. He wants more of this!
    • Falk: I agree. I would also disable snapping for things that are in a dependency loop. Seems like there are only edge cases where this is useful
    • Sybren: maybe once we have ghosting, we could snap to the ghost instead. Nate: “Ghost snappers!”

Next Meeting

The next meeting will be on Thursday 2024-04-04T16:00:00Z. Note that Amsterdam will have gone from winter to summer time by then, so the meeting time may have shifted by 1h in your local time.

Again it will be open for everybody who’s interested. The provisionary meeting ageNacho will be updated before the meeting.

8 Likes

Hi, I’m trying to understand this project and keep updated, but you guys are pretty fast! Thanks for the hard work!
I have a question, but sorry if it’s already explained… I want to know about a specific scenario (maybe there’s a better way to do this):

  • Animate a flower petal growing, with the bend modifier, armature, shape keys, displace modifier, and encapsulate/group these animations.
  • Share this complex/combined animation data with the other 50 petals and have a way/setting to offset this animation differently for each object/IDs keeping the source animation as reference, not duplicated.

Will this kind of situation be covered in this project? Does this make sense? Is it possible?

Another way would be bake the petal with Alembic/USD/MDD/PC2 and share this cache with the other 50 petals but be able to control the offset in each object while reading the same cache file. But this approach is more on the Geometry Nodes side?

1 Like

I’ve been wondering the same thing, I asked on the recent blog post if something similar to this would be possible with the new animation system but got no answer there. Having a way to use the same animation data (not duplicated) but offseting it on each instance would be amazing for motion graphics too.

2 Likes

It’s not directly on the planning, but it is a known use case. The short term planning is available at #120406: Animation: Project Baklava phase 1: multi-data-block animation.

1 Like