I have physically simulated objects at various scales, the smallest are less than a cubic centimetre. The physical simulation used to work fine in versions up to 4.15, but since then the small objects behave weirdly.
This gif illustrates the problem:
Instead of coming to rest, objects that are smaller than ~4 cm³ keep spinning around a corner of the colliding surface. Turning on Stabilization (which was introduced in 4.16) and turning off PCM (which already exists in 4.15 and does not cause problems there) helps but doesn’t eliminate the problem. I haven’t found any configuration of physics parameters that completely removes the issue in 4.17, on the other hand no configuration I tried in 4.15 exhibits the problem.
Here’s an example project based on the rolling template to illustrate and reproduce the behavior:
[4.15 version (no issues)]
[4.17 version (issue visible as soon as simulation is started)]
the issue says that the target fix is 4.19. It is out now, but the bug is still present. The issue has also been classified as “Duplicate” in the meantime, but I haven’t been able to find the issue it duplicates. Do you have any update or further information on this? We are getting closer to release and this is currently a game breaking bug for us.
thank you for the answer! The issue in Unreal Engine Issues and Bug Tracker (UE-50380) seems a lot more specific than what I had described (objects do not need to have multiple convex components to keep spinning as long as they’re small) and is missing the information that this behavior started in 4.16 and was working properly in 4.15. But hopefully both issues will be visible when someone investigates.
Unreal Engine Issues and Bug Tracker (UE-50380) has 4.20 as target fix. Is there any way for me to stay up to date on developments around the issue, or even help with resolving it? If it is not it is not fixed in the timeframe that 4.20 is expected, I will need to find a workaround on my side, which will probably take quite some time.
Hi, I have tried to bisect the issue: it started at commit 03d64a49e83e81b8d6f5594d99e0a35cda52f0f0, the previous commit works fine. The commit contains lots of changes, but the bug comes from the included PhysX update. Using PhysX3PROFILE_x64.dll from before gets rid of the bug and seems to work even in 4.19.
Unfortunately, there are hundreds of changes to the PhysX code in that commit and the PhysX repository available from Nvidia does not have a smaller increment, either, so I wasn’t able to find the exact code change that triggered the behavior change. Still, I hope this information helps in resolving the issue.