Bake Actions causes skewed bones on Rigify armature
Open, Needs TriagePublic

Description

System Information
Win 10 64bits / GTX 1060

Blender Version
Broken: 2.79 up to a6968e8

Short description of error
If you change position of some bones that causes stretching in the rig spine, when baking animation (Bake Actions or FBX export) the DEF bones get bizar skew rotations.

Exact steps for others to reproduce the error

  1. Create a metarig and generate a rigfy rig.
  2. Crate a simple animation. First only rotating CHEST, NECK and HEAD.
  3. Create some keyframe by moving down CHEST (this will stretch DEF spine bones)
  4. Bake Actions for every bones, visual keying, clear constaints, clear parents. (Or just export FBX with baked animations)
  5. Compare DEF bones to ORG bones. You will see DEF bones got skewed.

This problem only occurs when baking or exporting animation. Inside Blender everything is ok.

Sample file:
https://www.dropbox.com/s/d8pffr9uuzcc5go/bake-actions-problem.blend?dl=0

Details

Type
Bug
Sergey Sharybin (sergey) triaged this task as Incomplete priority.Mar 1 2018, 11:46 AM

Please always attach small demo .blend file which demonstrates the issue. This saves a lot of time spent on troubleshooting every issue.

I encounter this bug (?) when exporting an animated character to Unreal. First I thought it was a problem with the FBX export, but it seams a problem with the bake actions function instead.

Please attach the file to this bug report instead of providing a link to 3rd party website, thanks.

I uploaded the file since I have some free time.

Fable Fox (fablefox) raised the priority of this task from Incomplete to Needs Triage.Mar 9 2018, 10:31 AM

Please attach the file to this bug report instead of providing a link to 3rd party website, thanks.

Sorry @Fable Fox (fablefox), didn't find the option to upload.

Yes, this is a general issue with baking. It happens when you scale a parent bone, for some reason the scale affects the transforms of the child bone in a undesired way. I'm attaching a simple example. The armature to the left has constraints, the one to the right is the baked result. This is a really big problem for exporting to game engines.

We should subscribe Aligorith to this bug :)