Прочитав ваши комментарии к другому ответу, у меня возникла мысль. Я не уверен, что это подойдет, но это может быть полезно.
Насколько я понимаю, у вас есть вид самолета, которым управляет игрок, и когда игрок перемещает самолет в пределах настроек, вы хотите, чтобы корабль двигался относительно вида, который имеет игрок, но вы не хочу чтобы он выходил из вида. Я предполагаю, что весь вид движется, когда корабль летит вперед (это может быть неправильно).
Моя идея заключается в том, что вы всегда заставляете вид двигаться к центру корабля со скоростью, которая увеличивается по мере удаления самолета от центра вида. По мере того, как аппарат отходит достаточно далеко от центра, чтобы приблизиться к краям, скорость, с которой камера будет повторно центрироваться на корабле, будет увеличиваться (и ограничение скорости движений камеры превышает ограничение скорости самолет). Когда камера приближается к самолету, она замедляется. (да, это очень похоже на особую относительность)
Вы должны быть в состоянии следить за расстоянием от центра, в котором находится самолет, сначала зная, что он был первоначально отцентрирован, а также зная, какую трансформацию вы произвели на нем. Вы можете обновить матрицу преобразования, которая соответствует движениям, которые вы применяете к летательному аппарату, и при каждом обновлении вы можете вычислить обратную операцию, которая переместит камеру обратно в центр обзора камеры, а затем умножить эту матрицу на скаляр 1 / 2, и преобразовать всю сцену этим. Если вы не хотите, чтобы камера вращалась вместе с направлением самолета, то вы просто не ставите повороты в матрицу, которая идет в ногу с этим. Сколько вы хотите перемещать камеру каждое обновление (1/2 в моем примере) зависит от вас. Я выбрал 1/2, потому что часть, которую вы применяете, и часть, которую вы сохраняете для следующего обновления, совпадают.
Прошло много времени с тех пор, как я работал с openGL, но я помню, как мог читать матрицы обратно из движка , но это достаточно легко, чтобы справиться самостоятельно.
Это может быть совсем не то, что вы хотели, но, похоже, это может быть полезно.