AI Controlled Airplane Banking

My AI controlled airplane simply goes from point A to B to C and everything is working fine except I need it to bank on it’s Z axis realistically like a real airplane when it turns instead of rotating on the Y axis like a car.

My current code is:

transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(new Vector3(target.position.x, transform.position.y, target.position.z) - transform.position), rotateSpeed * Time.deltaTime);

I done it in one of my own projects, but I implemented more complex airplane physics, look at airplane AI in THIS PACKAGE

I was basing on this in my own project. What I did was getting target point, translate it to local space (InverseTransformPoint

Than I get the angles between forward of my plane and target using Mathf.atan2. I get angles for pitch (vertical) and yaw (horizontal). I compare them and see how much the plane should pitch and roll to be facing the target (in yaw it is angle, and in pitch it is substraction of target pitch angle minus current pitch angle). I only use proper yaw movement when the horizontal angle is small, if its reasonably big I apply roll and hence while making roll the banking (due to lift force) will rotate the plane towards the angle. Once again its all depends of your controller implementation. Check the example code to have an idea. I spent a lot of time adjusting the yaw, pitch and roll input to make it look good.