Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-03-20 18:35:23 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-03-20 18:37:15 +0300
commit099a41047882bbd835941e70c419290008ee35cd (patch)
tree024417dd079c0fb8b6cc8b83e8a12b1fd65a8542 /source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
parentc5fc861172879102034129ecbe653e91eeff5caf (diff)
Depsgraph: Fix cycle with rigid body and Weight Proximity
The issue is a feedback loop with point cache reset operation. Solved by introducing extra node which ensures object's transformation is ready for simulator input. Allows to route relations without causing a fake dependency cycle now.
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 09a79db2dbd..39806d22071 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -1072,8 +1072,11 @@ void DepsgraphNodeBuilder::build_rigidbody(Scene *scene)
if (object->type != OB_MESH) {
continue;
}
- /* 2) create operation for flushing results */
- /* object's transform component - where the rigidbody operation
+ add_operation_node(&object->id,
+ NodeType::TRANSFORM,
+ OperationCode::TRANSFORM_SIMULATION_INIT);
+ /* Create operation for flushing results. */
+ /* Object's transform component - where the rigidbody operation
* lives. */
add_operation_node(&object->id,
NodeType::TRANSFORM,