The main goal of this meeting will be to determine a roadmap for Blender 3.x, and a status update on & discussion of ongoing work.
The meeting will be open for everybody interested to join on Google Meet (link below).
Present: Christoph Lendenfeld, Demeter Dzadik, Jason Schleifer, Nico Sanghrajka, Orestis Konstantinidis, Pablo Colores, Sybren Stüvel
People present are referred to by first name for brevity. Others are referred to by full name.
Links
- Google Meet
- Previous meeting notes
- Workboard
- Patches
- #animation-module chat channel
- A&R Module Meetings agenda for inclusion in your own calendar
Since the Last Meeting / Announcements
- New face: Pablo, who’s
aquaticnightmare
on Blender Chat. - Sybren back from holiday (first three panoramas and first six portraits)
- Orestis wants to demo riggin with nodes, does that with C4D with Expresso visual programming language for making expressions. Will prepare demo for next meeting. Likes geometry nodes & the fact that an armature is a single object. Could go as far as outputting the armature/deformation as well.
- Sybren gives update on Asset Browser / Pose Library work.
Short-term goals
-
T81836: Design: New Graph Editor Key Manipulation Operators
Christoph Lendenfeld is working on generalisations to make the graph slider easier to use in other areas.
Hopes to implement more operators before bcon2 (next wednesday). -
T83068: Motion Paths: Refresh all
The work from Scott Wilson was taken over by Wayde Moss, but he disappeared without a trace. The task is up for grabs for anyone who wants to continue the work.
Previous meeting some new short term goal candidates were discussed (but apparently not included in the notes):
- T76915: Pose bone: clearing transformations in pose mode does not affect the mirrored bones even when the X-axis mirror is activated.
- T49182: Bone drivers do not copy when duplicated. Demeter: commented on this, probably not a short-term goal but something quite hairy.
- Jason: there was discussion about baking of custom properties.
- Bake Action only bakes transforms
- Might be terminology confusion (bake vs. sample)
- Sybren: yes, it’s confusing, as “Bake Curve”, “Sample Curve” and “Bake Action” all do different things.
- Christoph: studying the code & clarifying the tooltip for D12387 could be a short-term goal. Determining a better cleanup operation would probably be more work. The rest of the module agrees.
- Pablo: Symmetrize Armature operator could be expanded to symmetrize the custom bone shape parameters as well.
- Everybody agrees it’s a good idea, will become new short-term goal.
Decision Time
Blender 3.x roadmap
- Jason: Would love to understand what the ultimate goal is? What are we happy with when we hit it in 3.x?
- Orestis: Would guess amazing performance is the ultimate goal.
- Sybren: Animator (sec/week) performance? Or Blender technical performance?
- Jason: “What makes it possible for you to make better creative decisions?” instead of focusing on technical performance (sec/week). A crazy fast system makes it easier to make creative decisions, rather than having to start working because otherwise you don’t get the shot done.
- Orestis: People can make add-ons to allow amazing workflows, but they cannot make the software any faster.
- Orestis: Suggest rigging nodes as goal
- Christoph: Suggests bone layers as goal
- Sybren: Nodes might give us faster evaluation, and more powerful nodes may make the armature simpler (less bones necessary, less to evaluate)
- Sybren: Game engines do GPU deformation, but to go there we have to implement lots more on the GPU. Probably too much work.
- Jason: Focus on speed of animators, via faster evaluation & faster tooling.
- Orestis: Do we have profiler performance, like how much percent is mesh deformation, how much is constraint evaluation, etc?
- Demeter: Most animator complaints he hears are about bone selection. Maybe the Face Maps made by Campbell could be worked on further?
- Jason: Such a system works really nice, but getting a “flash” of where the pickable points are would be very useful. Otherwise it’s hard to get started on a face. Also a togglable hierarchy would be great, so that you can toggle between coarse facial controls and dive into more fine-grained control points.
- Nico: Did rigging with such a system at Dreamworks (Penguins in Madagascar). Face parts would be defined by riggers and can be dragged around. If that’s not granular enough you can press a hotkey and it would show dots for finer control (like 1-2-3 keys for three levels of controls). Helps with pickability, and could also remove the need to choose colours for bone groups / controls
- Demeter: Do you click to select, and then drag? How would you choose between grab & rotate?
- Jason: You can have different gyzmos, or even different places on the control area that trigger different operations (drag here to rotate, there to translate).
- Orestis: Has some experience with rigging like this, and shows a simple rig he made in Cinema 4D. Rotate on one axis with LMB-drag, other axis on RMB-drag, shift-click to reset. All Python-based.
- Nico: In Primo there is a hotkey you can press and it would highlight all the parts in different colours.
- Jason: Defining those parts procedurally would be great, because then you can swap out & regenerate your geometry.
Other topics
-
Clearing parent also removes Armature Modifier. Bug or feature? (reported in chat by Daniel Salazar)
- Demeter: relies on this behaviour all the time, is nice and fast. Proposes to make this an extra option for the unparent operator to have “Clear parent and remove armature modifier” as an option.
- Demeter: proposes to remove the armature stuff from the Ctrl+P menu, and have a different menu for binding (armature deform, surface deform, lattice, etc.)
- Could be nice if this moves the deformation modifier to the right spot (above generative modifiers, for example)
- Jason: this could be a great 3.x roadmap target, to rethink how we look at rigging.
- Sybren: let’s break it down into “fixing the glitch” of the disappearing modifier + bigger design task.
-
D12387: Fix T91133: clarify Animation ‘Clean Channels’ and ‘Clean Keyframes’ description: what should the “Clean” operators do exactly?
Help Wanted
- D11803: Animation: allow manually setting the intended playback range for actions could use some artist feedback.
Demo
Jason demos his pose library use, with operator to auto-regenerate the pose assets (including name etc.). He mirrors hand poses to the other side before creating the pose, and the pose asset then contains the same pose on both hands. This makes using it easier, because you just need to select bones & apply the pose.
- Sybren: we can do this in the pose library as well, storing both the pose of the selected bones and its mirror.
Next Meeting
The next meeting will be on Thursday 30 September, 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.