首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改Three.js orbit控件的panUp函数?

如何修改Three.js orbit控件的panUp函数?
EN

Stack Overflow用户
提问于 2013-08-29 19:25:47
回答 2查看 734关注 0票数 0

我目前正在尝试修改three.js的oribit控件的panUp函数的行为。

默认行为会导致相机在y轴上上下移动,我希望它在z轴上上下移动。我希望它的行为方式与panLeft函数相同,只是针对不同的轴。

我尝试从以下位置修改panOffset:

代码语言:javascript
复制
panOffset.set( te[4], te[5], te[6] );

至:

代码语言:javascript
复制
panOffset.set( te[2], te[1], te[0] );

这在一定程度上是有效的,但似乎只允许相机在x和z轴上移动,而不是两者的组合。另一方面,panLeft函数似乎在任何方向上都没有问题。

EN

回答 2

Stack Overflow用户

发布于 2013-09-03 20:22:03

这就是解决方案。我注意到我有一些东西可以通过使用

代码语言:javascript
复制
panOffset.set(te[8],te[9],te[10]);

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

代码语言:javascript
复制
panOffset.set(te[8],0,te[10]);
票数 0
EN

Stack Overflow用户

发布于 2015-11-13 04:20:40

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

在第116行(ish),您需要更改此设置...

代码语言:javascript
复制
v.set( te[ 4 ], te[ 5 ], te[ 6 ] );

要这样做:

代码语言:javascript
复制
v.set( -te[ 8 ] * 2, 0, -te[ 10 ] * 2 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18509669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档