[英]Pivot camera around object on drag
在我的 three.js 场景中,我有一个 object 和{x: 0, y:0 z:-150}
。 我的相机有一个 position {x:0, y:0, z:75);
. 我想要的是用户可以在object周围拖动相机,让用户一直看着object。
相机需要在向左或向右拖动时跟随给定的圆圈笔划。
我尝试使用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);
我现在遇到的问题是相机绕着自己旋转,而不是绕着 object 旋转。
像这样尝试:
camera.position.set(0, 0, 75);
object.position.set(0, 0, -150);
const controls = new OrbitControls(camera, renderer.domElement);
controls.target.copy(object.position);
controls.update();
上面代码的想法是利用表示焦点的OrbitControls
的目标属性。 无需在摄像头object上手动调用lookAt()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.