The meeting will be on 2025-03-06T17:00:00Z. It is open for everybody interested to join the video call (link below).
People present are referred to by first name for brevity. Others are referred to by full name.
Present: Andy Beers, Brad Clark, Christoph Lendenfeld, David Woolf, Dorothee Dittrich, Drew Medina, Jorn Boven, Nacho de Andrés, Nathan Vegdahl, Nitin Rawat, Sybren Stüvel
Links
- Video Call
- A&R Module Meetings calendar for inclusion in your own calendar app
- Previous & next meeting notes
- Long Term Plans & Current Focus
- Issues & Pull Requests
- #module-animation chat channel
- Draft agenda for any upcoming meetings
Opening
- Please raise your hand when you don’t understand things for any reason. The purpose of these meetings is collaboration. It is absolutely fine to ask for explanations.
- There are no recordings of the meeting. This way everybody is free to say or show anything they want.
Since the Last Meeting / Announcements
- Flow won the Oscar for Best Animated Feature!
- Next Wednesday the 4.4 release candidate is built.
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- 6f80d722c61: Fix #135163: Grease Pencil layer visibility animation doesn’t work in NLA (Sybren A. Stüvel)
- 39fdbded9a8: Fix #135122: Crash when using pose assets created without slots. (Christoph Lendenfeld)
- ca980dc4f92: Fix #134746: Action Slot keyframe summary incorrect in Action Editor and Dopesheet (Nathan Vegdahl)
- 03991344069: Fix #135260: Snap stuck when dragging time cursor (Christoph Lendenfeld)
- a03077c22de: UI: show ‘+ New’ button in Action Slot selector when no slot is selected (Sybren A. Stüvel)
- aada31c0411: Anim: Fix issue where F-Curves were half-initialized when importing USD (Sybren A. Stüvel)
- 16d819caa93: Fix: Reorder versioning of legacy Grease Pencil and Actions (Sybren A. Stüvel)
- a485bf65564: Fix #134034: Baking a custom property with a name existing in Blender failed (Christoph Lendenfeld)
- b834ca4fb10: Fix: Custom Properties named identical to existing properties fails to key (Christoph Lendenfeld)
Technical Documentation
- bf580285: 4.4: document guidelines for working with slotted actions (Sybren A. Stüvel)
- 81b172e0: Anim: Add another example to the C++ guidelines of slotted actions (Sybren A. Stüvel)
- ad23faaf: Anim: add more example code to the guidelines about slotted actions (Sybren A. Stüvel)
Ongoing Work
- High Prio bugs:
- #132423: Crash/Freeze when having multiple drivers on vertices positions (probably needs some dependency graph support)
- #135236: Legacy slot not assigned automatically when assigning (legacy) action in 4.4 beta
- Sybren & Nathan had discussion. Came to the conclusion that we’ll have to accept that in certain cases there won’t be a slot auto-assigned. In any case, after a slot has been assigned manually, switching to other Actions should automatically assign the slot of the same name.
- During the meeting, Nacho voices concern about having to manually select a slot for each of the 300 Actions he has in a file.
- Sybren: that’s not necessary, as once the Armature has been assigned an Action and a Slot, it’ll remember the slot name. Switching to another Action will pick up the slot with the same name, if it exists.
- Nacho tests this & confirms that only the first slot selection is a manual action, and after that things are automatic. This is acceptable.
- For Blender 5.0 we envision the following improvements:
- The last-used slot identifier should be visible in the slot selector, and editable / erasable, when no slot is assigned.
- Slot auto-assignment happens only based on the last-used slot identifier. So no longer based on the data-block name.
- When the last-used slot identifier is empty, no slot will be auto-assigned.
- This will make the situation more predictable, and give users control over when a slot gets assigned, and when not.
- #135375: Fix #135290: NLA move channel crash when GP object data animation is present (fix waiting for approval)
- #135523: Pose Mode Motion Paths is not honouring Selected Keys option (fix approved & will land soon)
- Andy:
- #135527: WIP: Fix #135062: Modeling: Add Auto Normalize when Assigning vertex weights
- Christoph will provide an example file, with a mixture of vertex groups for bone deformation and other uses (like masks / hair length / whatnot).
- #135527: WIP: Fix #135062: Modeling: Add Auto Normalize when Assigning vertex weights
- Christoph:
- Christoph’s weekly report
- working on bugfixes & re-testing older bug reports
- #135583: Anim: Unit Tests for baking code an attempt to make sense of the baking code
- Christoph: even though the code uses some of the backward-compatible API, it still works well with multi-slotted Actions. I don’t know why.
- Sybren will also look into it.
- started looking into #91973: Design: More frame snapping options again
- Nathan:
- Nathan’s weekly report
- Last meeting we discussed playback behavior with scene frame range. Everyone at the meeting agreed on how it should behave, with relatively little discussion needed. However, Nika Kutsniashvili (not present at the meeting) commented on the meeting notes with a use case we hadn’t considered. I think it would be good to revisit this with a more thorough discussion, and Nika present.
- We also discussed this at the Tuesday meeting with the Blender Studio animators (see further below for that discussion). We think we came to a good solution.
- Sybren:
- Sybren’s weekly report
- #135443: UI: show ‘+ New’ button in Action Slot selector when no slot is selected
- Wrote Developer Guidelines for working with Slotted Actions
- Found some more places in the code where only the legacy action F-Curve storage was referenced:
- Duplicating a Scene (except for Full Copy) (fix)
- Undo in Curve object edit mode: stores a list of F-Curves in the undo buffer, and fully replaces them in the Action on undo. Also in 4.3 this deletes F-Curve groups. (PR to remove this code)
- “Remove Empty Animation Data” operator.
- Shapekey Animation (‘eval time’ & ‘interpolation’ properties) anim filtering code.
- #135566: Fix #135523: Calculate Motion Paths ignores Selected Keys option (not found by Sybren, just included here for completeness)
- Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, and Pablo Fournier:
- Discussed behaviour for bone selection operators.
- Sybren wrote: #135105: Anim: Pose Mode bone walking
- Philipp Oeser worked on #134503: Improvements to bones “Select Child/Parent” hierarchy, but closed the PR to let someone from the A&R module take over.
- Discussed frame range playback behavior (follow up to the module meeting discussion last week):
- Nathan summarized the discussion so far from the module meeting and the comments on the meeting notes.
- Sybren: related, I have been working on an addon that adds a bunch of playback options. For example, an option to not loop. Some of these could be added as built-ins.
- Nathan: options are great, but we also need to decide on sane defaults.
- Animators: didn’t even know about the during-playback ability to move the frame head before scene start. Never used that, don’t really want it.
- Nathan: there are actually two issue here:
- Currently the behavior when starting playback and during playback are different. Is that desirable?
- What should the out-of-range behavior be for playback? Nika has a use case for playing from before the scene start.
- Animators:
- The behavior should be consistent between the two.
- At least the default should be to snap in-range.
- Sybren: we can accomodate Nika’s (and other people’s) use cases with additional playback options.
- Conclusion: make starting-playback and during-playback behavior consistent, add option for playing back before scene start that’s off by default.
- There was also discussion about the current options in the Timeline Editor’s “Playback” menu. Specifically: the playback vs scrubbing related options are very confusingly intermixed. All present agreed that should be cleaned up to make that distinction clear.
- (continuing in the module meeting:)
- Drew: also wants to have an option for playback after the end frame.
- Sybren: that’s fine, it can just play without looping.
- Nacho: maybe could be a single option ‘restrict playback to scene range’, which would cover the before & after. Sybren: the option that’s now called ‘playback: restrict to range’ should be named something like ‘Scrubbing: restrict to range’.
- Nathan: in general, wants to reduce configuration options if we can help it. So in favour of the one-for-both-sides option. And maybe we can merge more. Good for discussing in a design task.
- Sybren: I think it might also be nice to have a playback option that always starts playback at the start frame. That’ll make it more convenient to see the frame you’re editing in the context of the preview/scene range.
- Nathan: the option to (dis)allow negative frames is goofy. It should always be possible, especially as there’s the option to limit to the scene range.
- Nacho: maybe some exporters do not allow negative frames, it could be for compatibility with those?
- Brad: FBX has no limitation here. Not sure about other formats. Also in favour of keeping these settings clear.
- Nathan: it’s also common to use negative frames for warm-up of simulations. It’s common to do this by always starting at frame 101 (for example), but again that’s just goofy.
- Sybren: even with the preference OFF, it’s still possible to have keys on negative frames, by moving them after creation. It just limits the playhead.
- Nathan: proposes to remove the option altogether.
- Module agrees. Sybren will check with some other animators before finalizing.
- On the topic of looping: Nacho suggests hooking up the playback looping to the Action’s setting for Manual Frame Range + its ‘Cyclic’ option.
- Sybren: that’s hard, because multiple objects can have different Actions with different lengths & options there.
- Nathan: could be a nice addition to the Action to Scene Range add-on, to make it set up the looping as well.
Help Needed
- #131810: UI: Transparent Armature Bone Selection needs testing & feedback.
- Jorn & Nacho: is it possible to draw the bones semi-transparent, and selection work on the wires only?
- Nathan: that’s not possible right now, with the way Blender has structured things internally.
Next Meeting
The next meeting will be on 2025-03-13T17:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.