The meeting will be on 2025-04-03T16: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, Christoph Lendenfeld, Nathan Vegdahl, Sybren Stüvel, Jeremy Bot, MohammadHossein Jamshidi, Nacho de Andrés, RedMser, Spencer Magnusson, Srivathsav Kyatham
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
- Blender 4.4.1 is slated for release next week on Tuesday, 8. April.
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- 9811c5c5de9: Fix #136706: Converting bone rotation with Rigify crashes Blender (Sybren A. Stüvel)
- 6b62ec5b3aa: Fix #136736: Pasting keyframes broken when action groups are collapsed (Sybren A. Stüvel)
- 7a4ce4184d4: Shape Keys: Add “Duplicate Shape Key” operator (Hans Goudey)
- 28d0bef7065: Fix: Retain slot name when baking action (Christoph Lendenfeld)
- 05aac73b45f: Fix: FCurve noise modifier offset affected by scale (Christoph Lendenfeld)
- dc38872326b: Fix #136887: collapsed channels not getting filtered properly (Nathan Vegdahl)
Ongoing Work
- High Severity bugs:
#136706: Anim: Converting bone rotation with Rigify crashes Blender(fix)#136728: Motion path keyframe number not showing on bones(fix)#136736: 4.4 Graph Editor. copy/pasting a single keyframe pastes on unselected curves when channels are collapsed(fix)#136887: Name Filter/Search in Dope Sheet and Timeline editors do not hide channels properly(fix)- #132423: Crash/Freeze when having multiple drivers on vertices positions
- Proposed solution: do not make data like this animatable/drivable.
- Jeremy: isn’t that what bones are for?
- Sybren: yes, or hooks, or shapekeys.
- Nathan: investigated. Other things are also accidentally animatable, like the vertex indices of mesh edges. Things in Blender are animatable by default, and a developer has to explicitly disable animation. It was probably an oversight that this was animatable to begin with
- Andy
- Christoph:
- Christoph’s weekly report
- continued work on #132904: WIP: Create Asset thumbnails via a screenshot anywhere in Blender → new video in PR description
- #136826: Anim: Separate transform snapping flags in the driver editor
- still waiting for feedback on #135913: WIP: Anim: Playhead snapping prototype
- Nacho: it’s awesome.
- Nathan:
- Nathan’s weekly report
- Mainly just PR reviews and bug fixes, for Animation & Rigging module work.
- Sybren:
- Sybren’s weekly report
- Created design task #136838: Shape Keys: multi-select & copy to selected
- #136836: Anim: pose mode Select Mirrored keep unmirrorables selected
- While investigating #136706: Anim: Converting bone rotation with Rigify crashes Blender, I found that Rigify’s Convert Rotation Mode operator has some flaws:
- Bug: Does not support slotted Actions yet (so only operates on 1st slot).
- Bug: will operate on ALL actions when you tell it to only update the selected action and that action is named “ALL”.
- Bug: uses action name to identify which action to work on, but data-block names are not necessarily unique.
- Bug: quaternion to Euler conversion does not necessarily follow the same path.
- Bug: conversion between different Euler rotations (f.e. XYZ → ZYX) silently does nothing.
- Bug: axis-angle is not supported.
- Bug: when constructing the RNA path for a bone F-Curve,
bpy.utils.escape_identifier(string)
is not used. - The computational complexity is horrendous (for every bone, and every keyframe on the bone’s rotation F-Curves, it goes over all F-Curves in the action, and again for every key it inserts on the new curves).
- Nathan: This is weird to be in Rigify, should be in Blender itself. Implemented correctly.
- Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, and Pablo Fournier:
- Desire for planning clarity.
- For the module meeting: let’s make a list of things to do, and prioritize.
- Continuing in the module meeting:
- #135105: Anim: Pose Mode bone walking
- #135429: Bone custom shapes: ‘Override Transform’ - Updating it’s pivot point after mesh deformation
- #136838: Shape Keys: multi-select & copy to selected
- Pose mode Shift+G extra options (discussed in earlier module meeting)
- #135697: UI: Add Footer to Animation/VSE Editors
- Action Slot Selector UI improvements.
- Next/prev keyframe operators (different operators for graph editor and rest of Blender, hard to map to keys) (#136176)
- Graph Editor: ctrl-click on eye-icon could isolate (just like in the Outliner)
- Pose mode Select Mirrored: keep selection state of bones for which there is no mirrored version. (PR: #136836)
- Moving the Copy Global Transform add-on into Blender itself.
- Rotation Mode conversion tool (replacement of the Rigify tool described above)
- Z=long axis for bones
- Separate dependency graph nodes for each action slot (so tagging and re-applying animation can be done independently for each action user).
- Nathan: For playback it’s not going to matter, because then everything needs to be evaluated anyway. But for editing in the viewport etc. it may matter.
- Sybren will create tasks for those points that don’t have a task in the tracker yet, and put them on the ‘Short Term’ column of the workboard.
- Nathan is going to go over the ‘Uncategorized’ colum to clean it out.
- Nacho: how about the layered Actions? Will that be looked at for 4.5?
- Sybren & Nathan: very unlikely, more important to get slots polished first.
- Nathan: let’s treat this as a “living list”, that we can always update & reprioritize. Module agrees.
Patches: Review & Decision Time
- #136672: Cleanup: Remove deprecated constraints
- Module approves!
- #136661: Anim: Freeze Transforms Constraint
- Sybren: this is fragile, easy to loose the frozen transform.
- Sybren: we can also make existing constraints easier to use (like Create Empty button?)
- Nathan: also such a ‘freeze’ constraint like this may make it hard to parent that frozen transform to the armature’s root bone. A rigger may make a nice rig, but when used in practice it might always lock to a world transform and be hard to use. It may be too much of a foot-gun.
- RedMser: this workflow is coming from animating in other software, where it works well. I’ll have to investigate whether these issues occur there too.
- Nacho: this is a great leap in the right direction. It could be made safer by using an approach similar to the Armature constraint (which references a transform relative the bone’s rest pose, which is visual and not so easy to lose). Nacho uses this as a more predictable version of the Child Of constraint.
- Nacho: it would be really nice if the Armature constraint could be set to limit itself to loc/rot/scale x/y/z as well, and maybe even have weights per channel instead of a boolean.
Help Needed
Testing & feedback wanted:
- #136826: Anim: Separate transform snapping flags in the driver editor
- #135913: WIP: Anim: Playhead snapping prototype
Next Meeting
The next meeting will be on 2025-04-10T16:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.