【问题标题】:When to load custom Panorama extension何时加载自定义全景扩展
【发布时间】:2019-09-09 00:54:03
【问题描述】:

我正在尝试关注this blog post 来自定义查看器以通过倾斜环视模型。当我从 onModelLoadSuccess 加载此扩展时,它适用于某些模型,但会使查看器在较大模型上崩溃。如果我稍后在加载过程中从事件加载它,例如 GEOMETRY_LOADED,模型会部分加载,但某些对象不会被渲染。哪个事件是加载此扩展的正确事件?有没有办法让它在大于 50MB 的更大模型上运行?

【问题讨论】:

    标签: autodesk-viewer


    【解决方案1】:

    尝试等待 TEXTURES_LOADED_EVENT 事件,像这样...

    https://github.com/wallabyway/forge-pdf-report/blob/6babb6d7332b6cdb983f57e7d140ff59a5136705/docs/index.html#L44

    取自:How do can I load model and change materials before showing it in the Forge Viewer

    要加载更大的模型...您可能需要考虑即将推出的 OTG 格式(您可以通过 BIM360 设计协作进行尝试)

    【讨论】:

    • 这里只是集思广益,但是否可以修改扩展以忽略轻微的设备移动/震动?我相信一些渲染问题可以通过它不必重新渲染每一个轻微的动作来解决。也许对方向变化有某种容忍度?
    【解决方案2】:

    我发现了问题...我不得不提高查看器的内存限制。我猜不断的屏幕刷新会占用内存。

      var config3d = {
                            memory: {
                                limit:  1000 // in MB
                            }
                        };
    
                        var viewerDiv = document.getElementById('MyViewerDiv');
                        viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv, config3d);
    

    OTG 格式是否适用于来自 BIM 360 Docs 的模型?

    【讨论】:

      【解决方案3】:

      是的 - 这里有两个改进...

      1. (简单)添加一个低通滤波器以消除人类“抖动”和低质量 MEM 传感器抖动(请参阅我为 http://pano.autodesk.com 做了什么)
      2. (硬)使用 Forge Viewer 作为全景渲染器。

      对于 2.,将 ForgeViewer 的屏幕截图截取到半立方体地图(使用屏幕截图 API 10 次... 2x [前、左、右、上、下]。然后将它们缝合到内部一个立方体。现在你有一个全景,锁定到相机位置。当用户传送到一个新位置,或者这个人从前面转过 180' 查看,重新生成立方体贴图/全景图。这种技术非常适合具有大量网格弹出的大型场景,而且您的手机速度很慢......而且您已经没有选择了。 ;-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-26
        • 1970-01-01
        • 2011-06-09
        • 1970-01-01
        • 1970-01-01
        • 2020-09-18
        • 2013-08-02
        相关资源
        最近更新 更多