Как плавно повернуть камеру в направлении определенной точки во three js?
Я использую следующий код:
start_rotation = new Euler().copy(camera.rotation);
camera.lookAt(target);
end_rotation = new Euler().copy(camera.rotation);
camera.rotation.copy(start_rotation);
Здесь я сохраняю начальные данные камеры о вращении. Затем использую camera.lookAt для установки желаемого направления камеры к точке. Сохраняю положение камеры и сбрасываю значения в первоначальное состояние. А далее анимирую вращение камеры от начального и до конечного состояния.
В целом все работает, но есть одна проблема. Я не контролирую, каким будет само вращение. В идеале я хотел бы сам задавать это (1. Камера повернется по часовой стрелке. 2. Камера повернется против часовой стрелки. 3. Будет выбран кратчайший из двух предыдущих вариантов).