Reproduction Steps
1. Create a part and turn on CustomPhysicalProperties and make Density to 1. (Having 1 Density makes this part neither float nor sink in Terrain water)
-
Create a Model with 2 or more parts and turn all parts’ Density to 0.1 or Massless. Weld all parts together to a PrimaryPart. (Being Massless or having less than 1 Density makes this part float in Terrain water)
-
Use a Weld or a WeldConstraint, Make Part0 the first part, and Part1 of the PrimaryPart of the Model.
-
Unweld the parts either by destroying the weld, or setting Enabled to false, and set Part0 and Part1 to nil.
-
Place the first part in Terrain water. The first part which Density is still set to 1 will now float in Terrain water and begin to bounce uncontrollably.
This happens in my game Feather Family after a player picked up an item. After dropping the item, the player character will start to bounce in water, sometimes bouncing high enough to reach positions far enough away where the 3D rendering starts to break down.
Expected Behavior
I expect the the parts to maintain their original densities/mass if they are no longer welded to each other. The first Part should still behave like it has 1 Density and neither float nor sink in Terrain water.
Actual Behavior
The Part0’s density behaves like Part1’s density even after being unwelded. The part with 1 Density now floats in Terrain water.
Issue Area: Engine
Issue Type: Other
Impact: Low
Frequency: Often
Date Last Experienced: 2022-10-17 00:10:00 (-07:00)