Stabilising a rotation

Hello,

Im making a bird in unity, and it needs to react to a collision by shaking.
i just want it to react physically realistic to a collision, which is not a problem, because the physic in unity already do that, but what i then want it to do is to restabilise itself by slowly going back to the original rotation.
How is this supposed to be done?

I’m from the flash world, and very unfamiliar with 3D phisycs/Math, so i’m very confused with Quaternions and 3D rotation.

Thanks in advance

Easiest way is to record the rotation at impact, then you can start using:

Quaternion.RotateTowards(currentrotation,oldrotation,maxDegreesDelta);

Where maxDegreesDelta is basically the largest amount you want your object to rotate by (probably multiply with Time.deltaTime)