How to apply angular damping to a rigid body component?

Currently I’m trying to implement a hovercraft vehicle by using the new entity component system. So I added a rigid body physics component and applying a force dependent on the current ray distance between the hovercraft and the floor. BUT currently its going crazy on the rotation. So how do I damp the rotation a bit so that the vehicle is more stable? UE4 and Unity provide linear and angular damping. Whats the equivalent with Lumberyard?


Hey @VitaminCpp - You could try applying one of the constraint component types, limiting movement on one axis?

Here’s the reference:

Thanks for this approach! By using a simple Ball constraint it works, but by looking over the actual problem IMHO this limiting shouldn’t be required at all if LY would provide a method for retrieving the actual mass for a given point. This way it would be possible to consider the current mass at a given point when applying an impulse and the hovercraft never should go crazy again with its rotations. So the formula would look something like this:

impulseAtThruster = Lerp(rayDistanceRatio, 0, maxEnergy) * massAtThrusterRatio

Did I overlooked smth or doesn’t LYs physics system provide such a method for retrieving the current mass at a given point?

Impulses are generally applied at the center of mass unless you state a particular point (a 3d vector) in world space you want it to act upon so any inconsistencies are either from the engine or your maths calculating the correct thrust vector.

It is also possible that air resistance is to blame here but I dont know how extensive the physics engine is.