[Bf-blender-cvs] [1def03d797f] master: Fix T62938: Rigid body crash with surface effector
Sergey Sharybin
noreply at git.blender.org
Fri Mar 29 10:29:13 CET 2019
Commit: 1def03d797fcba6f01d17596e9950e727e4b3037
Author: Sergey Sharybin
Date: Fri Mar 29 10:27:57 2019 +0100
Branches: master
https://developer.blender.org/rB1def03d797fcba6f01d17596e9950e727e4b3037
Fix T62938: Rigid body crash with surface effector
Missing dependency graph relation from geometry to simulation,
which made simulation to use evaluated mesh while it is being
evaluated.
===================================================================
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 dd8dc537c30..489b688eaaa 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1738,6 +1738,15 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene)
ComponentKey effector_transform_key(
&effector_relation->ob->id, NodeType::TRANSFORM);
add_relation(effector_transform_key, rb_init_key, "RigidBody Field");
+ if (effector_relation->pd != NULL) {
+ const short shape = effector_relation->pd->shape;
+ if (ELEM(shape, PFIELD_SHAPE_SURFACE, PFIELD_SHAPE_POINTS)) {
+ ComponentKey effector_geometry_key(
+ &effector_relation->ob->id, NodeType::GEOMETRY);
+ add_relation(
+ effector_geometry_key, rb_init_key, "RigidBody Field");
+ }
+ }
}
/* Objects. */
if (rbw->group != NULL) {
More information about the Bf-blender-cvs
mailing list