Additional Joints and Constraints

Jun 28, 2008 at 5:49 PM
Great library so far.  I've been able to easily integrate it into my project that was using PhysX. 

I was wondering if anyone has added any additional joint types, constraints and motors.   The hinge joint works for some cases, but I also need a twist joint with limits and motor and a 6-DOF joint where you can constrain and power different axises.  I'm not sure how to even begin coding them, so I thought I'd ask if anyone has done any work in this area.

Also, I think the hinge joint does not work with Sphere objects correctly.  I'm not sure if that is a limitation due to the orientationless nature of spheres, or something else.
Aug 8, 2008 at 9:37 PM

I believe it has issues with the sphere, or at least more noticable with the sphere because of an accidental switch of values in the code, when they converted from the C++ version.

What they have currently:
Vector3 perpDir = Vector3.Up;

if (Vector3.Dot(perpDir, this.HingeAxis) > 0.1f)
    perpDir = Vector3.Right;

When it should be:

Vector3 perpDir = Vector3.Backward;

if (Vector3.Dot(perpDir, this.HingeAxis) > 0.1f)
    perpDir = Vector3.Up;