[英]Three.js TrackballControls.js rotating in z & x axis only
我试图在三个中设置TracballControls,只在两个轴上移动,只有平移和倾斜,没有滚动。 有没有可能做到这一点? 我的代码:http: //360.art.pl/experimental/2/鼠标移动应该像这样:http: //360.art.pl/experimental/1/
我想这会对你有所帮助:(解决了我的问题)
查看您的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);
到功能结束。 然而在实践中我发现这没有太大的区别,因为大多数旋转是由相机相对于它的lookAt目标的运动引起的(在trackballControls.js文件中为_this.target)。
我只是改变了变量
this.noPan
在第26行到假。 取消注释
_this.object.up.applyQuaternion( quaternion );
并增加了
this.dynamicDampingFactor = 0.2;
到0.8。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.