How to rotate object around specified axis using AddTourque() instead of transform.RotateAround()

Dear Peoples

I have a gameobject (flying airplane) that i want to rotate around a specified axis. The airplane is supposed to yaw up and down.

This would be very easy with rb.AddRelativeTourque(0,0,torque). However, when the plane is currently tilted towards left/right (tilt around its forward axis) the function wouldnt yaw the plane straightly up/down anymore, but instead also slightly in direction of the tilt.

so my desired rotation axis is (transform.right.x,0,transform.right.z).
i can rotate my plane around this axis using transform.RotateAround() with its own position as the rotation center point:

Vector3 rotationAxis = new Vector3(transform.right.x,0,transform.right.z);
transform.RotateAround(transform.position, rotationAxis, 30.0f*Time.deltaTime);

This works almoust just the way i want it to, however, Id rather do this with AddTourque()/AddRelativeTorque() to respect collision and inertia. But im to stupid to think about how this would be done, so I need your help!

Kind regards and thanks in advance.

you cant use add torque to achieve that behaviour, you are looking to “orbit” an object, take a look into this forum