How to zero angular velocity?

I’m trying to set the angular velocity of a StaticMeshComponent, and I can’t get the velocity to be set to the value I want. The only thing I have that works is this:

 FVector CurrentAngularVelocity = MeshToMove->GetPhysicsAngularVelocityInDegrees();

 MeshToMove->AddAngularImpulseInDegrees(100 * MoveDir * AngularImpulseAmount -4 * CurrentAngularVelocity,NAME_None,true);

Where for some reason the 4.0 constant seems to be the magic value to zero out the velocity. I can’t understand why it’s not just 1.0

Also, I’ve tried this:

MeshToMove->SetPhysicsAngularVelocity(FVector())

But that just reduces the velocity by around 25%, it doesn’t go to 0.

Any thoughts?

Old post, but in case someone stumbles on it:
I don’t quite get why it is, but trying to have angular velocity go to 0 through
AddAngularImpulse gave me a real hard time. The angular velocity just goes haywire…
What I ended up doing is SetAngularDamping(100.0f) for the frame on which I wanted the actor to stop rotating, and SetAngularDamping to the previous value the next frame. Worked for me :slight_smile: