Autodesk forge 在Forge Viewer中设置可见边界

Autodesk forge 在Forge Viewer中设置可见边界,autodesk-forge,autodesk-viewer,Autodesk Forge,Autodesk Viewer,我目前正在开发一个系统,在该系统中,我们在Viewer.impl.sceneAfter上添加了自定义网格,并且遇到了一些问题,其中,如果添加了大型网格(大于加载的所有模型的可见边界的并集),例如大型点云,则在剪切部分网格时会出现剪切问题 从源代码中,我注意到摄影机的“远”值是根据世界场景的可见边界更新的,而计算可见边界时不考虑sceneAfter(与viewer.impl.scene相反,它被考虑在内) 我需要将此自定义网格放置在sceneAfter中,因为我希望启用透明度 我为此想出了两个骇人

我目前正在开发一个系统,在该系统中,我们在Viewer.impl.sceneAfter上添加了自定义网格,并且遇到了一些问题,其中,如果添加了大型网格(大于加载的所有模型的可见边界的并集),例如大型点云,则在剪切部分网格时会出现剪切问题

从源代码中,我注意到摄影机的“远”值是根据世界场景的可见边界更新的,而计算可见边界时不考虑sceneAfter(与viewer.impl.scene相反,它被考虑在内)

我需要将此自定义网格放置在sceneAfter中,因为我希望启用透明度

我为此想出了两个骇人的解决方案:

首先,覆盖Viewer3D.js中提供的getVisibleBounds函数原型 其灵感来源于以下答案: ,但不满意,因为它会覆盖以后可能更改的第三方代码

其次,在viewer.impl.scene中拥有自定义网格的不可见克隆(使用材质的可见属性而不是几何体),从而更改viewer的可见边界。我比第一个解决方案更喜欢它,但仍然认为它效率低下,因为我需要跟踪两个网格实例来删除/操纵几何体

我想知道是否还有比这些更优雅的解决方案


提前谢谢

我记录了一个愿望请求,希望在我们的查看器API的未来版本中考虑添加到sceneAfter中的网格

同时,thet建议的解决方法与您的第二个建议有点类似,但是使用了一个简单的网格,如自定义网格的边界框表示。在复杂的情况下,渲染比克隆网格要快


希望这有帮助

我明白了,我没有考虑过使用普通网格。谢谢你的帮助!