diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2020-08-28 15:51:54 +0300 |
---|---|---|
committer | Sebastian Parborg <darkdefende@gmail.com> | 2020-08-28 15:55:59 +0300 |
commit | 8726354d465ae0930adcab9ba818414681cee077 (patch) | |
tree | c0849a36eec6bd0d39f5b0e9331cb56bd34ec04b /source/blender/blenkernel/BKE_rigidbody.h | |
parent | 0852ecd844f8dda21623774d3aa7dc372e81be2f (diff) |
Fix Rigidbody depsgraph passive and constraint transform relations.
We need to have transforms from passive objects if they are animated or
driven by parent relations. This is not immediately obvious as the
object transform matrix will still be available, it is just one frame
behind in some cases.
Fixed dependency cycles if there is a constraint between two rigid
bodies. Because bullet keeps track of its simulated bodies, we do not
need to supply objects transforms as bullet should already have them.
I need combine these two fixes because otherwise we will get depsgraph
warnings that nodes are missing that it expects to be there.
Reviewed By: Sergey, Jacques
Differential Revision: http://developer.blender.org/D8732
Diffstat (limited to 'source/blender/blenkernel/BKE_rigidbody.h')
-rw-r--r-- | source/blender/blenkernel/BKE_rigidbody.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_rigidbody.h b/source/blender/blenkernel/BKE_rigidbody.h index c2059144388..ae1e437cd60 100644 --- a/source/blender/blenkernel/BKE_rigidbody.h +++ b/source/blender/blenkernel/BKE_rigidbody.h @@ -143,6 +143,7 @@ void BKE_rigidbody_aftertrans_update(struct Object *ob, float rotAngle); void BKE_rigidbody_sync_transforms(struct RigidBodyWorld *rbw, struct Object *ob, float ctime); bool BKE_rigidbody_check_sim_running(struct RigidBodyWorld *rbw, float ctime); +bool BKE_rigidbody_is_affected_by_simulation(struct Object *ob); void BKE_rigidbody_cache_reset(struct RigidBodyWorld *rbw); void BKE_rigidbody_rebuild_world(struct Depsgraph *depsgraph, struct Scene *scene, float ctime); void BKE_rigidbody_do_simulation(struct Depsgraph *depsgraph, struct Scene *scene, float ctime); |