Three.js只在z&x轴上旋转的TrackballControls.js
问题描述:
我试图在三个j中设置TracballControls只能在两个轴上移动,只能平移和倾斜,不能滚动。有没有可能做到这一点? 我的代码:http://360.art.pl/experimental/2/ 鼠标移动的行为应该是这样的:http://360.art.pl/experimental/1/Three.js只在z&x轴上旋转的TrackballControls.js
答
我认为这将有助于您:(解决我的问题)
看在你TrackballControl.js文件和更改线路148
来自:
_this.object.up.applyQuaternion(quaternion);
到:
_this.object.up.applyQuaternion(new THREE.Vector4(0,0,0,1));
//更新 只有与旧版本
答
我意识到这是很老,但它仍然是主要的结果在谷歌,我将描述我是如何做这项工作的工作。
要防止滚动(锁定z轴),可以防止rotateCamera()更改相机的向上向量。
注释掉线(〜行200)
_this.object.up.applyQuaternion(quaternion);
如果你喜欢,你可以锁定相机的旋转矢量为好,加上无论是
_this.object.rotation.z = 0;
或
_this.object.rotation.set(0, 0, 0);
到函数的结尾。然而在实践中,我发现这并没有太大的区别,因为大部分的旋转是由相机相对于它的目标运动(trackballControls.js文件中的_this.target)引起的。
答
我只是改变了可变
this.noPan
上线26
为false。 取消注释
_this.object.up.applyQuaternion(quaternion);
,并增加了
this.dynamicDampingFactor = 0.2;
0.8。
这似乎不起作用。立方体在同一个3轴上旋转,但现在似乎出现了万向节锁定问题。 – 2014-04-02 03:59:04