[Nvm, Misunderstanding] Bouyancy miscalculation w/ Box MeshPart? Weird behavior when my MeshPart is CollisionFidelity Box vs. Default

Here, I have two identical boats skeletons. A basepart + an motor MeshPart.

The only difference is that for the MeshPart, when CollisionFidelity is “Box” (instead of “Default”) … the boat SINKS!

The MeshPart is cancollide false.

Now, when I make the motor MeshPart Massless it is fine, because now I presume it is fully removed from the buoyancy calculation. So, at least I have a way around this, but something here does seem wrong.

Expected behavior

Even though the collision fidelity is a bit different, I would expect the Box to not fall through the water like it does.

3 Likes

Thank you for reporting, we are looking into this. Can you please provide the test file to help with debugging, if you are able to.

Oops, thought I had added! Here you go!

BoatBouyancyMiscalc.rbxl (62.5 KB)

It looks like mass/buoyancy is calculated from the collision mesh. The box would clearly have a higher mass than the default.

1 Like

True, the issue seems to stem from the fact that the mesh part is being estimated to have a default density of 2.4, much greater than that of water.

If I recreate a part which has a similar volume and density the same effect is observed.

So two questions:

  1. Is it right that the density should still be what it is from Default even though collision is Box
  2. Should this engine really have a calculated density of 2.4?

I’m not quite understanding why the expected behavior here is that the MeshPart should not cause the boat to sink. The density of a part is connected to the Material assigned to it. You mention your MeshPart has a density of 2.4 and judging by the reflection I am assuming your Material is set to Glass, which has a density of 2.403.

So to answer this question:

I think so yes, because that is the density of the material that you assigned to the MeshPart.

What exactly is this question referring to? I’m having trouble understanding the question. If the question is "Is it expected that the density of the MeshPart remains the same when switching CollisionFidelity from Default to Box?", then I would also say that that is expected behavior. Developers can specify their own densities and I would not want one property change to also affect other properties in studio. That would be poor UX.

I will say though, it is not very clear or intuitive that the mass of an object is tied to its CollisionFidelity. I’m curious if there is a way to make it more clear in studio.

Oops, my mistake, I thought the 2.4 density was some calculated value, but you are absolutely correct that it is just from it being Glass material!

I will mark this as solution & close thread.

Perhaps some UX improvement in future, but other than that the engine is performing as expected :slight_smile:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.