The meeting will be on 2024-03-07T17:00:00Z. It is open for everybody interested to join the video call (link below).
Present: Christoph Lendenfeld, David Eugene Rozier Jr., Eduardo Rubio, Jason Schleifer, Nate Rupsis, Nika Kutsniashvili, Pierrick Picaut, Scott Wilson, Sybren Stüvel
People present are referred to by first name for brevity. Others are referred to by full name.
Links
- Video Call. Note that there are no recordings of the meeting. This way everybody is free to say or show anything.
- A&R Module Meetings calendar for inclusion in your own calendar
- Previous & next meeting notes
- Issues & Pull Requests
- #animation-module chat channel
- Draft agenda for any upcoming meetings
Since the Last Meeting / Announcements
- Bcon4 soon: 13 March.
- The 4.1 release is planned for 16 March.
Landed
Names are from the Git log. This list is limited to functional improvements & bugfixes.
Blender
- Refactors from Christoph Lendenfeld
- 1c5766f8bc9: Fix #118878: Anim: pinned bone custom properties not visible in edit-mode (Sybren A. Stüvel) (2024-03-01)
- 90ef46baa1b: Anim: DNA for
Animation
data-block (Sybren A. Stüvel) (2024-03-07)
Technical Documentation
- 60e89c4: Anim: update ‘useful links’ section in the Anim & Rig module page (Sybren A. Stüvel) (2024-03-07)
Ongoing Work
- High Prio bugs:
- Of interest: #110562: Mesh Boolean node crash when operation is keyframed
- Sergey Sharybin in Blender Chat: Dependency graph evaluation (and thus also the animation system) is not supposed to trigger an update() on properties.
- Of interest: #110562: Mesh Boolean node crash when operation is keyframed
- Christoph:
- Christoph’s weekly report
- Looking into refactoring keyframing code, as preparation for hooking up Project Baklava.
- Sybren:
- Sybren’s weekly report
- Handling reviewer feedback on #118677: Baklava: minimal data model
- This PR will be reviewed commit-by-commit, and then land in one go.
- Animator meeting at Blender HQ, with Rik Schutte, Hjalti Hjálmarsson, Pablo Fournier, and Sybren:
- Layered animation:
- Halti about layers: so broadly apliccable that it got confusing. They’re used for different ‘takes’ (versions), for grouping animations of related objects, and for actual layering (mixing) of animation.
- Hjalti explained how he expected versioning to work like it does now with
Action
s: you duplicate theAnimation
. He expects that this would switch theAnimation
to its copy, not just for the object for which the ‘duplicate’ button was clicked, but for all objects animated by thatAnimation
. - Sybren explained how this is easier to do with layers, by having a group layer for every version. Still, Hjalti’s idea should be relatively easy to implement too. Of course there should be a way to break these apart; Rik suggests a similar menu to what now is shown when duplicating the Scene.
- Hjalti and Rik also a bit confused that a single layer can contain animation data for multiple characters. They would expect a layer to be limited per character.
- Sybren explains this is a technical necessity, if we want to later introduce strips, or have a layer with multi-character procedural animation. Of course the animation data inside that layer is going to be presented grouped by animated ID, and not all shoveled into one big pile.
- For the module meeting: are we trying to put too much into the concept of ‘layer’?
- For the module meeting: what should happen by default? All F-Curves into one layer? Or a layer per animated ID?
- Multi-ID animation:
- How to determine which IDs share an
Animation
data-block, and which ones have one of their own? This could be determined in a popup menu when keying something on a not-yet-animated data-block.- Always create a new
Animation
data-block. This is what Blender does now withAction
s. Might be closer to what Blender animators expect, but also hides away the multi-ID animation possibilities. - Have an optional “active
Animation
”. If that is set, new animation all goes into that one (+ option ‘create new’). - Always offer a choice of all
Animation
data-blocks in the current blend file (+ option ‘create new’) - Offer a choice of all
Animation
data-blocks that are currently actively in use (+ option ‘create new’)
- Always create a new
- Regardless of the above choice, it should be easy to say “bind these objects together”, which would transform multiple
Animation
data-blocks into a single one.
- How to determine which IDs share an
- Regarding a new name for ‘Output’:
- Overall the animators felt the name isn’t that important, if the drop-down list where you select them is clear (i.e. “the animation for Einar”).
- Sybren: The advantage of ‘binding’ is that it also makes the mass-switching of
Animation
data-blocks (as Hjalti described above) makes more sense. All data-blocks that are bound to the sameAnimation
are switched in unison. - ‘Binding’ has landed in
main
(90ef46baa1b).
- Layered animation:
About Animation
duplication:
- Nika wouldn’t like duplication for versioning when you only want to change one character. Makes it very hard to go back to another version. Especially when you want change X for character A, and change Y for character B. For him using layers would be much more convenient.
- Sybren: That’s actually the expected workflow. Hjalti’s expectation was (for me) unexpected, but something interesting that we likely can support.
About multi-ID animation in a single layer:
- Sybren: are people surprised when multiple datablocks/characters can be animated by one layer?
- Jason: not at all surprised. I like the idea of being able to control multiple things in a single layer
- Nate: I think it’ll be a paradigm shift for sure. But (hopefully) a welcome one.
- Scott: will be nice for TDs and bringing animation into other files.
- Pierrick: Yeah, my conservative side tells me it’s gonna be hard but I think having more freedom is better in the end. Up to you to find your workflow.
- Eduardo: Being able to include multiple characters in a single layer sounds super useful.
- Nika: when teaching animation in Blender, people get confused when to create a new object. Is a car a new object? Or are the wheels different objects? The answer usually is “whatever you decide”. Same with layers: how do you want to work? Being able to come up with your own workflow is super advantageous.
- Pierrick: Retiming interactions between a couple (or more) charcters will become way easier for sure. And probably way cleaner than the dopesheet. Jason agrees.
About where new keys go:
- Christoph: depends on user’s preferred workflow. ‘Always new’ or ‘Always joined’ are equally valid. Splitting & joining should be trivial.
- Pierrick: Especially in the beginning, while people get used to it, important for them to know they have a choice.
- Nika: likes the idea of ‘active
Animation
’. - Scott: optimise for animators having to think as little as possible.
- Eduardo: General when people animate they don’t care how it’s organised, they just want to keep things moving. So by default it makes sense to have the animation go to the active animation data. Organisation is more important when working a team, and then you already know more about how animation works.
- Sybren: I like that. It also flows naturally when the very first Animation is created, it becomes the active one, and will be used by other new animations.
Help Needed
- Animator feedback needed on #117287: Anim: Add Sharpness to Ease operator
- Christoph gave a demo, animators are enthousiastic.
- Sybren would like to see the property name that’s being modified by the slider, now that you can toggle between multiple. Can be done in a separate PR for all sliders, though.
Next Meeting
The next meeting will be on Thursday 2024-03-14T17:00:00Z. Again it will be open for everybody who’s interested. The provisionary meeting agenda will be updated before the meeting.