The main goal of this meeting will be a status update on & discussion of ongoing work.
The meeting will be open for everybody interested to join on Google Meet (link below).
People present are referred to by first name for brevity. Others are referred to by full name.
- Google Meet
- Previous meeting notes
- #animation-module chat channel
- A&R Module Meetings agenda for inclusion in your own calendar
- Sprite Fright has been released! Our last meeting was cancelled due to the theatrical pre-premiere of Sprite Fright.
@Kdafon Blender Chat) introduces himself. He’s a highschool student, discovered Blender few years ago. Has done some bugfixes, interested in helping out with animation development.
@Chinnyon Blender Chat) introduces himself. He’s product manager for character animation in Unity, works in Montréal, focused on games. Started as demonstrator in Softimage 25 years ago. Blender is big part of the Unity pipeline, so he wants to become more familiar with the people & process.
T81836: Design: New Graph Editor Key Manipulation Operators.
- Cleanup work to do, Sybren doing reviews.
T91871: Symmetrize Armature should symmetrize transform of custom bone shape
- still up for grabs.
New short-term goal, which can be seen as a follow-up to the just-landed : new motion paths should not default to the 1-250 frame range, but to something more sensible for the current situation (like preview range, scene frame range, or last-used motion path range).
- Colin will work on this by creating a design task. Once the details are fleshed out, he’ll also work on the implementation.
Demo of a bulging reduction option for the armature modifier, by Maxime
- Chinny & Jason react enthousiastically.
- Chinny: does it make a difference when bones are really close together, or if the weighting is spread across multiple bones?
- Maxime: using weights to find which vertex “belongs” to which bone(s); this is limited to two bones per vertex. This is an expensive step, could be precomputed in a way.
- Chinny: how does this work with FBX exports? Is it going to export as regular deformation?
- Maxime: That depends on the skinning method used by the software importing the FBX. To get the correct deform you’d have to export with Alembic or USD.
- Chinny: Rigify has a third bone between the thigh and the shin bone, to correct bulging of the knee. If you use that set-up it conflicts with the bulge reduction, as it’ll try and correct for the wrong bone. This could be resolved by having explicit mappings (for example with other weight/vertex groups or face maps). This also applies to closely-spaced fingers.
- Daniel: how expensive is it, performance wise?
- Maxime: the performance impact is quite small, because it’s just computing two distances for each vertex.
- Some discussion about the user interface, which leads to a discussion on the presentation of skinning methods in Blender.
- Daniel suggest implementing Bone Glow
- Jason: maybe a good idea to look into machine learning methods? That might even work better than Bone Glow when trained well.
Colin demonstrates his timeline-scrolling feature. In short, it allows scrolling of time-based editors such that the playhead stays inside the editor. There are multiple choices to affect the behaviour. All the module members agree it’s a good idea. He’ll make a design task to flesh out the user interface.
- Christoph: there is a patch for playhead snapping options as well; maybe the two ideas could be integrated in one “playhead options” group.
We have 58 open patches in total. During the meeting we should visit a few, to at least accept or reject them on a conceptual/desirability level.
Patches introduced since the last meeting:
D13028: Fix T92469: Show transform tools in weight-paint + pose mode
- The patch is ok, but shows another issue that apparently was already known.
- Daniel: maybe just grey out the widget? Because you can’t use it.
- Sybren finds another bug: on a location-constrained object, the rotation widget shows in the original location when dragging it. Same with “immediate” mode and rotating. After a bit of digging, this was already in 2.80, and the non-widget part of this, in 2.79. It’s an issue with the general transform code.
D13030: Fix T92043: Relax/Push Pose does nothing for quaternion rotation.
- Bugfix, great!
D13154: Fix T92930: Outliner “Show Active” bone fails in certain situations
- Bugfix, great!
Older patches, so we can catch up with reviewing:
D4048: Implement a Limit Angular Distance constraint
- Looks like a nice
- Jason: would be nice to have some “cushioning” on the limit instead of being a hard limit. Would be a new feature on top of it.
- Sybren: yup, that would indeed be a new feature, could also be applied to Limit Distance.
- Jason: would a similar Limit Scale make sense? Maybe a good idea for constraint nodes.
- Daniel: or a more broad Limit Relative Transform?
- Module agrees patch is good./
D6736: Pose Mode: Transform mirrored bones when editing properties
- Green-lit by module.
Other patches are left for future meetings.
Daniel presents a design issue with the weight painting. He wants some way (but is still not sure of the solution either, hence the discussion) to only show the weight paint colours when there are actually vertices using that colour. For example, when a vertex has 0.5 value, it’s shown in green. In his proposal, this green shouldn’t be shown when interpolating across a face.
- Sybren: on a face with vertices of weight 0.0 and 1.0 on opposite sides, some points across the face do have this 0.5 value, even though there is not a vertex that has that value.
- Daniel: that’s my point – I want to see the difference between “interpolated” and “vertex has this value”.
- Daniel: maybe the current “Zero Weights” overlay can be expanded to have similar options for “Full Weight”?
- Daniel will make design task so this can be fleshed out.
The next meeting will be on Thursday 25 November, 18:00 CET/Amsterdam time. 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.