diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-31 15:27:37 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-31 19:07:55 +0300 |
commit | 59a516913e599ce29754d361246a0d8cb92bd314 (patch) | |
tree | 326c0babbc13e6168712cf34672b8ce6bc98d332 /source/blender/blenkernel/intern/armature_update.c | |
parent | b5b1f9d11c86032fd2b7a61ce39b8d62e1585cef (diff) |
Depsgraph: Copy evaluated data to original datablock
Only do it for active dependency graph.
Currently covers animation, drivers, object and pose channel matricies.
Diffstat (limited to 'source/blender/blenkernel/intern/armature_update.c')
-rw-r--r-- | source/blender/blenkernel/intern/armature_update.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/armature_update.c b/source/blender/blenkernel/intern/armature_update.c index bf21019a948..9613ec4116a 100644 --- a/source/blender/blenkernel/intern/armature_update.c +++ b/source/blender/blenkernel/intern/armature_update.c @@ -688,6 +688,11 @@ void BKE_pose_bone_done(struct Depsgraph *depsgraph, invert_m4_m4(imat, pchan->bone->arm_mat); mul_m4_m4m4(pchan->chan_mat, pchan->pose_mat, imat); } + if (DEG_is_active(depsgraph)) { + bPoseChannel *pchan_orig = pchan->orig_pchan; + copy_m4_m4(pchan_orig->pose_mat, pchan->pose_mat); + copy_m4_m4(pchan_orig->chan_mat, pchan->chan_mat); + } } void BKE_pose_iktree_evaluate(struct Depsgraph *depsgraph, |