目前我正在将很多.obj文件(一起20MB)加载到Three.js中。加载文件时一切正常,但问题是,Three.JS需要大约25秒来加载和处理数据,用户无法与页面交互,这非常令人讨厌。
文件只包含几何图形,没有动画和材质,所以我想知道是否有更好的方法将几何图形加载到Three.JS中。我读了很多关于webworkers和缓冲几何的内容,但直到现在我还没有找到解决问题的明确方法。我希望有人能给我一个提示。
答案 0 :(得分:4)
尝试examples/js/loaders/ctm/CTMLoader.js
,因为它可以非常高效地打包对象。您可以使用http://openctm.sourceforge.net/
我不认为你可以在场景中插入模型时避免UI冻结,但OpenCTM应该可以减少问题。还有examples/js/loaders/ctm/CTMWorker.js
。
实例:http://threejs.org/examples/#webgl_loader_ctm和http://threejs.org/examples/#webgl_loader_ctm_materials
答案 1 :(得分:-2)
我刚刚开始使用three.js
但我认为这可能有助于你
http://threejs.org/docs/index.html#Reference/Loaders/Loader .addStatusElement()可以用作加载几何的调试工具
关于减少加载时间,本网站解释“使用单个绘图调用绘制多个对象”(但不使用.obj文件) http://www.html5rocks.com/en/tutorials/webgl/million_letters/#toc-efficientwebgl
关于“缓冲几何”,对于“Verold Studio”http://www.verold.com/
,下面问题的答案给出了缓冲几何的简明轮廓。Fastest method to load a large number of objects in Three.js?
感谢您的建议@Armam 为了感谢你的建议,我取消了我的答案。 (你可以删除这个评论) 如果它不是太麻烦你能告诉我如何重新格式化这个问题,更简洁的事情 https://stackoverflow.com/questions/25312778/i-need-help-understanding-the-math-in-a-three-js-simple-animation
@ spencer7593感谢您的意见,我还没有掌握好问题,但我非常感谢您的建议。