0

我目前正在尝试修改 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 函数似乎向任何方向移动都没有问题。

4

2 回答 2

0

这是解决方案。我注意到我有一些工作通过使用

panOffset.set(te[8],te[9],te[10]);

但这仍然导致相机沿 y 轴移动。我的目标是只沿着 x 和 z 移动,以便让用户抓取和平移地图。解决方案是将 y 设置为 0。应该早点看到!

panOffset.set(te[8],0,te[10]);
于 2013-09-03T12:22:03.083 回答
0

我发现您的解决方案很接近但不太正确。也不完全清楚你在改变什么。要使地图平移像在地图上拖动一样工作,一种方法是更改​​ OrbitControls.js文件中的一行源代码。

在第 116 行(ish)你需要改变这个......

v.set( te[ 4 ], te[ 5 ], te[ 6 ] );

对此:

v.set( -te[ 8 ] * 2, 0, -te[ 10 ] * 2 );
于 2015-11-12T20:20:40.320 回答