Physics Sub-Stepping Not Working in 4.16?

Just installed and set up my project to be used in 4.16, and noticed my physics for jiggle physics and other things were really spastic. I tried changing the max substeps and the max delta time, but neither option made anything better. The settings I had used before were a great compromise between performance and visual effect.
These are the settings that worked perfectly in 4.15:

Max Substep Delta Time: 0.01
Max Substeps 10

Seems like despite any setting being changed for substepping its just spastic and made worse. Its better without now but that means Id have to settle with some twitching.
My project in 4.15 didnt twitch with it however, so Im just curious if its bugged or if something was fundamentally changed with it between versions? Can anyone else confirm that its behaving different?

Same problem here, all the hair physics of my main character are broken… so no update to this version for me until it will be fixed

Hello,

I wasn’t able to reproduce this behavior internally, maybe there is a difference between our test assets. Could you post a small project with an asset that reproduces the issue?

We haven’t heard back from you in a few days, so we are marking this post as resolved for tracking purposes. If you’re still experiencing this issue, please feel free to post back here with additional information to reopen the post.

-TJ

Not necessarily. If you believe this is the exact issue that Grayve Rose originally reported and you can provide the additional info I requested, please feel fee to post it here.

But if you think it could be a similar but different issue, then post a new report in the Bug section.

This issue isn’t resolved for me, should i make another bug report for it?

I took some assets into a new project and did some basic testing, and the physics were stable both with and without substepping. I then took those same assets as they were and brought them into my main project and tried there, and there was jitter. Im going to do some more tests and see if i can find a solution, Ill post my findings if I discover anything. Simply copying the physics settings from one project to another did not improve anything though.

Alright, I’ve done all the tests I can think of and I found out where the issue is. The reason the physics weren’t jittering in a new project in 4.16 was because the frame rate was so high capped at 120. In my main project the frame rate at its highest is somewhere around 90-100.

I went back to the test project (freshly made from 1st person template), and I capped the frame rate to 100 and less. With substepping enabled for physics, at any setting it seems, it starts going insane and jittery even capped at 100 frames and just gets worse the lower it gets from there. The problem must lie somewhere in the timing of the physics or something to do with frame rate. I dont know what to do about it on my end though, but hopefully that will help point in the right direction.

I went back to my 4.15 project when the settings were stable and did the same locked frame rate tests, and the physics were completely stable even as low as 15 frames. Something is definitely different since 4.16.

I took the default 1st Person template project > Enabled Substepping > Used the console command ‘t.maxfps ##’ and tested it at 60 and 30 fps. I’m not seeing any sort of jitter effect when shooting the boxes. Could you make a small video or gif of what you are seeing?

Oh, now I understand why you arent able to reproduce the same result. I’ve never tested with independent Static Meshes, its always been with Physics Assets that are using constraints, or Static Meshes with constraints. Sorry I failed to specify.

For me its been happening with Physics Asset joints that have constraints, and in 4.15 I had to use substepping to fix jitter with nCloth as well as physics. I have made a lot of changes to my meshes that use nCloth since 4.15 and havent gotten around to updating/remaking my nCloth assets yet, so I cant confirm if substepping jitters nCloth too the same way in 4.16.

The tests I’ve done was use the project setting’s fixed frame rate in the General section and capped it there to 100 and lower increasingly, and they become more unstable the further the limit gets from 120.

Im going to see if I can put together a test project to best demonstrate it, if I can Ill link it here.

Ah indeed, yeah its a bit of a visual deal breaker, I feel the same. Im curious, are you using nCloth for your hair physics or a Physics Asset with constraints, like a physics ponytail or something like that?

Good example, thanks for sharing. That also demonstrates my issue except, apply that issue to jiggle physics (Physics Asset with 2 joints with constraints per breast) and its the same thing on my end. Im guessing thats done with a chain of joints inside a Physics Asset with constraints?
My characters hair uses nCloth, but I havent gotten around to updating my hair nCloth settings since 4.16, so Im not sure if its affecting cloth physics, but I wouldnt be surprised considering I had to enable substepping to fix jitter with cloth physics in 4.15.

Ah I see. Right, or perhaps something relating to smaller joints, maybe mass or constraint limits.

Awesome, thanks for posting your settings! I’m currently on the road and can’t check if they work for my character, but I’ll give it a shot when I’m back and post the results then.

Ah lame deal, I wonder if its the way our skeletons are made. Was hoping theyd just give you stability until their was an actual fix to substepping. Sorry they couldnt come through. Indeed, sounds good, would be great to finally get a fix

Sorry I wasnt able to get around to it until recently, but I did some tests in a new project and also wasnt able to reproduce the error. It seems to work fine even without sub-stepping.
It might be worth mentioning that my project has existed since 2014, and has just been converted since by means of copying as new engine versions have been released. If that is the reason why, is there any easy way to sort of update my project to ensure it doesnt have any kind of clash? Is it as easy as just making a new DefaultEngine.ini and re-entering my settings?

Hello TJ Ballard. I created two gifs before and after the update from 4.15 to 4.16 to illustrate the issue. Does this help in any way to identify the issue?

4.15

4.16

As mentioned by GrayveRose, it appears to get worse in more expensive scenes. I simply added a bunch of point lights to the scene to test this. Using the ‘t.maxfps ##’ command, on the other hand, did not seem to have any noticeable impact on the behavior of the physics.

For me the issue is still there at high velocity especially when the character falls or jump, and at low fps hair bones are completely crazy even when the character isn’t moving… I really hope this problem will be fixed one day cause i’m not able to upgrade my project, i have also try to migrate only the skeletal mesh on a blank project but it doesn’t solve it…

I don’t use any nCloth on my character, only basic ragdoll from Physics Asset but it doesn’t seems to affect large body part like arms or legs, so it sounds like only small bones (like hairbangs or ponytail) are affected.

Yes, I’m using a using a joint chain driven by a physics asset for the hair, so it’s definitely not related to cloth in my case. Jiggle physics don’t work for me either, you can just barely see it on the character’s chest in the gif. I should probably make another recording in a “real” environment, since the problems are much more pronounced there.

There was a similar problem back in 4.8, but it was fixed in the following release. Maybe this is related? Physics Problems with Ponytail - Physics - Unreal Engine Forums