Weld option for constraints, Prevents movement and lag while not being used

A bool value for constraints that welds Attachment0 to Attachment1 or Attachment0.Parent to Attachment1.Parent.

This would make my game so much less laggier as there could be a lot of physics calculations thrown away by simply welding the parts with a simple bool value.

This helicopter,


uses a lot of hingeconstraints, whenever the propeller blades are spinning, they create a massive amount of lag as the “nonwelded” hingeconstraints have to update their physics aswell.

This could easily be removed by this new feature as it would automatically remove the physics calculations and weld the hingeconstraint in place, which results in a faster framerate, smoother gameplay and more possibilities.

2 Likes

Sorry I don’t fully understand the request. Can you elaborate on your helicopter example? What are the hingeconstraintes that you want active and don’t want active?
And if you want this “welded” property to be manually controlled, why can you just weld the two parts with a weld constraint, and enable/disable it?

2 Likes

Imagine you have a car with wheels connected via hingeconstraints.

You hold W to move forward, the weld breaks and allows the hingeconstraint to update/rotate with physics.

You stop holding W, the weld becomes active and the hingeconstraint can not update / rotate anymore.
^This is just an example, you could use this for many more cases like with the helicopter.

You could have 1 hingeconstraint for the middle piece to rotate the blades and have welded hingeconstraints with blades attached to them.


^ These blades are still being affected by physics, if this bool value were to exist, it would turn the blades and the middle piece into 1 temporary mechanism, rather than every propeller blade being a seperate mechanism.

The reason why i dont want to use weld constraints is because you’d have to weld the hingeconstraint via the server, this means you’d have to think about network delay, the possibility of the parts offsetting, lots of advanced coding + massive amount of remote events / network usage depending on the amount of constraints, etc.

With a simple bool value, this could be way more optimized and easier to do.

1 Like

You would still face the same issues related to potential offsets by enabling a WeldConstraint compared to if there was a “weld bool” on the HingeConstraint itself.

However, this is a problem we are aware of, and plan to solve it with a potential “relative sleep” system in the coming year. Portions of a mechanism could go to sleep, even though the whole mechanism is undergoing motion.

3 Likes

That would be amazing!

It isn’t supposed to be just like a weld, but its supposed to have the same effect as the weld constraint.

The client could take over control as the constraint exists on both the server and client already, the client could turn on the bool value and the server could turn it into 1 mechanism by enabling the weld on the desired position from the client.