Page MenuHome

NLA - Quaternion blending in "Add" mode should use quaternion math instead
Closed, ResolvedPublicTO DO

Description

System Information
Win 10 (don't matter)

Blender Version
2.76b f337fea
Short description of error
I try use 2 action on 2 strip,
Blending: (main action - root and other basic bone) add (cycles action)
Now NLA (Active Strip)blending: add just use formul: x + y
W: 1.000 + W: 1.000 = 2.000
X: 0.200 + X: 0.200 = 0.400
Y: 0.200 + Y: 0.200 = 0.400
Z: 0.200 + Z: 0.200 = 0.400
Quaternion has something like that q = w + x*i + y*j + z*k :D

Exact steps for others to reproduce the error
Try hard anim with nla. :3

Ligth blend file with example:

Event Timeline

@Alexander KHozyashev (lenster) please do not assign to random people like that - in fact, triaging and assigning bugs is a dev’s task.

@Joshua Leung (aligorith), I think this one is for you? Though this looks more like a feature request than really a bug, I kinda remember a similar report this year (someone requesting some specific interpolation for quaternion curves or something)…

Sergey Sharybin (sergey) lowered the priority of this task from 90 to Normal.Dec 30 2015, 11:07 AM

AFAIR, NLA doesn't distinguish different curves/actions and can't really do smart things for quats? In any case, @Joshua Leung (aligorith) is the guy to ask :)

This is more of a TODO.

It's increasingly looking like we will need some special handling for things like quats and scale. Currently, no special handling is done for anything; so, each component of the quats are getting handled separately - as if they're just any other curve.

Joshua Leung (aligorith) renamed this task from NLA quaternion bug to NLA - Quaternion blending in "Add" mode should use quaternion math instead.Jan 12 2016, 1:01 PM
Joshua Leung (aligorith) edited a custom field.

D1929 adds a code path for gathering quaternions on a per-strip basis. It's specifically designed to sample explicitly-keyed timed points surrounding the evaluated strip-time.

After interpolating with SLERP/SQUAD, the proposed quaternion math is implemented for blending tracks.

This same code path could be made to evaluate direct nlerp via the fcurves, instead of the 2x or 4x evaluations for SLERP/SQUAD

I'm moving this task from the 'Planned/Scheduled' to the 'Postponed' workboard, since there is no plan/schedule, and it's been idle for almost three years.

Sybren A. Stüvel (sybren) closed this task as Resolved.EditedOct 27 2020, 10:37 AM

This seems to have been fixed in D4190: NLA: implement a new blending mode that intelligently overlays actions.. If there is still an issue in this area, please file a new bug report.