- Home /
Fixed joints are weak
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 :/)
Answer by RunSwimFly · May 05, 2013 at 05:11 PM
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.
Ohh, thank you. I've been trying to figure out how to make my sticky bombs stick to all objects really well and I was puzzled by them acting weird when sticking to big, heavy objects.
Was using fixed joints, but switching to hinge joints made everything work nicely.
Thanks! :)
Answer by mars84 · Oct 24, 2012 at 11:42 AM
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.
it seems to work better if you remove the rigid body from the child object
Answer by sweatyrat · Jun 29, 2012 at 05:15 PM
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.
Answer by valeracogut-datasakura · May 18, 2020 at 06:05 AM
also my solution for this problem was to separate fixed joint physics and its graphics, hope it will help too in your projects
Your answer
Follow this Question
Related Questions
FixedJoint for wall 0 Answers
Missiles attached with FixedJoint cause too much torque for airplane physics 1 Answer
Is it okay to use ForceMode.VelocityChange in Update()? 1 Answer
Ping Pong bat is not detecting the collision with the wall 1 Answer
is it possible to effect physics object with non physics character? 1 Answer