我有一个使用CSS3DRenderer的divs球体。当我单击到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/
谢谢
你近了 您只需要将相机移到正确的位置即可。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句