我有一个使用CSS3DRenderer的div的球体。当我点击其中一个div时,我想定位/旋转相机,使元素显示在屏幕中央。 我已经尝试了几个例子,我已经阅读了其他答案但仍然无法让它发挥作用。
此刻它会移动相机,但球体会在不同的地方重新定位
我要做的是以下内容:
获取HTML元素的类。然后循环遍历THREE.CSS3DObject数组以获取其位置,然后使用它来定位相机。
function moveCamera(element) {
for ( var i = 0; i < objects.length; i ++ ) {
var object = objects[ i ];
if(object.element.className == element.className) {
position = object.position;
rotation = object.rotation;
found = true;
break;
}
}
if (found) {
camera.rotation = rotation;
render();
found = false;
} }
我做错了什么?
这里是示例http://jsfiddle.net/37R22/1/
由于
答案 0 :(得分:1)
你很亲密。您只需将相机移动到正确的位置即可。
camera.rotation.copy( rotation );
camera.position.copy( position ).multiplyScalar( 4 );
更新了小提琴:http://jsfiddle.net/37R22/2/或http://jsfiddle.net/37R22/3/
小心谨慎地追逐TrackballControls
并自己修改相机属性。然而,这似乎有效。
three.js r.65