diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-21 16:41:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-21 16:57:24 +0300 |
commit | ad42c358f8baad069b48c6ee65af252826762a2c (patch) | |
tree | 127ad98219f5d20b9b474ed17810755a82370b9e /source/blender/depsgraph | |
parent | b80cce20539f5eccb752c302a133680497be4af4 (diff) |
Depsgraph: Walk into dupli_group object
That will help with cases when dupli_group object is not linked
directly to the scene.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 3 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 9b0c3354c47..127a3f45929 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -541,6 +541,9 @@ void DepsgraphNodeBuilder::build_object(int base_index, if (object->proxy_from) { build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY); } + if (object->proxy_group) { + build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY); + } /* Object dupligroup. */ if (object->dup_group != NULL) { build_collection(DEG_COLLECTION_OWNER_OBJECT, object->dup_group); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index d0b699d34e4..97e2b0905d7 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -596,7 +596,9 @@ void DepsgraphRelationBuilder::build_object(Base *base, Object *object) ComponentKey proxy_transform_key(&object->id, DEG_NODE_TYPE_TRANSFORM); add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform"); } - + if (object->proxy_group) { + build_object(NULL, object->proxy_group); + } /* Object dupligroup. */ if (object->dup_group != NULL) { build_collection(DEG_COLLECTION_OWNER_OBJECT, object, object->dup_group); |