Javascript 拖动时围绕对象旋转摄影机
在我的three.js场景中,有一个对象具有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
{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()