Page MenuHome

Pose Bones rotate from wrong pivot when translated by Action Constraints.
Open, Confirmed, MediumPublic

Description

System Information
Operating system: Linux-5.0.0-21-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce RTX 2080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 430.34

Blender Version
Broken: version: 2.82 (sub 0), branch: master (modified), commit date: 2019-10-11 13:01, hash: rB46e9fc936236
Worked: This is not a regression, it never worked correctly afaik.

Short description of error
When a bone is translated by an Action Constraint, its rotation pivot is broken.

Interestingly, when multiple action constraint are stacked on top of each other, it does seem to add the curves together correctly. For this reason I think the problem could be in the transform code, rather than the Action Constraint code.

Exact steps for others to reproduce the error

  • In the attached file, move ControlBone bone upwards to activate the action constraint on ActionBone.
  • Try rotating ActionBone, either with R or the gizmo. It rotates around its original pivot.

To see that the problem doens't seem to be with the Action Constraint itself:

  • Note that ActionBone has a second Action constraint targetting Action2, which currently just has a default pose keyframe.
  • With the bone still rotated, place a keyframe. Note in the graph editor, that only the rotation value has changed compared to the previous keyframe, even though in the viewport, since the bone didn't rotate from its own pivot, it also appears to have been translated.
  • Go back to frame 1
  • Scale ControlBone to activate Action2 constraint.
  • The bone rotates from its own pivot, which is correct.

Video: