我正在使用 STL 加载器将 stl 文件加载到 Three.js 场景中。这些 stl 文件的大小从 5mb 到 50mb 不等。
有没有一种方法可以用来在模型加载时逐步加载/流式传输/提高细节级别(不确定术语是否正确),以便我的用户在出现任何内容之前不会盯着空白屏幕几分钟?
如果模型有 20,000 个三角形, Three.js 是否有一种方法可以先仅加载 2,000 个三角形,然后再加载完全详细的模型?
真正的渐进式加载/网格流并不是开箱即用的。但这会很棒并且是可行的。
它是通过 WebGL 完成的,没有使用 POP 缓冲区的 Three.js:http://x3dom.org/pop/ http://x3dom.org/pop/ & https://github.com/thibauts/pop-buffer https://github.com/thibauts/pop-buffer
其中一个演示是:http://x3dom.org/pop/happy.html http://x3dom.org/pop/happy.html
我希望有一天我们也会为 Three.js 提供很好的 POP 缓冲区(或类似的替代方案)渐进式加载——也在我/我们的待办事项/愿望清单中,但在此之前还有很多事情..当然不介意如果之前有人写过:)
三个确实包含一个简单的 LOD 机制,但它是为了帮助渲染负载而不是加载时间:http://trijs.org/docs/#Reference/Objects/LOD http://threejs.org/docs/#Reference/Objects/LOD & http://trijs.org/examples/webgl_lod.html http://threejs.org/examples/webgl_lod.html
对于一个简单的解决方案,您可以编写模型的低版本和高版本,并编写自定义加载逻辑,以首先加载低版本并显示它们,然后继续加载高版本等。
我们已经在一个项目中做到了这一点,工作正常,符合预期。我能想到的唯一缺点是它增加了获得高版本的总时间。但低的可以非常小,所以没关系(在我们的例子中,低多边形无纹理,只有垂直颜色,然后高多边形有更多的多边形,但本质上也相当大的纹理)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)