Blender Git Commit Log

Git Commits -> Revision de1d3e5

Revision de1d3e5 by Alexander Gavrilov (master)
January 14, 2019, 16:14 (GMT)
NLA: implement a new blending mode that intelligently combines actions.

The existing Add and Multiply blending modes have limited usability,
because the appropriate operation for meaningfully combining values
depends on the channel. This adds a new mode that chooses the operation
automatically based on property settings:

- Axis+Angle channels are summed, effectively averaging the
axis, but adding up the angle. Default is forced to 0.

- Quaternion channels use quaternion multiplication:

result = prev * value ^ influence

- Scale-like multiplicative channels use multiplication:

result = prev * (value / default) ^ influence

- Other channels use addition:

result = prev + (value - default) * influence

Inclusion of default in the computation ensures that combining
keyframed default values of properties keeps the default state,
even if the default isn't 0 or 1.

Strips with this mode can be keyframed normally in Tweak mode,
except that for quaternion rotation keyframing always inserts
all 4 channels, and the channel value sliders on the left side
of Graph/Action editors won't insert keys without Auto Key.
Quaternion keys are also automatically normalized.

Differential Revision: https://developer.blender.org/D4190

Commit Details:

Full Hash: de1d3e5f5f4029be03195227197de1c42720f958
Parent Commit: 9c1a961
Lines Changed: +261, -7

4 Modified Paths:

/source/blender/blenkernel/intern/anim_sys.c (+241, -5) (Diff)
/source/blender/blenkernel/nla_private.h (+13, -0) (Diff)
/source/blender/makesdna/DNA_anim_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_nla.c (+5, -1) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021