我正在开发一个应用程序来显示属性及其元素,如墙壁,门等。我需要控制相机以缩放到场景中的特定对象。但是,我需要在物体之间缓慢移动相机而不是快速移动。我在这里有一个例子:
http://interactivebuildings.planning.nsw.gov.au/planning-residential
在此示例中,当您从列表中单击某个对象时,相机会飞到该对象。 我怎样才能在Three.js中飞行?
感谢。
答案 0 :(得分:1)
它叫做补间 JS有一些补间库 我首选的补间库是Greensock
的TweenLite或TweenMax要做我想你想做的事,你只需在场景中补间相机的属性。
答案 1 :(得分:0)
这是我用过的。使用tween.js http://www.createjs.com/#!/TweenJS可以很好地工作。
function test () {
var position = {X: 200, Y: 200, Z: 200, lookX: 0, lookY: 0, lookZ: 0};
tween = new TWEEN.Tween(position).to({X: 0, Y: 300, Z: 0, lookX: 0, lookY: 0, lookZ: 0}, 2000);
tween.easing(TWEEN.Easing.Circular.InOut);
tween.onUpdate(function(){
camera.position.set(position.X,position.Y,position.Z);
camera.lookAt( {x:position.lookX, y:position.lookY, z:position.lookZ } );
});
tween.start();
}
test();
animate();
TWEEN.update(time);