Autodesk forge 恢复时保存的相机参数在Autodesk Forge Viewer中显示不同的视图

Autodesk forge 恢复时保存的相机参数在Autodesk Forge Viewer中显示不同的视图,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我们使用的类似代码如下- // Get camera params from viewer and save it let camParams = oViewer.getViewArrayFromCamera(); // Do something - rotate, zoom, pan etc // Restore the view as it was oViewer.setViewFromArray(camParams); 这适用于某些视图,但在某些情况下无法恢复确切的视图 我们在一个提

我们使用的类似代码如下-

// Get camera params from viewer and save it
let camParams = oViewer.getViewArrayFromCamera();

// Do something - rotate, zoom, pan etc

// Restore the view as it was
oViewer.setViewFromArray(camParams);
这适用于某些视图,但在某些情况下无法恢复确切的视图

我们在一个提取的模型中编写了一个示例代码,从中可以看出这个问题。
我们可以通过支持电子邮件发送示例代码。

保存和恢复视图的最简单方法是使用
导航界面:

const pos = NOP_VIEWER.navigation.getPosition(); //save current camera position
const target = NOP_VIEWER.navigation.getTarget(); //save current camera target
NOP_VIEWER.navigation.setView(pos,target) //restore


或者,如果您不介意其他状态通过,只需恢复查看器的状态

保存和恢复视图的最简单方法是使用
导航
界面:

const pos = NOP_VIEWER.navigation.getPosition(); //save current camera position
const target = NOP_VIEWER.navigation.getTarget(); //save current camera target
NOP_VIEWER.navigation.setView(pos,target) //restore


或者,如果您不介意其他状态通过的话,也可以简单地恢复查看器的状态,正如Bryan Huang所建议的那样。我尝试使用查看器状态,效果很好

// Get viewer state and save it
let viewerState = oViewer.getState();

// Do something - rotate, zoom, pan etc

// Restore the view as it was
oViewer.restoreState(viewerState);

正如Bryan Huang所建议的那样,我试着使用查看器状态,效果很好

// Get viewer state and save it
let viewerState = oViewer.getState();

// Do something - rotate, zoom, pan etc

// Restore the view as it was
oViewer.restoreState(viewerState);

您好@Bryan Huang,谢谢您的及时回复。我们在3D环境中,所以我确信仅仅设置位置和目标是不够的。另外,还有一些信息——我们正在尝试为Markup2D功能做这项工作,这与这里解释的有点类似——我们注意到上述功能的RCDB演示也有同样的错误,即重置相机。你能检查一下吗?到底是什么错误?复制它的步骤是什么?嗨,布莱恩,恢复ViewerState作品。这个问题可以在RCDB forge演示中看到-尝试保存一些标记。当您处于视图模式,并逐个单击这些保存标记时,您可以看到视图发生了更改,但不会更改为确切的视图设置。标记看起来被替换了,视图有不同的摄像头。Tks将尝试修复该问题-跟踪我的进度你好@Bryan Huang,感谢您的及时回复。我们在3D环境中,所以我确信仅仅设置位置和目标是不够的。另外,还有一些信息——我们正在尝试为Markup2D功能做这项工作,这与这里解释的有点类似——我们注意到上述功能的RCDB演示也有同样的错误,即重置相机。你能检查一下吗?到底是什么错误?复制它的步骤是什么?嗨,布莱恩,恢复ViewerState作品。这个问题可以在RCDB forge演示中看到-尝试保存一些标记。当您处于视图模式,并逐个单击这些保存标记时,您可以看到视图发生了更改,但不会更改为确切的视图设置。标记看起来被替换了,视图有不同的摄像头。Tks将尝试修复该问题-跟踪我的进度