但是当我们需要固定场景背景,固定固定摄像机的时候。我们只能去移动物体了。Three.js提供了
TransformControls.js控件,它可以控制物体的旋转、缩放、平移,但是使用起来并不方便。
这个时候就需要自己动手写控制器了。
原理很简单:获取鼠标(手势)点击的位置,以及鼠标拖动的距离。
把移动的方向和距离作为参数传递给物体。然后在循环中改变物体的属性来控制物体。
将要转动的物体放在一个组中,改变该组就可以。
这里获取的是X轴方向的鼠标移动的值。然后绕Y轴旋转。也可以添加其他的方向的旋转事件。
也可以添加一个功能,点击立方体之上才有效果。再说吧。
引入这个js <script src="../js/controls/OrbitControls.js"></script>找你自己的路径哈,在threejs的库文件里面有的。然后在代码中加入var controls = new THREE.OrbitControls(camera)//创建控件对象 camera是你的相机对象
controls.addEventListener('change', render)//监听鼠标、键盘事件
就可以随意旋转了。