The meeting will be on 2024-11-14T17: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: Christoph Lendenfeld, Drew Medina, Julien Duroure, David Woolf, AnimSebs (Dillon Goo Studios), Demeter Dzadik, Felipe G, Ivan Cappiello, Jorn Boven, Nacho de Andrés, Nathan Vegdahl, Raymond Luc, Tal Hershkovich, Sybren Stüvel
Links
- Video Call
- A&R Module Meetings calendar for inclusion in your own calendar app
- Previous & next meeting notes
- 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
- Disney’s Skel-inbetweening for Intuitive Neural Motion Authoring.
They use Blender! It’s at the end of the video. - Element (the Blender Chat web interface & app) have removed the “room topic” from the room header. This means that, to get to the links to the meetings, draft agenda, etc. you now have to press the
i
button in the header first (or click empty space in the header), then check the sidebar. Despite many people pushing back this seems to be a final decision.
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- 88b10765ae1: Anim: add slot selector to NLA Action track buttons (Sybren A. Stüvel)
- ae5717905bd: Fix #130090: Grease Pencil object in NLA cause Blender to crash (Sybren A. Stüvel)
- 4306e746a5d: Fix #129630: Inconsistent marker selection (Campbell Barton)
- f025ff81fc9: Fix #129094: Sub-targets not symmetrized if from different armature (Christoph Lendenfeld)
User Manual
- 71a355013: Glossary: add data-block to the list of terms (Nathan Vegdahl)
- 149039f85: Update properties editor screenshot (Nathan Vegdahl)
- 7fbe4e0cb: Update action editor docs with new screenshots and phrasing (Nathan Vegdahl)
- 07232187c: Update NLA Sidebar docs for slotted actions (Nathan Vegdahl)
- cf91d3124: Update Action documentation (Nathan Vegdahl)
- 6f01b5eaf: Update action properties screenshot and docs for slotted actions (Nathan Vegdahl)
Ongoing Work
- High Prio bugs: None
- Christoph:
- Christoph’s weekly report
- #130029: Pose Library Polish Design Task to figure out all the issues that need to be ironed out.
- Nathan:
- Nathan’s weekly report
- Updated the user manual for Slotted Actions, in addition to general improvements to Action documentation.
- Now working on moving timeline buttons to a footer in the other animation editors.
- Question: the timeline is also the only animation editor that indicates what frames are cached (for e.g. simulation, baked geo nodes, etc.), so this will also need to be moved. Should this be moved to all animation editors, or just to e.g. the dopesheet?
- Currently can be turned on/off in the Timeline editor options.
- Nathan’s proposal: add to all animation editors, and make them toggleable as well.
- Demeter: wanted to suggest that as well.
- Demeter: would it be global or per editor?
- Nathan: per editor, so you can have one tiny Dopesheet that acts as the timeline does now, and the rest as it is now.
- Also taking some time to do some Python API cleanup for slotted actions.
- Sybren:
- Sybren’s weekly report
- Bugfixes & reviews.
- To discuss: #130261: Slotted Action NLA - weird auto slot assignement
- The question: If there is slot whose name doesn’t match, but there is only one of the suitable type, just take that one?
- Sybren: That’s the current behaviour of the Action Constraint already, we can do this for the NLA as well.
- Christoph: thumbs up.
- Demeter: sounds good-ish, but needs more experience to see what really works well.
- Sybren: will implement in a branch & make a test build.
- For grabs: Action versioning code: name the slot “Shared Slot” when the Action was shared (discussed in #129563)
- Name it after the first animated data-block? Or name it “Shared Slot”?
- Demeter: “Shared Slot” might not explain enough yet. Sybren: with “shared slot” you have a term to look up in the manual.
- Tal: showing the user count in the slot selector would also be great, because then you could click it to duplicate the slot.
- Sybren: yes, see #129563 - An extra Action slot created called "Slot" - blender - Blender Projects
- Demeter: let’s give our ideas to the UI guys and let them do it? Could also be useful generically for Python developers.
- Ivan: +1 for “Shared Slot”
- Sybren: let’s go for “Shared Slot”, until we have the UI improvements that make it clearer that the slot is actually shared.
- Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, and Pablo Fournier:
- Skipped for bugfixing.
Help Needed
- Tal: Smart Bake, can maybe contribute.
- Tal: It wasn’t shown at the conference as on the todo, and I would like to give it a go.
- Sybren: it needs a redesign & rebuild, if you’re up to that, please do!
- Nacho: I love your baker, please give it to Blender
- Christoph will help to get Tal started.
- Nacho has ideas for options, like instead of “remove constraints” have an option “mute constraints”, that are super beneficial and easy to code.
- #129921: Sync to Audio on Playback menu breaks the shortcut for Jump to Keyframe on Graph Editor
- Who is developer & has a mac? Sybren has one, but not really a lot of time to investigate.
- Feature request from Demeter Dzadik: “left/right” support for Bone Collections (to be fair, he only mentioned the Symmetrize Armature operator). Needs thorough design proposal first
- What about the “Symmetrize Armature” operator?
- If a “Right Leg” collection doesn’t exist, create it, and parent it to the same collection as “Left Leg”?
- Un-assign the symmetrized bone from “Left Leg”, and assign it to “Right Leg” collection instead?
- Sybren: should it be a separate operator? Hmmm but it now also handles constraints.
- Demeter: it used to be very simple, and it worked badly because it didn’t symmetrize enough.
- Felipe: the only things that it doesn’t handle yet are collections & drivers.
- Felipe: what if the parent collection is also named “sided”? Demeter: yeah then the “parent finding” could go up the entire hierarchy, and do something there, and that would make things more complicated.
- Christoph: likes the proposal (use the same parent for the mirrored collection). Dragging & dropping to some place else is easy, and up to the user. Felipe agrees, it’s the easiest way to do it.
- Nacho: if there is a mis-match between the name of the bone & the name of the collection, show a warning to the user and leave that bone alone. Demeter: warning is good idea, but then Blender should still do it.
- Sybren: putting bones into the correct “sided” collection could be another operator.
- Jorn: Maybe sometimes you have a pole vector for an IK that needs to go on the right side of the character while its controlling an IK on the left. An IK that would be pointing inwards could have such a case.
- Christoph will work on this. Should be reasonably quick to do (Famous Last Words™).
- What about the “Symmetrize Armature” operator?
- #129535: Fix #123875: FCurve noise modifier producing values out of range Need artist feedback. This changes the FCurve noise modifier behavior a bit.
- Christoph: Is technically a bugfix, but it does change the output of the noise modifier. The current modifier produces values outside of the expected range.
- The fix is to use Blender’s “new” built-in noise modifier. There will be an option to switch between the noise generators, so that old files keep behaving the same.
- Needs testing, to see how people like this noise.
- Build is linked from the pull request description.
- Demeter: poke Rik & Hjalti about this, they use it a lot.
- Addon developers! Please try updating your addons to use the new slotted action APIs, and give us feedback. Not just on whether you can get things done, but on how it feels and what was confusing/annoying about working with the APIs, so we can make them better.
- Demeter: in Cloudrig there’s IK/FK baking, which inserts keys. Would this be a use case? Sybren: yes.
- Already planned API changes (to account for when providing feedback):
- Rename:
Slot.action_slot_name
→Slot.last_slot_identifier
- Rename:
Slot.action_slots
→Slot.action_suitable_slots
- Rename:
Slot.name
→Slot.identifier
(because it’s not the user-facing name, but rather the key intothe_assigned_action.slots
) - Change
Action.slots.new()
to take the following parameters:new(type='ENUMVALUE', [name="..."])
- Note that
Slot.name_display
keeps that name, even though the UI presents it as “the Slot name”. If we were to call itname
, it would be too tempting to think it’s the identifier.
- Rename:
Feature Request for Action Constraints
AnimSebs: could we get a “Replace” option for the Action constraint, so that it overrides all the constraints above it? Would be amazing if that works well with the influence slider as well.
- Sybren: this is very sensible
- Nathan: will build it.
Felipe Bendy Bone to Bone demo
Felipe made a way to convert bendy bones to a bone per segment, for export to game engines.
- Julien Duroure: This is on my TODO list from ages for glTF export, but didn’t started it yet
- Nacho: scaling might become an issue?
Felipe will link his notes.
- Demeter is interested in the weight distribution code.
- Sybren: we might be able to let Blender expose these weights to Python, so that this doesn’t need to be re-implemented when add-ons want to use it.
Next Meeting
The next meeting will be on Tuesday 2024-03-19T11:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.