Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拖动时围绕对象旋转摄影机_Javascript_Three.js_3d_Camera_Drag - Fatal编程技术网

Javascript 拖动时围绕对象旋转摄影机

Javascript 拖动时围绕对象旋转摄影机,javascript,three.js,3d,camera,drag,Javascript,Three.js,3d,Camera,Drag,在我的three.js场景中,有一个对象具有{x:0,y:0z:-150}。我的相机的位置是{x:0,y:0,z:75);。我想要的是用户可以在对象周围拖动相机,这样用户就可以一直看着对象 相机需要沿着给定的圆笔划向左或向右拖动 我尝试使用OrbitControls和pivotPoint获得以下结果: const controls = new OrbitControls( camera, renderer.domElement ); controls.update(); o

在我的three.js场景中,有一个对象具有
{x:0,y:0z:-150}
。我的相机的位置是{x:0,y:0,z:75);。我想要的是用户可以在对象周围拖动相机,这样用户就可以一直看着对象

相机需要沿着给定的圆笔划向左或向右拖动

我尝试使用
OrbitControls
pivotPoint
获得以下结果:

const controls = new OrbitControls( camera, renderer.domElement );
controls.update();
         
object.position.set(0, 0, -150);
pivotPoint = new THREE.Object3D();
object.add(pivotPoint);

camera.position.set(0, 0, 75);
camera.lookAt(object.position);
我现在遇到的问题是相机是绕着自身旋转的,而不是绕着物体旋转的。

试着这样做:

camera.position.set(0,0,75);
对象位置集(0,0,-150);
const controls=新的轨道控制(摄影机、渲染器.doElement);
控件。目标。复制(对象。位置);
控件更新();
上述代码的思想是利用表示焦点的
OrbitControls
属性。无需手动调用摄影机对象上的
lookAt()