Mysterious sliding vehicle phenomenon

While spending hours of (admittedly very entertaining) testing of my vehicles, I have noticed a strange sliding problem.

Context:
I take control of a vehicle and drive it around, and then I spawn a new vehicle and possess it. At that point, the previously owned vehicle is handed over to an AI controller, which simply slows it down to a halt, then applies the handbrake and puts the rigid body to sleep. All of this works just fine.

But (here’s the mysterious bit) in some cases the mere existence of the previously owned vehicles in the map (lets call them OLDs) seem to affect the handling of the new vehicle that I am now in possession of (lets call this one NEW).

The most obvious effect, which manifests itself when there is a handful of OLDs in the map, say 3 or more of them, is that my NEW vehicle tends to slide around a bit on the ground, somewhat randomly varying in direction and orientation, as if it were standing on ice all of a sudden while being affected by a soft but erratic force field. The effect is only barely noticeable while driving the NEW at a decent speed, but if I stop somewhere to admire the scenery, as it were, it gets very obvious.

I have no idea what is going on of course, but from a non-expert’s point of view it seems like there is some crosstalk going on between different instances of the same vehicle blueprint, if that’s even possible.

The only clues I can provide are:

  1. It does not seem to happen if the OLDs are instances of a different class (vehicle blueprint) than the NEW, although I haven’t double-checked this lately.

  2. The physics asset and skeletal mesh in question are both nice and sound, and normally there are no problems whatsoever related to performance, frame rate (range ~35 - 40), collision or overall handling. In short it behaves perfectly except for this special case.

So, it seems to me like a bug in the vehicle movement component, but I’d be delighted to hear any ideas for things I can check on my end to find a possible solution.

Things I have tweaked and eliminated from list of possible causes:

  • Physics substepping, on or off, steps 6 to 16: no difference
  • Suspension force offset -5 to 0: no difference (didn’t really expect it either)
  • Tire Type friction scale from 0.5 to 2.0: no difference
  • CCD on or off in physics asset: no difference

OK, so I have now verified that this is a general problem not related to my particular vehicle setup (phew! :slight_smile:

The sliding problem can easily be reproduced in the VehicleGame (DesertRallyRace) by doing the following:

  • Drop three VH_Buggy blueprint vehicles on the bridge right at the start of the track
  • Move them about 100 meters up in the air (a Z position of around 31000.0)
  • Now start the race

As long as those three buggies are moving, the player-controlled buggy will be sliding in one way or another. As soon as they have landed and stopped moving, the player-controlled buggy will instantly stop sliding.

The problem is not related to falling specifically, it was just the easiest way to make them move, thereby reproducing the phenomenon with a publically available project.

Epic, please verify.

Howdy ,

I have looked into the issue that you have been seeing and was able to verify the vehicle sliding when the other VH_Buggy Blue Prints are falling. The steps you have provided in the last comment were very easy to follow when attempting to reproduce the issue. I have gone ahead and wrote a bug report as well, so that the bug may be looked into further.

Thanks for your report and have a great day!

Hi , I know that your message is old and unfortunately I don’t have a fix (maybe the guys at Epic have solved the problem on 4.5.1 but I’m forced to use 4.4.3). I just want to thank you because this problem was driving me crazy. I’ve lost the last two days searching for a solution assuming that there was a problem on my side (nobody else reports this bug). Then I’ve found your post and you saved me from losing two more days in vain…thank you!
Btw any news on this issue, Epic?

Howdy Gastel71,

I have just tested the issue on 4.5.1 and have run across no errors when trying to recreate the issue. I have also tried to recreate the issue in 4.3.1 and have run across no errors. Would you be able to provide steps as to how to recreate this issue in 4.4.3?

Hi Sean,
it’s difficult to provide a step by step guide because the project I’m working on, even if still a prototype, is quite large. Initially I had a vehicle class derived from VehiclePawn, fully functional and drivable by the player. I then adedd two more AI driven vehicles. The AI vehicles drove around the track without problems. Everything worked fine. I then added more AI vehicles (6 AI vehicles + the player vehicle) and that caused the problem. Basically the non-AI vehicle instead of standing still, slides randomly. If the player accelerates and drives the vehicle everything seems fine. So the problem arises only at low/zero speed. Like I’ve tried changing the physics parameters but with no luck. If you leave the human car unattended for a few minutes it moves for a few meters from its inital position and continuosly slides like it has no friction. By the way I’ve just tried to convert the project to 4.5.1 and the problem is still there. In fact I’ve also tried to reproduce the problem on the DesertRallyRace demo like proposed by and the problem manifest itself even on 4.5.1. Just follow what he says
"The sliding problem can easily be reproduced in the VehicleGame (DesertRallyRace) by doing the following:

Drop three VH_Buggy blueprint vehicles on the bridge right at the start of the track
Move them about 100 meters up in the air (a Z position of around 31000.0)
Now start the race
As long as those three buggies are moving, the player-controlled buggy will be sliding in one way or another. As soon as they have landed and stopped moving, the player-controlled buggy will instantly stop sliding."

Notice that normally the main vehicle stands still during the countdown, while if you add other “falling” vehicles the main vehicle starts to move randomly even during the countdown.

Hey gastel71,

Thank for your repro steps. I was able to see that the issue was still occurring. The issue is currently still open as of this moment. I will be sure to keep on eye on this issue.

Thanks and have a great day!

We can confirm this is happening in 4.15 as well, Oh and with only one car in the scene it doesn’t matter. It’s as if it where on top of a slippery surface and the wind were swaying side to side.

Hello porckchop,

Does this issue happen with any vehicle that you use, such as the Sedan and Buggy included in the templates, or is it specific to your assets? I tried looking up the old bug but I can’t find it in our database, it may of been lost when we switched systems a few years ago.

If your issue is content specific, would it be possible to provide a test asset?

Hi, Just noticed this issue with one of my vehicles in our terrain and I can confirm that this also occurs with the example Unreal Engine Buggy. In the Vehicle debug window I can see the following screens showing something happening: tireLatSlip, normTireLatForce, normTireLoad. Also while debugging I noticed that during this sliding if I look at the value of ‘Vehicle Movement → Get forward Speed’ it shows as rapidly changing between slightly below 1 and slightly above -1.
This is happening in my 4.14 project with all the vehicles I try.
Would be great if someone could look into this.

Edit: Friction is also constantly at 1.
Having brakes on while sliding also doesn’t help.

Edit: This does not seem to happen or at least less when the vehicle has ‘Deprecated Spring Offset’ set to true.

Hello Wolff95,

Is this only happening on your terrain or can you reproduce it by placing the vehicle on a mesh (such as a scaled up cube)?

Hello ,

This is also occurring on a scaled up cube. It is less intense but looking closely and at the vehicle debug I can see the same thing happening. I tried this on a perfectly flat cube and on a slightly angled cube, this seems to happen more strongly on the slightly angled cube. Again, enabling Deprecated Spring Offset seems to mostly stop this from happening. But that’s more of a workaround than a fix…

Can you show a gif or video of this occurring? Preferably in the Advanced Vehicle Template? Since you mentioned that it can happen on a cube and with the buggy, I tried just taking a look at the stats shown by console command “showdebug vehicle” but I’m not seeing the values change at all.

Hi,
I made a video of this ocurring in the official Unreal Engine Vehicle project but am not allowed to upload a .mp4 as an attachment. All I did was uncheck “Deprecated Spring Offset” and it happens, when this is true however it pretty much doesn’t occur so it might have something to do with that.
Can you confirm if you are able to reproduce this?
Thanks

I’ve never disabled Deprecated Spring Offset so I wasn’t aware it was something that enabled by default, I apologize for overlooking that.

When using the Vehicle Advanced Template (the one that uses the buggy) and printing the result of GetVehicleMovementComponent()->GetForwardSpeed() on tick to the log, I received the output in the attached text file. The result is not 0 for a short time while the chassis of the vehicle settles but after it does, the value is constantly at 0 and I’m not seeing any issues.

After looking at the description on the Deprecated Spring Offset setting, I also wouldn’t expect the buggy to be a good representation of a vehicle that should have this disabled, as it likely has not been retuned since the new spring offsets were added.

If you’d still like to upload the video, you can do so by uploading it to a third party hosting website such as Google Drive and provide the link here.

Hi ,

That’s okay, I’m just trying to make you see the same as I’m seeing.
I know the Buggy hasn’t been re-tuned but as I mentioned this also happens with al my own vehicles that are made new unlike the buggy.

I showed the issue to a colleague of mine, we were watching how the vehicle was sliding up a ramp(instead of sliding off).
Link to video.

Here is an issue of the vehicle standing on a nearly flat surface.

That would explain the difference in our results. As mentioned before, I’ve been using the Buggy in the Advanced Vehicle Template, not the VH_Buggy in VehicleGame. After testing the VH_Buggy in VehicleGame, I do see some sliding with the setting disabled but still not to extent of your videos. I don’t see any sliding on level surfaces and only see a very slight slide on an angled surface which is a slide down rather than the slide up in your video.

As no sliding is occurring with the Buggy in the AdvancedVehicleTemplate, at least for me, I would suggest looking at that vehicle and comparing its setup to your vehicles for an idea of what may need to be tuned. If you are unable to do so, I can try looking into it but it may be fruitless since I’m not seeing the issue to begin with.

I noticed I changed a thing in the VehicleGame Buggy Physics Body. There are 2 unnatural box colliders along the sides of the Buggy that prevent the Buggy from flipping while steering, if you remove these(and set deprecated spring offset to false in the vehicle blueprint) you will see the issue I am experiencing.

I will take another look at the AdvancedVehicleTemplate and see if I can figure out why this is happening. Are you able to reproduce the issue better after following my steps?

I can confirm that I do see the behavior you showcase in your videos when I remove these boxes, but as mentioned previously with this not being retuned, this seems expected. The vehicle hasn’t been changed since before 4.13 and doesn’t support the new spring offsets and also removing these bones, as out of place as they may seem, would also require the vehicle to be retuned.

I don’t believe that this is a bug and likely wouldn’t be considered a bug by the developers of the feature as well, since they added the setting as part of this change.