Is there a way to have different breaking points for tension and compression on a joint between rigidbodies?
It isn’t possible to distinguish between these, but I think you might be able to simulate it with two configurable joints. Can you describe the situation where you want this joint to work?
I’m working on a physics based bridge building game. My idea was I would take a beam, split it in half, and apply the joint there. If the forces exceeded the threshold then the beam would break in half.
I’m not sure there would be any straightforward way to make a joint fail under compression in this case. Squeezing two colliders together at an interface would not put any stress on the joint. Have you got any plan of how the two pieces of the beam would interact with each other?
I was afraid of that.
So the joint would act as the threshold for tension and lateral forces but there’s no way to simulate compression forces? I guess I’ll have to wait for Unity 3 and keep my fingers crossed it will let me view the forces applied to rigidbodies.
What if I do something like this?
The Joint would be a configurable joint which allows the beam to compress inwards (and no other direction). If it compresses by a certain amount (trigger collider?) then it would “break”.
I was thinking maybe something like that but I wasn’t sure if it made sense in your project. A joint has a break force which means that it will disappear if the force on it exceeds a certain amount. In the case where the beam is stronger in compression than in tension, you could use an third object in the gap and two joints (see another splendid piece of programmer art attached). However, I’m not sure there is any way to reverse it for the case where the tensile strength is greater.

That’s a nice one! But I agree with you that it is probably not possible to make the tensile strength higher then the compressive strength. ![]()
I think there will have to be 2 joints operating on the same area to simulate both tension and compression. what about this kind of thing?
the joint with the label “1” would allow the beam sections to freely move towards each other but not away from each other after a certain point. This would handle tensile strength.
The joints with the label “2” would allow the joints to move towards each other but stops them when they reach a certain point. these joints would handle compression.
That diagram is not very clear, here’s a better one.
The U shaped things would “limit” the movement of the sections of the beam. The middle one would break under compression and the outer one would break under tension.
The one in the middle would not be possible in Unity without using two joints (I think?), which is what I did in that last diagram.
So now the question of the day is how do I build this…