Alternative to btGeneric6DofConstraint For Ragdolls

Layla
Posts: 3
Joined: Sat Sep 21, 2013 8:05 pm

Alternative to btGeneric6DofConstraint For Ragdolls

Post by Layla »

I have made a ragdoll using btGeneric6DofConstraints assigned to a skinned mesh with convex physics models. I've been having problems setting the correct reference frame rotations for atleast a week now. I only just found out that rotation in the Y axis is limited to -90/90 degrees, this is quite a big limitation because the models I'm using have constraint limits that go beyond that.

What are my options? There doesn't seem to be any other constraint I can limit in every axis.

I've heard talk of a Quaternion based constraint but making that myself isn't an option because of my limited math knowledge.
info128
Posts: 7
Joined: Thu Mar 03, 2011 2:30 am

Re: Alternative to btGeneric6DofConstraint For Ragdolls

Post by info128 »

I posted a question about this back in 2012 when trying to solve a similar problem ( 6DOF Constraint: Y-axis angular limit > 90 degrees? ). Global quaternion-based constraints would allow for very interesting, complex rigging systems in ragdolls or partially animated, partially simulated skeletal systems.

Erwin responded to the post last year saying this is a feature that will be added, but it doesn't sound like it is high on the list. From my understanding, most development of Bullet is focusing on GPU simulation right now.

I'd love to see quaternion based spring constraints added, as they will allow a truly unlimited set of options for complex character and environment rigging.
Layla
Posts: 3
Joined: Sat Sep 21, 2013 8:05 pm

Re: Alternative to btGeneric6DofConstraint For Ragdolls

Post by Layla »

It wouldn't be such a big limitation if the constraint didn't go haywire when going past 90 degrees.

I'm going to be looking into making my own constraint, I don't have much hope but it's something I really need.

The b3FixedConstraint in the Bullet3 github looks interesting. I'm assuming it's going to do what btGeneric6DofConstraint does. I'm just hoping it doesn't have this 90 degree limitation.