javascript - 如何在 Three.js 中拖动场景

标签 javascript three.js drag-and-drop draggable mousemove

当我向左或向右拖动鼠标时,我想拖动场景,而不旋转相机。

我试过了

camera.position.x = mouseX;  
camera.position.y = mouseY;  

但是场景旋转了

我尝试更改场景中的位置 - 场景旋转。

如何拖动场景?

最佳答案

您可以尝试使用(在定义相机之后)

controls = new THREE.RollControls(camera);
controls.movementSpeed = 10;
controls.lookSpeed = 1;
controls.rollSpeed = 0;
controls.autoForward = false;

将其包含在 html 中后:

<script type="text/javascript" src="three.js/examples/js/controls/RollControls.js"></script>

此外,您还必须更改 onWindowResize 事件以添加

controls.handleResize();

以及要添加的 render() 函数

controls.update(clock.getDelta());

以及要添加的 init() 函数

clock = new THREE.Clock();

关于javascript - 如何在 Three.js 中拖动场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14716336/

相关文章:

javascript - 纹理在 Three.js 中使用自定义几何体在网格上显示纯一种颜色

javascript - 如何使用 Three.js 定义相对于矢量路径的粒子云?

javascript - 使用三个js创建环面图

javascript - 从 jQuery 可拖动句柄中排除项目

javascript - 查询 Firestore 文档中的引用字段

javascript - 带有失去焦点的组合框的 Ext.tip.Tooltip

Silverlight MouseDragElementBehavior。拖放后如何重新排列项目?

HTML5 - setDragImage 有时只能工作?

javascript - 在数组的负索引中添加元素?

javascript - 堆叠列每列两个值