Threejs用鼠标围绕对象旋转? (没有鼠标按下)

Posted

技术标签:

【中文标题】Threejs用鼠标围绕对象旋转? (没有鼠标按下)【英文标题】:Threejs rotate around object with mouse? (no mouseDown) 【发布时间】:2017-02-20 23:44:06 【问题描述】:

所以我正在寻找一种在 Threejs 中围绕对象旋转但不按住鼠标按钮的方法。我在这里有一个示例网站:http://www.dilladimension.com/,它使用 Threejs。一直在浏览论坛和 Threejs 文档,但我不知道如何在不按住鼠标的情况下围绕对象旋转。

非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

如果您想获得here 所示的那种鼠标交互,您可以:

//Listen to mouse mouve events
function onDocumentMouseMove( event ) 
    mouseX = ( event.clientX - windowHalfX );
    mouseY = ( event.clientY - windowHalfY );



//Update your camera position
function render() 
    camera.position.x += ( mouseX - camera.position.x ) * .05;
    camera.position.y += ( - mouseY - camera.position.y ) * .05;
    camera.lookAt( scene.position );
    renderer.render( scene, camera );

希望这会有所帮助。

【讨论】:

这看起来不错,非常接近但还没有。运动是现场的我只是想知道是否有办法在一个物体周围进行全 360 度旋转?我是一个 javascript 的菜鸟,所以对我来说太赤裸裸了! @Bayron2304, this 可能会有所帮助(您需要调整代码并删除检查是否单击鼠标按钮的部分) 谢谢,我去看看!

以上是关于Threejs用鼠标围绕对象旋转? (没有鼠标按下)的主要内容,如果未能解决你的问题,请参考以下文章

threejs设置物体位置

鼠标点击时对象的动画(旋转、移动)

请问鼠标滑过背景图片,图片围绕圆心旋转的效果怎么实现?css3也可以..

three.js如何让场景中模型跟随鼠标旋转呀

使用鼠标围绕中心旋转 Three.js 相机

在 OpenGL 上单击鼠标时无法旋转和更改对象的颜色