The meeting will be on 2023-08-24T16:00:00Z. It is open for everybody interested to join on Google Meet (link below).
Present: Alexander Gavrilov, Beorn Leonard, Christoph Lendenfeld, Demeter Dzadik, Eleni Pandi, Jason Schleifer, Jeremy Bot, Nate Rupsis, Nathan Vegdahl, Stimes
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 StĂźvel and Nathan put together a loose âMVPâ spec, to start implementing the new animation data model. Nathan will work on writing this up.
- Also decided to switch back to âunidirectionalâ pointers for hooking animation data up with objects and other IDs.
- Nathan: we really need to figure out the UI for this thing.
- Demeter: the pose library/shelf has changed locations. Just FYI to the module.
Landed
- f188d6709fc1: LibOverride: keep some anim data from liboverride when it exists in both IDs.
- bb8766ef01c: Animation: Match Slope slider
- 2b30d26ae970: Refactor: resolution_scale in graph_draw.cc
- 6f4cb9bc56e4: USD: Skeleton and blend shape import
- 0c26d4cc3e7e: Fix: Number input on slider
- e42c70fd311: Fix #110053: Crash on linked animation data with drivers
2cb5f83940a: Fix #97049: Auto-keyframe Status Message Overlaps Navigation Gizmo - Potentially relevant to rigging: UI: Add initial UI support for ID pointers custom properties #110458
Short-term goals / Ongoing Work
- Nate is looking into:
- #89339: NLA stripâs Influence initial keyframe sets to 0
- #76549: NLA Strip influence slider doesnât respond to autokey correctly.
- Nate: will start work on these.
- Bastien Montagne has a request for the new animation datamodel: to disallow embedded data-blocks from having their own animation. Examples of such data-blocks are scene collections and root node trees (for example of materials & lights). They are data-blocks that are owned by another data-block and do not live in the main database. These should be handled as one thing (material + its nodes) and be animated by the owner.
- Alexanderâs PRs: Bendy Bones: implement a new curve-aware vertex to segment mapping mode. #110758 and Drivers: implement fallback values for RNA path based variables. #110135
- Nathan still plans to review these. Just a bit busy with other stuff at the moment.
- Alexander put together a list of operators that need to be accounted for in Shape Keys: support locking to protect from accidental editing. #104463
Bone Collections & Colors
PR: Replace Bone Layers+Groups with Bone Collections #109976
- Demo time!
- Discussion: we want to land it this week, for Blender 4.0. BUT, it will break Rigify.
- Sybren StĂźvel: before landing, we should have an upgrade guide for switching to the new API, and we should coordinate updating Rigify. OR we should have a compatibility layer in RNA, to keep things transparently working.
- Alexander: probably need custom properties on bone collections before Rigify can be properly upgraded.
- Nate: compatibility layer would allow more transparent upgrade path, also for other addons.
- Alexander: also the scripts of already generated rigs.
- Demeter: a reliable compatibility layer would be difficult, e.g. with fewer than 32 collections. Better to make a clean break.
- Alexander: maybe just a visibility toggle compatibility layer, for generated scripts of existing rigs.
- Nathan: if custom properties on collections are needed for a Rigify upgrade, letâs investigate how quickly we can do that before making a decision.
- Nathan: will check tomorrow how hard it is to add custom properties, and get back to the module.
Patch Review & Decision Time
- Moving forward with arbitrary bone orientations (i.e. moving away from the hard-coded y=âalong the boneâ).
- This has been discussed as a wish often, and came up recently in the #110912: USD: Skeleton and blend shape import pull request as well.
- To decide: do we make this a true goal? Or do we officially decide to not do this?
- Needs a design task & a priority.
- Nathan: include Bassam Kurdali in this, heâs been thinking about this, in the context of Blender, for a decade+ now.
- Sybren (not present at the meeting, but discussed this beforehand) is in favour. Also notes the âorbit controlâ mentioned by Jason Schleifer is in line with this as well. Or the ârest poseâ for objects weâve discussed as well. Or the additional âlayout transformâ that the layout artists at Pixar set, which acts as an extra parent of anything the animators do. So the final solution should likely not be to hard-code just one other matrix in there. Then again, maybe starting with a practical solution to the bone orientation is good enough for now (in order to not make this a big beast).
- Nate: if it requires touching the underlying transform system, maybe too much to bite off. If we can do something less ambitious, that might be preferable.
- Jeremy: it would be useful for me, but if itâs too much work donât worry about it.
- Demeter: what about just changing the visualization to look like the bones are pointed differently (similar to Sybrenâs ball visualization proposal).
- Nathan: lots of things other than visualization are affected by bone orientation, like auto-weighting, envelopes, connected bone chains, etc.
- Jeremy: visualization would be good enough for my purposes.
- Christoph: prefers a proper solution, not patched on.
- Decision: with everything else weâre already doing, seems too big to tackle properly. So itâs a non-goal for now. (Maybe in the future.)
- Nathan is working on moving Denys Hsuâs Graph Editor Handle Selection PR forward in #111143. What should the operator parameters be?
- Nathan: please look at the PR and give feedback there.
- Priority of and who should tackle Drivers of sub-ID properties do not get removed along with the sub-ID #110650
- Demeter: in production, this spams people with errors/warnings, which just makes artists ignore errors/warnings.
- Nathan: since itâs been this way for a while and hasnât caused critical issues, just normal priority. But should definitely get fixed.
- Christoph will look into it.
- Designing a Python API for copying drivers: PyAPI for copying drivers #111276
- Demeter: everyone is writing their own Python approximation of this, so it seems like it should be built in.
- Decision: letâs do it.
- Demeter: please look at the issue and give feedback on design.
- Decide on a new name for the âBake Curveâ operator :#111049: Animation: Rename âBake Curveâ to âKeys to Samplesâ
- Christoph: everyone gets confused by the current name, thinks its part of the baking feature.
- Jason: âsamplesâ makes me think I can still tweak it. But âfreezeâ also seems lacking.
- Beorn: what about âcompressâ? Since it makes the file size smaller.
- Nathan: doesnât always make it smaller. Depends on the original density of the keys.
- Jeremy: committed?
- Demeter: likes âKeys to Samplesâ. Seems the most accurate.
- Nathan: likes âKeys to Samplesâ too. Freeze could be confused with locking editing.
- Nathan: main thing is that people shouldnât confuse it with baking.
- Decision: âKeys to Samplesâ
Help Needed
- 111 unclassified reports
- Quite a few merged PRs that need documentation. See the Animation & Rigging workboard for the list.
Next Meeting
The next meeting will be on Thursday 2023-08-31T16: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.