Propagating collisions in a mixed chain Dynamic/Kinematic
Posted: Wed Mar 27, 2019 3:09 pm
Hello,
I'm working on a mixed chain of dynamic and kinematic objects, as shown in this picture:
There is one dynamic object (red) moved by forces which is connected to a kinematic object (moved by geometrical rules) composed of 3 collision shapes (blue cloud). So, the kinematic group is modeled by 3 collision shapes owned by 3 btRigidBody (created as kinematics).
I can correctly move the kinematic group by my rules and the red dynamic object by forces. If I move the dynamic red object under forces, the "kinematic group" move itself via the motion state staying together. Obviously, the kinematic group can interact with others dynamics objects.
Goal: I need to propagate the collisions taken by the kinematic group to the dynamic one.
Problem: if the kinematic group take a collision, this collision isn't propagated to the red dynamic rigid body. This is obvious, I can see the collision on kinematic group (in the debug drawer), but I need to handle this one in my own way, just because this is a kinematic object.
Definitively: There is some "workaround" to do this kind of "propagation"? The simple answer is to build the kinematic group as a dynamic chain (multibody or chain of rigidbody) but in this case I can't, I need it to be kinematic.
Best regards,
Dario
I'm working on a mixed chain of dynamic and kinematic objects, as shown in this picture:
There is one dynamic object (red) moved by forces which is connected to a kinematic object (moved by geometrical rules) composed of 3 collision shapes (blue cloud). So, the kinematic group is modeled by 3 collision shapes owned by 3 btRigidBody (created as kinematics).
I can correctly move the kinematic group by my rules and the red dynamic object by forces. If I move the dynamic red object under forces, the "kinematic group" move itself via the motion state staying together. Obviously, the kinematic group can interact with others dynamics objects.
Goal: I need to propagate the collisions taken by the kinematic group to the dynamic one.
Problem: if the kinematic group take a collision, this collision isn't propagated to the red dynamic rigid body. This is obvious, I can see the collision on kinematic group (in the debug drawer), but I need to handle this one in my own way, just because this is a kinematic object.
Definitively: There is some "workaround" to do this kind of "propagation"? The simple answer is to build the kinematic group as a dynamic chain (multibody or chain of rigidbody) but in this case I can't, I need it to be kinematic.
Best regards,
Dario