The meeting will be on 2023-06-08T16:00:00Z. It is open for everybody interested to join on Google Meet (link below).
Present: Armin Halac, Brad Clark, Christoph Lendenfeld, Eduardo Rubio, Fani-Eleni Pandi, Jason Schleifer, Marion Stalke, Nathan Vegdahl, Nitin Rawat, Paolo Amadini, Sybren Stüvel
People present are referred to by first name for brevity. Others are referred to by full name.
Links
- Google Meet. Note that there are no recordings of the meeting. This way everybody is free to say or show anything.
- A&R Module Meetings agenda for inclusion in your own calendar
- Previous and next meeting notes
- Issues & Pull Requests
- #animation-module chat channel
Since the Last Meeting / Announcements
- Sybren renamed ‘Powership’ to ‘RigNodes’ so that it’s more self-explanatory.
- Grease Pencil was used for certain effects in Spider-Man: Across the Spider-Verse (source: Daniel Martinez Lara)
- Sybren, Nathan, and Brad had a meeting about requirements for a new data model. Not much concrete outcomes yet.
Landed
Blender 3.6:
Blender 4.0:
- e73b9c95f5b: Refactor: Bidirectionality on Graph Editor Sliders
- 98d48c16a33: Paint: Add loop select for faces
- b95cf5ff0f3: Animation: Update NLA “TAB” tweak mode to be full stack evaluation
- #108547: Assets: add function to copy asset data to another ID
- f12e9f32b56: Fix #32022, #43188, #100373, Armature modifier - Preserve volume + Scale
- #108715: Cleanup: Move anim_filter.c to C++
RigNodes:
Short-term goals / Ongoing Work
- #104673: Animation: operators to update the pose library
- Sybren working on this, more described below.
- #99113: Add Selection functionality to weight painting mode
- Christoph is working on the last bit.
- #107126: Make FCurve.update() also deduplicate keys
- Sybren will create PR for this.
- #106952: Animation: Butterworth Smoothing filter
- Under review by Sybren
Patch Review & Decision Time
- #106214: Only show FCurve modifier toggle widget when there are modifiers
- To decide: land as-is, or expand what the wrench button actually does?
- Brad: make it 3-state. Just for visualisation of ‘there are some muted modifiers’.
- Sybren: still keep the functionality as-is, as ‘muting all’ is not the same as ‘muting every one individually’? Module agrees.
- Nathan: even when there are no modifiers at all, the wrench should still be showing.
- Christoph: agrees, can just be dimmed heavily. Would be consistent with Blender’s over “this doesn’t do anything but you can change it anyway” behavior.
- Decision: instead of hiding when there are no modifiers, heavily dim the wrench.
- #108309: Animation: Merge Push/Relax Rest Pose operators
- This PR merges ‘Push to’ and ‘Relax from’ Rest Pose operators, as they are doing the same thing but just in different directions.
- Christoph would like to have more opinions on the name, “Blend Pose to/from Rest Pose” is currently on the table, but nobody is happy with that.
- Marion: “Blend with rest pose”
- Module is happy with that.
- Christoph: would be inconsistent with the graph editor ‘Blend to Default Value’; shall we change that to ‘Blend with Default Value’ too?
- Module agrees.
- Decision: these get renamed:
- Viewport operator: “Push Pose from Rest Pose” ⇒"Blend with rest pose"
- Graph editor operator: “Blend to Default Value” ⇒ “Blend with Default Value”
Slotted Actions
Sybren and Nathan have discussed a design for ‘Slotted Actions’, which Sybren explains to the module.
The gist of it:
- The ‘empty’ slot acts exactly like an Action acts now. Its animation will always be applied to whatever the Action is assigned to.
- If a data-block (like an object, in the drawing below) has a slot name, it will also be animated by the data in that slot.
Here the green lines indicate the FCurve groups (like ‘Object Transform’), and yellow lines indicate the FCurves.
- Jason: think about handling renaming
Hjalti
→Hjalti.001
- Would be cool to see if we could include regular expressions as well
- More questions by Jason:
- How to handle this with pose library?
- How will things be visualised in the dopesheet, graph editor, etc?
- Paolo: name-based mapping is spot-on, it’s how people reason about animating things.
- Armin: multiple datablocks with the same slot? Sybren: yes, they’ll simply share the animation, just like assigning the same Action works now.
- Christoph: what if there’s animation in the empty slot AND the named slot? Sybren: both will be evaluated, and if there is overlap, the named slot ‘wins’.
Demo of ‘Update Pose Asset’ and ‘Replace Pose Asset’ operators
Sybren showed two new pose library operators, to gather feedback on the functionality: #104673: Animation: operators to update the pose library
- Paolo: naming is unclear, the danger of discarding parts of the pose deserves more clarity.
- Jason: prompt that clarifies “you’re going to delete, are you sure?”
- Sybren: rather not. It could show ‘X FCurves deleted’ in the bottom, as a warning.
- Marion: “Overwrite” instead of “Replace”?
- Nathan likes
- Jason: “Replace With Pose”? “Update pose with selected bones” and “Replace pose with selected bones”?
- Marion likes
- Paolo: another option, that uses all the bones in the pose regardless of their selection state.
- “Update pose asset from current pose”
- Sybren: “Refresh Pose”? Module likes.
- Sybren: “pose” vs “pose asset”?
- Paolo: it’s clear
- Jason: “asset” reminds him of “the character”, so maybe “library pose”?
- Sybren: Maybe “update/replace with selected bones”?
- Jason: but then what are you updating?
- Paulo: whatever you clicked on
NLA behavior: last frame of clip
Paolo describes an inconsistency with NLA strips, compared to other NLA-like systems. And even compared to the VSE.
With two strips, X=1…10
and Y=10…20
, on frame 10
the animation system shows the last frame of strip X
.
- Brad & Sybren feel showing first frame of
Y
would be good. - For looping, things might be different. With NLA strip
X=[1, 10]
set to loop, on frame10
itself, should it show frame1
again?
Paolo is going to investigate the technical implications of changing this behavior.
Bone Collections
Sybren talks about the idea to replace the armature’s layer system with a collections-like system.
- Sybren: we have to hurry, but for backward-incompatibility Blender 4.0 is THE time to do it.
- Marion explodes in happyness.
- Brad: is there an existing start?
- Marion is using the Bone Manager add-on.
Help Needed
- Patch authors unresponsive:
Next Meeting
The next meeting will be on Tuesday 2023-06-13T10:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be linked in the #animation-module channel before the meeting.