将相机设置为从正交视角透视,导致相机改变方向

时间:2019-02-12 15:30:11

标签: javascript autodesk-forge autodesk-viewer

我正在尝试为Autodesk Forge Viewer API开发一个扩展,其功能类似于所包含的当前第一人称导航工具。我正在描述的问题也出现在第一人称导航工具中,因此在这里我将用它来说明我的示例。

建筑物的正射影像。 Image of model after load

现在,使用鼠标导航至如下所示的位置。这是通过单击鼠标来旋转模型并单击鼠标滚轮来完成的。 Image of model after navigation

单击第一人称视角按钮将摄像机视图移动到建筑物内的某个距离。 Image of inside building

这似乎不会改变相机的位置或目标值,即使相机被锁定,也会发生。进行此举的实际呼叫似乎是对navigation.toPerspective的呼叫。

我想知道是否有人知道一种解决方法,该解决方法可以让我从照相机所关注的地方使用第一个人。如我之前所说,我正在编写的插件实际上并不是第一人称扩展,因此假设我可以在需要进行的任何必要的地方进行必要的更改。

1 个答案:

答案 0 :(得分:0)

如果您深入挖掘内置的第一人称扩展名的源代码(可以通过source mapgit merge进行操作),那么在\extensions\BimWalk\BimWalk.js期间将发生以下导航(因为以编程方式完成,将不遵守相机锁定):

activation

然后在退出“第一人称”时将其垂直视野重新设置。

viewer.navigation.toPerspective(); //Switch to perspective (view or real world as opposed to orthography) camera
viewer.navigation.setVerticalFov(75, true); //This sets the vertical field of view to 75 degree for a better "walking" experience
//It also records the current vertical fov and sets it back when exiting First Person