I think maybe a FreeCamera could more easily behave like an airplane… Here for instance the camera is facing forward and rotating about the forward axis like a plane rolling. For this example I changed your animate function to take x, y, and z rotation parameters and used them to build a rotation quaternion to animate to, so you can rotate the camera about any or all 3 of the axes.