The main goal of this meeting was a status update of ongoing work.
The meeting was open on Google Meet for everybody interested.
Present: Bassam Kurdali, bird_d, Christoph Lendenfeld, Demeter Dzadik, Jeremy Bot, Sebastian Parborg, Stanislav Ovcharov, Wayde Moss.
People present will be referred to by first name for brevity. Others are referred to by full name for clarity.
- Announcement: Sculpt, Paint & Texture module is going to make a generic attribute painting system. This will also impact weight painting, which will become official part of that module. Once generic attribute painting is implemented, the weight paint specific responsibilities can go to Animation & Rigging.
- Sebastian: When did Topology Mirroring last work? He suggests to use UV maps for this, and mirror in UV space. This could be made multi-threaded & fast. Currently it uses a mapping structure from the whole mesh, which is failing (and has been for a while). This in light of T84520, in his investigation he found lots of other things not working well. Still uncertain how much time he can spend on fixing these, though.
- Weight Paint operators that use symmetry settings should expose this more clearly to users. For example in redo panel. T85789
T57003: Copy visual pose and paste over frame range
- On hold due to Sybren’s work on the Asset Browser / Pose Library. It is a part of the envisioned workflow with the Pose Library, though, as it should be possible to copy-paste poses between blend files.
- Bassam: will the Asset system take external and non-blender libraries into account? Sybren: yes, in the sense that the currently envisioned design allows for this. Implementation will come later.
T83068: Motion Paths: Refresh all
- Only feedback so far: it’s going to be slow. Since refreshing all motion paths one by one manually will be even slower, all present see this as not a problem.
T84520: Confusing Symmetry settings in Weight Painting: Sebastian Parborg is working on this.
- He wants more feedback from riggers and other artists using the feature.
- Bassam: put it in a branch & give a test build? From a superficial looks of the descriptions it in the chat it’s good.
- Sybren & Sebastian: test builds for patches/branches are going to be automatic at some point; James Monteath (employed by Blender Institute) is working on this.
Google Summer of Code
- Should be technical, non-docs, and something new.
- Bassam: It could be interesting for a student on Rigify improvements. Sybren: could be, but easy to make the work too fuzzily defined, making it too large a project for a GSoC.
- Bassam: integrate Rigify with asset system? Probably too early, maybe next year.
- Sebastian: implicit skinning, has been tried a few times in the past but people dropped out.
- Sebastian: students are working half-time, so smaller projects.
Action Baking: how far can we stretch the current code, and how can we implement a future-proof version?
- Wayde is working on several patches. He says the current code is not too bad in terms of complexity, once you get a hang of it.
- For improving it to make it more future-proof, he needs more info from animators on what they’d want from the system.
- Sebastian: we should have is customizable, pick anything and it’ll mirror around that point. For bones the bone name stays relevant for mirroring, but bones should also be pickable as mirror center.
- Bassam: you could 3D cursor or active object, depending on what’s chosen in the 3D Viewport as pivot option. Luciano told him earlier that he didn’t like that, but he’s not available to join the meeting today.
- Demeter: Pablo Fournier also asked him for something like this.
- Sebastian: could be a per-bone option, like “these bones mirror around that bone”, so becomes more addon-ish scripting than core feature.
- Bassam: maybe Blender could expose some generic mirroring code that add-ons could use to simplify the implementation of custom mirroring add-ons?
- Sebastian: yes, something like that is already on the radar, where the operator is given a transform it can use for mirroring.
- Bassam: maybe not enough, as f.e. 8 selected bones actually could consist of two groups each with their own custom pivot point.
Side-discussion when talking about the pivot point:
- Sybren: this touches on Active vs. Selected + using an unselected Active as pivot point. Sebastian: very fragile, as one mis-click changes the active selection.
- Bassam: box-select is faster than click-select (heard from other animator, also confirmed by Jeremy and Sebastian), maybe box-select should also set the active bone?
- Sebastian: box-select also selects everything, while click-selects has logic to toggle between overlapping elements. Might be two things combined, StarCraft style box-select being faster for users AND click-select being slower to respond in Blender.
- Bassam: OpenGL Depth Picking was reported as influencing this a lot, but unknown in which direction.
- Jeremy confirmed click-select is slow.
- Demeter: How about alt-click to select from a list of overlapping bones, similar to overlapping objects? Demeter will create task for this, Sebastian can implement.
- Christoph: discuss the idea of Time Selection. It could be interesting to try out in smaller context to see what works.
- Sybren: next week demo of Home · Wiki · bird_d / Procedural Fcurve Editor · GitLab by the author? The author bird_d confirms, he can give a presentation next meeting.
- Jeremy Bot: bone pivot point should get in Blender. Mostly a matter of deciding where in the UI the option for pivot point position is placed.
- Jeremy: Should not be option per bone, but global option. If you need it per bone, custom bone shapes are preferred then. All agree.
- Bassam: The option to display axes is on the armature already, and wherever that option is, the slider could go next to that. With the current “Display Axes” option, this means that the pivot point becomes an option armature.
The next meeting will be on Thursday 4 March, 16: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.