Rigid parts are not rigid, but compressed under gravity

  • What are you attempting to achieve? (Keep it simple and clear)

Trying to stack blocks on top of each other.

  • What is the issue? (Keep it simple and clear - Include screenshots/videos/GIFs if possible)

Unless we weld the pieces together or anchor them they don’t behave as rigid bodies, instead they get visibly compressed. I.e. a stack of 16 parts, all 1 stud high is significantly shorter than one 16 stud high part.
We made some pictures to make it clearer. The colored stack is made of 16 pieces (ignore the vertical bars, those are just for support), the white one is a single piece. They have the same height in Studio:

But once I press play, the multi-piece tower gets shorter by about 0.2 studs:

This is a problem, because it means that e.g. we can’t keep a house’s roof horizontal unless all supporting walls are made of the same number of vertical layers. This is a limitation we’d like to avoid. We’d also prefer not to weld or anchor everything.
Also, the small compressed pieces on top of each other tend to ‘wiggle around’ or just slide sideways, collapsing the building and significantly throttling the physics in the process.

  • What solutions have you tried so far? (Have you searched for solutions through the Roblox Wiki yet?)

We randomly played around with CustomPhysicalProperties. We managed to make the situation a lot worse.
We also tried to set all velocities and angular velocities to 0,0,0 in an OnStepped function. This did not prevent the compression of the pieces, but it did slow down the collapse of the building. Unfortunately it slowed down the whole of physics even more.
We also noticed that smaller parts seem to collapse faster. I.e. a 5-stack of 0.1 height parts usually collapses faster than a 5-stack of 20 tall parts. But we’d strongly prefer not to upscale everything.
On the off chance that maybe at least the wiggling is not directly caused by the lack of rigidity, but maybe by floating point errors, we experimented with various on- and off-grid, axis-aligned- and axis-misaligned towers of blocks, but it didn’t seem to make a difference.

I figure this kind of non-rigid behavior (the compression and wiggling of pieces) is absolutely necessary for the physics calculations in some way, but is there any way to tone it down?
In worst case we can just weld everything together but is that really the only way to reliably stack more than 4 parts on top of each other?

Thank you for your help in advance!

1 Like

Update: I realized this is a known issue, see here

and here

No solution so far.