Title pretty much says it all. I am using fixed joints to connect several rigidbodies in my game, but the joints are simply too weak to work for me, even when i set the physics iteration count all the way to 100. The fixed joints act less like fixed joints and more like heavy springs.
I understand that the joints are likely intentionally not solved for very well, to make them faster and because they are good enough for most applications, however if you are making a physics based puzzle game that relies heavily on the accurate simulation of joined rigid bodies, they simply won’t do. Is there a way to make joints that are less bouncy? (I already tried using hinge joints with limits, they are slightly better in some cases, but not by much :/)
I had a similar problem and the best solution I have found is to make an object that is fixed to another object a child of that object i.e. set the other objects as its parent.
I then set the rigid body of the child object as kinematic, and if something occurred that would disconnect the two bodies, I unparented the child object and turned off kinematic.
Parenting may have disadvantages in your case but it works for me and seems to be the only way to keep a fixed relationship between two physics objects without having to manually reset the position as suggested above.
I’ve found that fixed joints are weak when there is a large mass disparity and the joint component is stored on the low mass object. Thus I always add the joint component to the higher mass object. I found the reverse to be true for hinge joints.
unfortunately the hinge joint trick is the one everyone uses. it worked really well for me when a had the same problem. that’s the closest your going to get with the unity joints. you could always make your own joint script. just define an attachment point in local space on each of the 2 objects you are joining and apply the necessary forces to keep the points together while manually overwriting the positions to insure that they are exactly at the same point even if the physics engine is slightly off.