I am working in a game engine on basic suspension using springs. I have nothing further than high school physics, so excuse the question is its basic. I am learning.

For example, a motorbike is a rigidbody with a 100kg mass. The game engine applies gravity to this 100kg "box". Each spring shoots out a ray from the top of the spring down in the direction the spring is pointing. When this ray hits a surface (the road), the spring's length is calculated as its simply a wheel radius from the road to the attachment point.

Using Hooks Law, F = k.x, and subtracting damping based on the velocity of the spring's length change, I can then apply this force to the rigidbody at the contact point in the opposite direction of the spring. This worked really well for cars on level road. Even when a car is turned vertically and fired at a wall, it seems to pretty believable, the springs react as expected.

enter image description here

The problem is when the springs are at an angle.

enter image description here

Applying the spring forces in the spring direction would cause a net force to make the bike accelerate backwards in this case. Obviously this is wrong. As the front fork angle is increased it becomes more obvious.

When the front fork is at 90 degrees (pointing straight forward) the spring should play no role. So if the bike is dropped, there should be no spring. Instead I can calculate a force to cancel the vertical velocity of the wheel. This stops it from "falling" through the road. If you can imagine driving this weird bike into a wall, the one force would keep the wheel from going through the road, and a second would bounce it back from the wall. In this case the spring force is once again applied in the direction of the spring.

I think I have gotten myself into a brain loop and just cannot break out of it. Maybe if somebody can just explain what forces are acting on the rigidbody when the wheels are on a surface and how the spring's angle plays a role. I am sure the surface's orientation in regards to the springs' plays a massive role.


1 Answer 1


With the constraint that the spring can only move along its axis, then you need only find the component of the force in the direction of the axis. The normal force of the ground acting on the wheel, call it $F$, pushes upward. So then the force on the spring is $F_s=F\cos\theta$, where $\theta$ is the angle of the spring axis from vertical. The rest of the force, i.e. the component which acts in the direction perpendicular to the spring axis, also acts on the body, which in this case in this simple model would be rigid.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.