У меня есть сцена, которая отображает доску с несколькими объектами. Нажав на один из объектов и с помощью выделения объектов, я могу получить объект и оживить положение камеры, чтобы сидеть в режиме "сверху вниз" объекта. Затем, используя метод camera.lookAt, я могу заставить камеру смотреть прямо на объект.
Я замечаю быстрый переход в начале моей анимации при вызове метода camera.lookAt внутри метода onUpdate, поскольку он изначально имеет большое расстояние для поворота, чтобы посмотреть на выбранный объект. Каждый последующий вызов camera.lookAt крошечный по сравнению и хорошо анимирован.
// Position the camera to fit
var tween = new TWEEN.Tween(camera.position).to({
x: selectedObject.position.x,
y: selectedObject.position.y,
z: 1
}).easing(TWEEN.Easing.Quadratic.InOut).onUpdate(function() {
camera.lookAt(selectedObject.position);
}).onComplete(function() {
camera.lookAt(selectedObject.position);
}).start();
Есть ли способ анимации метода или мне придется вручную преобразовать матричные значения камеры, чтобы посмотреть на мой выделенный объект?
Вот сценарий с примером. Он использует WebGLRenderer, поэтому используйте подходящий браузер.
http://jsfiddle.net/fungus1487/SMLwa/
Спасибо за любую помощь.