diff options
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc index 9fd4a8dc802..9d36e9495e3 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc @@ -578,6 +578,18 @@ void DepsgraphRelationBuilder::build_proxy_rig(Object *object) "Bone Done -> Bone Done"); } + /* Parent relation: even though the proxy bone itself doesn't need + * the parent bone, some users expect the parent to be ready if the + * bone itself is (e.g. for computing the local space matrix). + */ + if (pchan->parent != NULL) { + OperationKey parent_key(&object->id, + NodeType::BONE, + pchan->parent->name, + OperationCode::BONE_DONE); + add_relation(parent_key, bone_done_key, "Parent Bone -> Child Bone"); + } + if (pchan->prop != NULL) { OperationKey bone_parameters(&object->id, NodeType::PARAMETERS, |