2021-09-30 Animation & Rigging Meeting

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).

Present: Brad Clark, Christoph Lendenfeld, Daniel Salazar, Jason Schleifer, Kevin Burke, Luciano Muñoz, Nico Sanghrajka, Orestis Konstantinidis, Paolo Acampora, Sybren Stüvel

People present are referred to by first name for brevity. Others are referred to by full name.


Since the Last Meeting / Announcements

  • ‘BCon2’ has been delayed by one week (announcement), so to the day before this meeting.
  • Orestis will give demo of rigging nodes at the end of the meeting.
  • Kevin introduces himself as C4D user, making switch to Blender, coming to see Oresis’ demo.

Short-term goals

Decision Time

  • D12387: clarify Animation ‘Clean Channels’ and ‘Clean Keyframes’ description. The entire tool should be updated to be predictable. After that a proper description can be given. How do we want this to behave?

    • Sybren: Remove keys as long as the shape of the curve doesn’t change?
    • Jason: Should it only remove keys? Or is adjusting handles also okay?
    • Sybren: Difference with Decimate operators?
    • Luciano: Clean Curves will also remove entire curves.
    • Brad: sometimes important to just leave one key and ensure the channel stays.
    • Brad: Decimate is more useful & controllable for cleaning up noisy mocap.
    • Paolo: Could this be a modifier instead of an operator? Then you can see the result & play with the parameters.
    • Brad: would be great to be able to “ghost” the curve, so you can see the new/cleaned up curve in the background, and also to be able to go back to that “ghosted” version.
    • Jason: snapshotting like that would be great in general for Blender.
    • Jason: for the 3.x roadmap, the “ability to try out things & be confident you can go back” is a good one.
  • D12298: Markers: improve rename operator and shortcut. In short, change shortcut to rename timeline markers from Ctrl+M to F2, to be consistent with other rename operators. Good idea?

    • Jason: F-keys are annoying on laptops
    • Orestis: F2 is fine in terms of consistency, but can’t we just double-click on the marker name as well?
    • Jason: totally agrees with the double-click.
    • Jason: Maybe as another task as well, right-click context menu for markers?
    • Jason & Nico: on a tangent: it would be great to have an easy way to connect some Python code to a hotkey (easily, discoverable), without having to type all the operator code. Could be simply stored in user prefs, just for personal use (not aimed at sharing, like add-ons).
    • Daniel: this could go into the left-hand toolshelf as well.
    • Brad: shares toolShelf | brave rabbit, which shows a toolshelf-addon for Blender. The same author made the “Smooth Weights” brush add-on that’s really useful.
  • D12651: Fix T91743: Unify behavior of ‘Auto Set Preview Range’: should Auto Set Preview Range take selection into account or not? This is currently inconsistent between editors.

    • Jason: nothing selected → look at items in the current editor; selected → base preview range on selection. In the NLA look at the keys, not the entire (potentially held-indefinitely) strip.
    • Paolo: edit mode in NLA may also give some surprises when it comes to available keys. You could be in another area of Blender and not be aware of the NLA being in edit mode.
  • T91827: Parent mode for Location Transform Orientation

    • Parent Mode would make total sense.
    • Luciano: As an extension: have a separate Transform Orientation per mode (rotation/location/scale). Would need to have some connection to the selected tool.
    • Christoph: yes, sounds super useful.
    • Jason: this can already be set with the Active Tool Settings panel. It’s a bit confusing, though.
    • Sybren: yes, the default orientation is set at the top, and if the active tool overrides it, this is not visible there.
    • Luciano: G-key still uses the default orientation, which is confusing (it should work the same as the tool/gyzmo).

Rigging Nodes demo

Oresis gives a Rigging Nodes demo in Cinema4D. This is just a very brief write-up. It uses an old tech, called the XPresso Editor. You can drag in objects from the outliner into the XPresso editor, which creates nodes for those objects. You can then select which properties (like Global Matrix) to connect. You can create multiple of these graphs; each is evaluated top-to-bottom to resolve duplicates (like multiple set-matrix nodes). The nodes also allow creation of UIs to provide their inputs. List nodes can be used for iterating over a selection of “things”, and apply the same nodes to all of them. There are also Python nodes, for custom extensions.

Daniel: Blender’s datablock structure makes it easy to put node systems inside these datablocks, and then get various node systems that cannot communcate/connect to each other. This is something to try and avoid, to not have to hunt through various objects to figure out where node trees are.

Help Needed

  • More people could help with code review. The review queue for the Animation & Rigging module can be found on Phabricator. If you’re unsure about where to help, what to say, etc. contact Sybren (@dr.sybren on Blender Chat).

Next Meeting

The next meeting will be on Thursday 14 October, 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.