Force Breakable Joints

As a Roblox developer, it is currently too hard to create environments that are destructible through physical forces. It would be helpful to have a stable joint that can be broken when a certain threshold of force is applied.

This would allow games to be less reliant on custom physics systems and complicated workarounds when trying to achieve this effect. See: What options does Roblox have for vehicular mayhem?

Thank you.

78 Likes

This would help so much!

It would help with trees, fences, and other destructible items without having to use tacky constraints to do so. I feel like this is crucial to such a physically simulated game like roblox. +1

28 Likes

For sure, at the moment I planned to find the parent of the hit, check the vehicleSeat’s velocity magnitude, then destroy the sign/structure/whatever depending on that force. So far I haven’t tried to make it work yet, but something like this would be great.

3 Likes

I was going to make a new thread for this, but I’ll piggyback off of this one. Consider this a bump.


Joint Instances should break when given a stress threshold

It is currently impossible to build structures or environments that break when under enough stress.
The inability to have joints of all types break when external forces are applied to either part in the joint has been an large, unfulfilled need from our physics sandbox ever since the Glue surface joint was removed.

Currently the only way to sort-of do this today is to rely on the break-joints behavior of explosions, but I dont think that applies to any of the scenarios Ive lied out below.

If Roblox is able to address this issue, we would all be able to create physically responsive situations.

For example:
We’d be able to drive large, heavy tractors slowly on top of a wood fence, breaking it as we drove through. The same fence would break when directly hit with a sports car only if it was going fast enough.

Elevators that exceed weight capacity limits could have all of their redundant fail-safes fail as it’s cargo plummets to the center of the earth.

Hitching a trailer full of lumber to a truck could break on a number of condition: perhaps we were hit by another truck at a high speed which snapped the trailer off of our truck. Or perhaps we’re going up a steep hill and the combined weight of our wood is just too much for the trailer hitch to handle.

A chandelier’s rope is cut and when it reaches impact with the ground, the it shatters into tiny bits of chandelier.

20 Likes

Glue used to function like this, but incredibly unstable and it had unhappy performance.

Would love to see an extension of weld constraints that functioned like this!

7 Likes

I think what might actually serve as a good purpose for this is an addition to Touched such as a “force” parameter, or alternatively a new event for physics collisions fired every physics frame force is applied from another body (perhaps “Collided” which rather than detecting simple touches would fire when two parts forcefully collide with one another or push against each other). Alternatively perhaps scripts can query forces between two parts rather than this event firing per frame (e.g. on Heartbeat after the Collision event fires they could call part:GetAppliedForce(otherPart)).

This would allow for much more than new joint instances or properties would. This would allow for existing joint instances to be removed when necessary and would allow for force sensors (e.g. hanging or resting scales). The force parameter returned/passed should definitely be a vector value (its Magnitude can be compared to determine force thresholds) since this would allow for the direction of force to be taken into account.

Honestly this depends on how Roblox’s physics engine works, but I’d love to see something along these lines. Alternatively, I do believe force breakable joints would be a great addition on its own.

6 Likes

The biggest problem with this feature would be that there would also need to be a fix with sleeping parts. I’ve done some tests in the past with making tracks that have objects on the side, like fences, that are made entirely of unanchored parts, but even with only 200 or so parts there is a good chance that as soon as you hit one you either get instantly stopped or flung randomly because one or two of them are still sleeping. Granted this will probably be improved as more parts are together with joints, it still should be addressed if we want any Flatout esque games made.

3 Likes

This would improve my game by making it so when you crash your vehicle into terrain or when 2 vehicles collide, they will break into many pieces and get destroyed instead of just flipping around very fast

streamable.com/vjjslz

8 Likes

This would make destructable cars way easier and more realistic

RigidConstraint did have properties, although hidden/not enabled, to enable breaking upon a threshold you would have been able to set, but they removed those properties a long time ago. It would have been perfect for these kind of scenarios.

2 Likes