首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用THREE.PerspectiveCamera进行非透视平移

用THREE.PerspectiveCamera进行非透视平移
EN

Stack Overflow用户
提问于 2014-11-07 18:31:28
回答 1查看 1.1K关注 0票数 1

我正在使用THREE.PerspectiveCamera在正交场景中使用。这是因为THREE.OrthogonalCamera在某些类型的交互中并不公平。我还使用了三人的TrackballControls。到目前为止,缩放和平移场景对用户来说都很好,但是现在我意识到我需要通过编程将一个物体移动到视图中,并且尝试设置相机的x位置并不只是改变相机的x位置--它也适用于透视图,这是我不希望的。

我想移动我的透视相机沿X和Y轴的2D平面(就像平移地图),同时向下看Z轴(在地图上)。

对于THREE.PerspectiveCamera,设置“Camera.plaction.x += 1000”可以使摄像机沿x轴移动1000,但也可以通过旋转摄像机将透视应用到视图中,从而使2D场景看起来倾斜。我注意到相机的旋转和四元数值发生了变化。

(0,0,5000)的初始camera.position如下所示:

然后设置Camera.plaction.x= 1000,如下所示:

这个问题在“所以问题:透视图上的移动摄像机”中提到过,我认为在“所以问题:与地面平行的Three.js & OrbitControls.js - pan相机(如Google )”中也提到了这个问题。

我不是很擅长矩阵和三维投影,但我知道解决方案是嵌入在他们的工作中。我也知道,当我拖动我的地图,目前,它是正确的- 因此,解决方案也可以嵌入到THREE.TrackballControls中的摇摄代码中。,但我无法理解它。

有人能帮我用THREE.PerspectiveCamera实现非透视的“平移”吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-21 12:01:29

你需要的是一台正射相机。它的圆顶实质上是一个完美的立方体(而不是由透视相机形成的金字塔结构)。

这意味着所有的物体都将保持相同的大小,不管它们离得多远。(即)正射相机没有深度感知能力)

透视相机的例子。果肉是介于zNear和zFar之间的区域。

这是完成你要求的唯一的表演方式。

现在的问题是:与正投影相机有什么交互作用不太好?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26807772

复制
相关文章

相似问题

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