繁体   English   中英

threeJS轨迹球控制相机旋转

[英]threeJS Trackball Controls camera rotation

对于基于图像的建模应用程序( vmtklab.orobix.com )的3D应用,我已经使用了一段时间。 对于相机旋转/平移/缩放,我使用TrackballControls.js。

controls = new THREE.TrackballControls( camera, renderer.domElement );
controls.dynamicDampingFactor = 0.5;
controls.target.set( pos.x, pos.y, pos.z );

我已经习惯了像vtk(paraview等)中那样进行摄像机运动,但是我找不到如何在threejs中复制这种行为。

请参阅: http//jsfiddle.net/ugxbktLt/5/

基本上,如果我单击中间的画布,然后沿y轴移动鼠标,则相机将按预期旋转。 如果我在远离中心的点(例如,在立方体的右侧)上单击画布,则相机会沿两个方向旋转,而不仅仅是跟随鼠标移动。

我期望摄像机仅跟随鼠标移动产生的起点(mousedown)和终点之间的矢量旋转,而不考虑起点的位置。 似乎围绕一个球旋转。

有什么建议么? 最好的问候西蒙妮

修正:使用SymmetricTrackballControls.js,我们可以独立于鼠标在画布上的位置旋转相机,但仅考虑鼠标的移动。 https://github.com/mrdoob/three.js/pull/6096

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM