[Bf-blender-cvs] [8a7a7af627b] master: Fix T69326: Parent type ARMATURE doesn't work

Sergey Sharybin noreply at git.blender.org
Tue Sep 3 10:49:12 CEST 2019


Commit: 8a7a7af627b89e67b12f9bc4ae9e175c397961ba
Author: Sergey Sharybin
Date:   Tue Sep 3 10:48:29 2019 +0200
Branches: master
https://developer.blender.org/rB8a7a7af627b89e67b12f9bc4ae9e175c397961ba

Fix T69326: Parent type ARMATURE doesn't work

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index dadfe614941..c7b545e9feb 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -812,8 +812,20 @@ void DepsgraphRelationBuilder::build_object_parent(Object *object)
   switch (object->partype) {
     /* Armature Deform (Virtual Modifier) */
     case PARSKEL: {
-      ComponentKey parent_key(parent_id, NodeType::TRANSFORM);
-      add_relation(parent_key, object_transform_key, "Armature Deform Parent");
+      ComponentKey parent_transform_key(parent_id, NodeType::TRANSFORM);
+      add_relation(parent_transform_key, object_transform_key, "Parent Armature Transform");
+
+      if (parent->type == OB_ARMATURE) {
+        ComponentKey object_geometry_key(&object->id, NodeType::GEOMETRY);
+        ComponentKey parent_pose_key(parent_id, NodeType::EVAL_POSE);
+        add_relation(
+            parent_transform_key, object_geometry_key, "Parent Armature Transform -> Geometry");
+        add_relation(parent_pose_key, object_geometry_key, "Parent Armature Pose -> Geometry");
+
+        add_depends_on_transform_relation(
+            &object->id, object_geometry_key, "Virtual Armature Modifier");
+      }
+
       break;
     }



More information about the Bf-blender-cvs mailing list