我目前正在尝试修改three.js的oribit控件的panUp函数的行为。
默认行为会导致相机在y轴上上下移动,我希望它在z轴上上下移动。我希望它的行为方式与panLeft函数相同,只是针对不同的轴。
我尝试从以下位置修改panOffset:
panOffset.set( te[4], te[5], te[6] );至:
panOffset.set( te[2], te[1], te[0] );这在一定程度上是有效的,但似乎只允许相机在x和z轴上移动,而不是两者的组合。另一方面,panLeft函数似乎在任何方向上都没有问题。
发布于 2013-09-03 20:22:03
这就是解决方案。我注意到我有一些东西可以通过使用
panOffset.set(te[8],te[9],te[10]);但这仍然会导致相机沿y轴移动。我的目标是只沿x和z移动,以便允许用户抓取和平移地图。解决方案是将y设置为0。应该早点看到这一点!
panOffset.set(te[8],0,te[10]);发布于 2015-11-13 04:20:40
我发现你的解决方案很接近,但并不完全正确。也不完全清楚你在改变什么。要使地图平移像在地图上拖动一样工作,一种方法是更改OrbitControls.js文件中的一行源代码。
在第116行(ish),您需要更改此设置...
v.set( te[ 4 ], te[ 5 ], te[ 6 ] );要这样做:
v.set( -te[ 8 ] * 2, 0, -te[ 10 ] * 2 );https://stackoverflow.com/questions/18509669
复制相似问题