Autodesk forge Autodesk Forge Viewer-近剪裁和远剪裁问题

Autodesk forge Autodesk Forge Viewer-近剪裁和远剪裁问题,autodesk-forge,autodesk-viewer,autodesk-model-derivative,Autodesk Forge,Autodesk Viewer,Autodesk Model Derivative,我们最近更新了一个项目,以使用最新版本的Autodesk Forge Viewer(v7.x) 总的来说,迁移进行得很顺利,但是我们注意到,对于某些模型,摄影机的远切面存在问题。我已经发现,之所以会发生这种情况,是因为模型包含的某些元素与模型的其余部分相距甚远,因此整个模型的边界框比它应该的大小要大。这将导致摄像头near=1和far=10000。看起来far应该更高,以便在缩小时不隐藏模型的某些部分 目前,我们已经能够解决在加载模型时指定“近半径”的问题,但由于我们必须将其设置为50或100这

我们最近更新了一个项目,以使用最新版本的Autodesk Forge Viewer(v7.x)

总的来说,迁移进行得很顺利,但是我们注意到,对于某些模型,摄影机的远切面存在问题。我已经发现,之所以会发生这种情况,是因为模型包含的某些元素与模型的其余部分相距甚远,因此整个模型的边界框比它应该的大小要大。这将导致摄像头
near=1
far=10000
。看起来far应该更高,以便在缩小时不隐藏模型的某些部分

目前,我们已经能够解决在加载模型时指定“近半径”的问题,但由于我们必须将其设置为50或100这样的值才能避免远平面问题,因此仍然存在一些近平面剪裁问题

我想知道加载模型后是否有可能修复模型,以便查看器为模型使用更真实的边界框。到目前为止,我发现在加载过程中,它已经将变量
verylargebox
设置为true,因此没有使用
nearRadius=0
,而是使用加载选项中传递的值或1。我能够将nearRadius设置为负值,使其具有与
nearRadius=0
相同的行为,但由于模型的边界框很大,我们仍然会遇到剪裁问题

为了修复模型,我已经尝试过:

  • 在加载选项中,排除远离
    ids=[…]
    的元素的id
  • 使用
    setNodeOff()
  • 使用
    NOP\u VIEWER.navigation.fitBounds()
    设置边界框(如中所建议)
但是,
getVisibleBounds()
仍然返回巨大的边界框


我们希望找到一种解决方案,在将源模型文件转换为.svf之前,我们不需要修改源模型文件。

工程团队已确认存在病理情况,其中由于模型的边界框非常大,近/远相机平面的计算会导致剪切伪影。解决此问题时,建议的解决方法是将“近平面”设置为1:

viewer.impl.setNearRadius(1);

感谢您让我们了解比约恩。让我问一下查看器工程团队,我们会回复您的。不幸的是,这并不能解决问题。它将以近=1和远=10000结束。Far=10000仍在剪裁元素。如果我设置viewer.impl.setNearRadius(50),效果会更好,但现在我们偶尔会遇到近剪裁问题。