Questions about applying force based on actor mass

I’ve been working on raycast-based wheel and tank track suspension for a vehicle building game, and while doing so a number of issues have come up. For simplicity’s sake, all forces are applied to a master actor which I’ve overridden the mass of to 100kg for testing.

When the vehicle is stationary or at very low speed, it will jitter side to side. I’ve figured out that this is due to the friction force being applied to the wheels being much stronger for some reason when the vehicle isn’t moving much, if at all. I’ve found that increasing the mass of the master actor or lowering the constant value that the friction force vector is multiplied by both make this jitter less prominent, but both result in the overall friction with the ground being lower, which results in the vehicle sliding around a lot more. This sort of movement doesn’t feel natural when controlling a vehicle. I was wondering if anyone knows a way to fix this, as the only thing I could think of would be to implement some sort of PID to the friction force.

Less of an issue and more of a question is that I’ve been wondering if there’s any way to not have to deal with such large number values for applying force. It seems as though overly large values need to be applied to make anything move, to the point that such large values feel arbitrary. I can still work with these values on my own or later translate them into more manageable numbers for players to tweak when designing their vehicles, but if there’s anything I can do about this while I develop the game I’d be happy to know.

Thanks in advance.

increase force and increase dampening and see how it works.
also when using raycasted suspension you should not have any friction applied its basically floating .
I also made a tracked vehicle myself .

I guess you’ve seen the posts about MMT’s substepped physics tick plugin (which includes a great PID controller btw)… so you’ll be aware that applying physics on a normal tick in UE4 will cause issues, things that work fine on one computer will tend to go haywire on another.

Regarding traction, you can explicitly AddForce to your actors to fully or partially counteract sideways slip… the force might be a fixed number, a percentage related to forward speed/individual vehicle traction/tyre width, etc (a PID might also come in handy here)

Yes, the force/impulse needs huge numbers, though you can check “use acceleration” on them to ignore the mass which makes the numbers a bit more convenient

i solve tick issue by multiplying force and delta time works fine unless fps drops under 5.

@irajsb… I’d be very happy to be wrong… but I have read that AddForce/AddImpulse, etc are already Tick independent (somehow).

Using your method, may I ask if you are seeing similar velocities and acceleration curves with varying tick speeds? It would be REALLY useful if it is so.

here is a video of it.No i did not face any problem unless fps was under 10(delta time gets too big shoots vehicle in up direction maybe can be solved by clamping).

interesting! I have my current project working well with the free MMT plugin, but it would be even better if it ran without substepping and MMT. I’ll likely experiment with it in the next few weeks…

btw, your wip video is very impressive! Could be a fun game :slight_smile: