diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-12-09 15:05:39 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-01-20 13:37:00 +0300 |
commit | faaf41b3301d32601e58cc14fa0f516e9be48872 (patch) | |
tree | 3c975a038533ffaf2885100ddf234a2e86782465 | |
parent | 8a0e91366c691f302e9c7a4c7dc3cba88933ac56 (diff) |
Depsgraph: Bone parent should also include armature transform relation
It is required to have world-space bone position, which consists of armature
object transform and local bone transform.
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index d9a21d2b888..b5272d3acf2 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -528,8 +528,20 @@ void DepsgraphRelationBuilder::build_object_parent(Object *ob) case PARBONE: /* Bone Parent */ { - ComponentKey parent_key(&ob->parent->id, DEPSNODE_TYPE_BONE, ob->parsubstr); - add_relation(parent_key, ob_key, DEPSREL_TYPE_TRANSFORM, "Bone Parent"); + ComponentKey parent_bone_key(&ob->parent->id, + DEPSNODE_TYPE_BONE, + ob->parsubstr); + OperationKey parent_transform_key(&ob->parent->id, + DEPSNODE_TYPE_TRANSFORM, + DEG_OPCODE_TRANSFORM_FINAL); + add_relation(parent_bone_key, + ob_key, + DEPSREL_TYPE_TRANSFORM, + "Bone Parent"); + add_relation(parent_transform_key, + ob_key, + DEPSREL_TYPE_TRANSFORM, + "Armature Parent"); break; } |