尝试通过模型实现自动导航或在 viewer3d 中对模型进行演练

Posted

技术标签:

【中文标题】尝试通过模型实现自动导航或在 viewer3d 中对模型进行演练【英文标题】:Trying to achieve auto navigation through the model or a walkthrough over the model in viewer3d 【发布时间】:2021-01-05 15:19:34 【问题描述】:

我正在尝试实现与Video 相同的目标。 需要一个实现遍历,浏览渲染文件中的所有模型。 有人可以告诉我它是如何完成的,或者它在 Autodesk 语言中叫什么,以便我可以找到 在 Autodesk 文档中列出并尝试实现它。

我在某处读到它,它说在创建 RVT 文件时需要实现它,然后需要渲染它是真的吗?

对示例或文档的引用会很有帮助。

【问题讨论】:

【参考方案1】:

它在 Autodesk Forge 中称为 getStaterestoreStategetState 为您提供有关当前视口的信息。 首先,通过var currentState = viewer.getState(viewport: true) 获取状态并将currentState 保存在某处,然后通过viewer.restoreState(currentState) 调用它以获取已保存的视口。

【讨论】:

感谢这真的帮助我能够完成上述转换。【参考方案2】:

是的,这可以通过以下几种方式完成:

正如 Paxton 所说,您可以使用 getState/restoreState 功能; “状态”包括诸如相机位置、选定对象的 ID、隐藏对象的 ID、剖面等信息,但可以过滤掉这些信息。 或者,您可以手动存储相机信息(例如,使用viewer.navigation.getPosition()viewer.navigation.getTarget()viewer.navigation.getCameraUpVector()),然后使用setView 或使用(未记录的)方法转换到此相机设置viewer.navigation.setRequestTransition(true, newCameraPos, newCameraTarget)

【讨论】:

我能够获得状态,但在恢复时我无法找到显示平滑过渡的方法,您能否请我参考一些我可以实现的代码?我也找不到任何关于 setRequestTransition 的参考资料,如果你也有一些参考资料,请告诉我 restoreState 方法的第三个参数是immediate 标志。如果将其设置为 false,则新的相机状态应该会平滑过渡到,例如,viewer.restoreState(state, null, false); 关于setRequestTransition 方法,我不知道为什么它没有包含在文档中。我会将问题报告给文档团队。

以上是关于尝试通过模型实现自动导航或在 viewer3d 中对模型进行演练的主要内容,如果未能解决你的问题,请参考以下文章

通过引用传递 UIViewController 或在另一个处理程序类中获得自我控制

导航 MVVM

如何通过 Xamarin MvvmCross 中的 BottomNavigationView 在视图模型之间导航

Unity3D_(网格导航)简单物体自动寻路

自动弹出导航链接问题

通过 li 的箭头键导航(无 jquery)