Small objects physics issues since 4.16

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:

210228-spinning-cube.gif

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)][2]

[4.17 version (issue visible as soon as simulation is started)][3]

Hi dysplaced,

Thank you for the report. I was able to reproduce this behavior, so I’ve created JIRA UE-48722. Our developers will be investigating further. Follow that link to monitor the status.

-TJ

Hi,

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.

Thanks

Hi dysplaced,

This was marked as a duplicate of JIRA UE-50380 and this JIRA is still being investigated.

-TJ

Hi,

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.

Thank you for your help

There is no guarantee it will be fixed in 4.20, there is a lot of factors that go into that and there is no way to say for sure at this point.

As for staying up to date, the best way is to monitor the status of the public tracking link I provided above. As soon as the status changes on the internal JIRA, it will update there.

If you fix the issue on your end and would like to submit it as a pull request, please do so.

https://wiki.unrealengine.com/Git_Pull_Requests

Thanks,
-TJ

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.