Note: This is an archived version of the Blender Developer Wiki (archived 2024). The current developer documentation is available on developer.blender.org/docs.

User:Sybren/Animation Weak Areas

Animation: Weak Areas

Outdated
This page is outdated, and has been superseeded by Modules/Animation-Rigging/Weak_Areas.


This is a personal page where I keep track of (what I feel are) weak areas in the animation system.

NOTE: This is not meant to be an exhaustive list of all known issues. We have the issue tracker for that.

Parent Inverse Matrix

The way the Parent Inverse matrix works can be confusing. It's not directly visible in the UI, and its existence is only hinted at in the parent/unparent operator popups.

Visibility State and Animatability

Armatures and Negative Scale


NLA Strip extrapolation mode

According to BKE_nla_validate_state() in nla.c, only the first NLA Strip can be set to Extrapolation Mode: Hold. However, this was not documented in the manual, and this function is only called after moving a strip, which makes its behaviour appear like a bug. It's also not really intuitive, as one strip could contain only location animation, and the other only scale animation, and both could be set to 'Extrapolation: Hold' at the same time without creating a conflicting situation. This is hard to implement, though, as it requires a deep analysis of every channel in an action (and then there could be drivers causing cross-influence), so I understand why it's implemented the way it is.

Bendy Bones parameters

Matrix-based constraint system

Blender's constraint system is matrix based. Although this is powerful, it does have issues with gimbal lock.