If I have an object that is looking forward (forward vector is (0, 0, 1)) and its up vector is (0, 1, 0) and I rotate it to face down, its forward vector would change to (0, -1, 0) and its up vector would change to (0, 0, 1).
To create this rotation, I could do Quaternion.LookRotation(new Vector3(0, -1, 0)). If I know the starting up vector, is there some way I can use this rotation to get the resulting up vector?