三个JS:如何旋转对象而不是旋转相机?

时间:2018-07-03 09:53:23

标签: javascript three.js

在Three JS中,是否可以使用鼠标旋转对象而不是使用OrbitControls.js(https://threejs.org/docs/#examples/controls/OrbitControls)来旋转摄像机。

2 个答案:

答案 0 :(得分:2)

您可以收听“ mousemove”事件,并将增量应用于对象旋转。

这是一个非常容易上手的解决方案:

var canvas = renderer.domElement;
canvas.addEventListener('mousemove', onMouseMove);

function onMouseMove(event) {
  cube.rotation.y += event.movementX * 0.005;
}

http://jsfiddle.net/go2fhr3v/14/

答案 1 :(得分:1)

我通过以下方式解决了这个问题:

我为ThreeJS创建了“ ObjectControls”模块,该模块允许您旋转单个对象(或组),而不是SCENE。

包含库文件

用法:

var controls = new THREE.ObjectControls(camera,renderer.domElement,yourMesh);

您可以在此处找到实时演示:https://albertopiras.github.io/threeJS-object-controls/

以下是仓库:https://github.com/albertopiras/threeJS-object-controls