diff options
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index c59fb5f2a38..86cbb330170 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -379,6 +379,14 @@ void DepsgraphRelationBuilder::add_particle_forcefield_relations(const Operation { ListBase *relations = build_effector_relations(graph_, eff->group); + /* Make sure physics effects like wind are properly re-evaluating the modifier stack. */ + if (!BLI_listbase_is_empty(relations)) { + TimeSourceKey time_src_key; + ComponentKey geometry_key(&object->id, NodeType::GEOMETRY); + add_relation( + time_src_key, geometry_key, "Effector Time -> Particle", RELATION_CHECK_BEFORE_ADD); + } + LISTBASE_FOREACH (EffectorRelation *, relation, relations) { if (relation->ob != object) { /* Relation to forcefield object, optionally including geometry. */ |