aboutsummaryrefslogtreecommitdiff
path: root/examples3d
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-01-20 17:03:36 +0100
committerCrozet Sébastien <developer@crozet.re>2021-01-20 17:20:01 +0100
commitd69b5876f35a6d67e164e5e6dc5719413f53c4f5 (patch)
treed24e87b4aba68a37d301c29b87d42a98bace6dbb /examples3d
parent0ade350b5f4b6e7c0c4116e1f4f2b30ab86b7e52 (diff)
downloadrapier-d69b5876f35a6d67e164e5e6dc5719413f53c4f5.tar.gz
rapier-d69b5876f35a6d67e164e5e6dc5719413f53c4f5.tar.bz2
rapier-d69b5876f35a6d67e164e5e6dc5719413f53c4f5.zip
Fix velocity constraints for ball joints involving bodies with non-uniform angular inertia.
Fix #86
Diffstat (limited to 'examples3d')
-rw-r--r--examples3d/joints3.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/examples3d/joints3.rs b/examples3d/joints3.rs
index dd56958..d777655 100644
--- a/examples3d/joints3.rs
+++ b/examples3d/joints3.rs
@@ -196,16 +196,16 @@ fn create_ball_joints(
};
let rigid_body = RigidBodyBuilder::new(status)
- .translation(fk * shift, 0.0, fi * shift)
+ .translation(fk * shift, 0.0, fi * shift * 2.0)
.build();
let child_handle = bodies.insert(rigid_body);
- let collider = ColliderBuilder::ball(rad).build();
+ let collider = ColliderBuilder::capsule_z(rad * 1.25, rad).build();
colliders.insert(collider, child_handle, bodies);
// Vertical joint.
if i > 0 {
let parent_handle = *body_handles.last().unwrap();
- let joint = BallJoint::new(Point3::origin(), Point3::new(0.0, 0.0, -shift));
+ let joint = BallJoint::new(Point3::origin(), Point3::new(0.0, 0.0, -shift * 2.0));
joints.insert(bodies, parent_handle, child_handle, joint);
}