Present: Bassam Kurdali, Christoph Lendenfeld, Demeter Dzadik, Joseph Brandenburg, Luciano Muñoz, Octave Crespel, Sebastian Parborg, Solid Snake, Stanislav Ovcharov, Sybren Stüvel, Wayde Moss
The main goal of this meeting was to identify the most pressing bug fixes & papercuts to work on in the Animation & Rigging module , in order to make 2.91 as polished as possible, and to identify some goals for 2.92
- Google Meet
- Previous meeting notes
- Workboard (14 bugs, 2 unclassified, 52 TODO, 49 known issues, 25 design tasks)
- Patches (26 open & tagged with ‘Animation & Rigging’)
High-prio short-term goals from last meeting that are still open:
- T80296 Bone Selection with "select box " Inconsistent. This turns out to be a hard to reproduce bug, and is moved from the “Short Term” list onto the regular bugs list.
Chosen as highest priority short-term goals are:
- T80296 Fix Animation Channel and Bone Selection Sync . After investigation, it turns out that selection synchronisation between animation channels & the thing they animate is rather complex, and needs a proper redesign. For now, Sybren will at least fix the issue that sometimes channels completely unselectable.
- D6379 Add a Un-Bake FCurves operator
- User preference to turn off bone group colors in the animation channel list. These colors are often distracting, and can only be turned off per editor (and are on by default). Sybren will make a task for this.
Goals for 2.92
This list is not exhaustive, next meeting will extend the list.
- D9054 Pose Sliding tools improvements
- D7437 Add Custom Space to Constraints
- T76472 Graph Editor: Fcurve extrapolation visibility
- D7511 CollectionProperty: Keyframe Insert Using Element Name
- D8915 Fix shear, Skip matrix decomposition in Copy Rotation if all axes and all or none are inverted. It was decided that the risk of disrupting existing rigs weighs heavier than the fix, so to merge this in bcon1 of 2.92 so that there is plenty of time for testing.
- Further improvement of the group color in the animation channel list. There are a few ideas for this (more subtle colored lines instead of a full background fill, automatically adjusted colors to maximise readability). Luciano will create a design task for this.
- Parenting (plain, “keep transform”, “no inverse”) is confusing now. This isn’t helped by the fact that the “parent inverse” matrix is hidden from the user interface.
- Add the ability to have Boolean custom properties.
- Bassam and Demeter expressed a desire to have Boolean and Enum custom properties. These are possible to create via Python, but not through the UI. Ideally, custom properties would be on-par with the custom Python properties (creatable via
- Manually order custom properties, f.e. via drag & drop of modifier UI.
Test builds for Animators & Riggers
It is often desired to create test builds for Animators & Riggers. Various approaches were discussed, and a temporary good-enough one was chosen: create a branch for each patch, and if it’s desired to have a build for multiple patches at once, merge those branches into another branch. This is a bit ad-hoc, but at least it allows us to easily remove patches from the test builds.
This will be revisited when James Monteath (DevOps) starts working at Blender Institute.
Various approaches were discussed to make quaternions more understandable and mathematically correct at the same time:
- Bassam: Interpolation on individual channels no longer makes sense. A widget in the 3D view could be used to adjust all channels of a selected keyframe at once.
- Sebastian: Visualise angular velocity in graph editor. Control the start/end orientation in the 3D view.
- Octave: Visualise multiple keys on the same channel via lines on a sphere (see Chapter 5).
Christoph’s UI Improvements proposal
Everybody is enthousiastic, should happen in collaboration with the UI team. Christoph offered to first clean up existing code to remove duplicates, then expand functionality.
Thursday 29 October 15:00 CET. The link to the agenda will be posted in the #animation-module channel before the meeting.