JSON 模型格式是否更适合 THREE.js

Is JSON model format is better for THREE.js

我正在使用 Three.js 创建一个简单的游戏,我加载了大约 100 个 obj 格式的低多边形模型但性能不流畅,所有模型大小不超过 18 MB,如果我使用 JSON 格式虽然大小会增加一倍以上,但它会更快吗? 我尝试了 Collada,但对于像我这样的简单对象,obj 更快,如果 JSON 不是最佳解决方案,那么最好的是什么?

我认为没有更好的格式?这真的取决于你需要什么,不需要什么。但是,对我来说,我会选择 obj!

没有任何一种文件格式总体上更好,这取决于您使用的外部软件的需要和要求以及它是否包含动画。就我个人而言,我通常不会使用 json 我使用 obj 但 json 得到了 three.js 的大力支持.. 但这更多是一种意见。

您的应用程序可能很重的原因也有很多。 没有源代码或模型文件本身,我只能推测。

需要考虑的几点:

您的模型是否已尽最大可能优化,一个场景中的 100 个模型在 18mb 下一次安静分配,这包括纹理吗?

是否压缩纹理,reused.This 将提高性能。 从阴影、光照和动画类型都有影响,Google 有很多资源可以提供给您。

有几种技巧可以减少你的多边形计数:细分就是一个很好的例子,关于这方面有一篇非常有用的文章。 http://www.kadrmasconcepts.com/blog/2011/11/06/subdivision-surfaces-with-three-js/

此外,根据对象的远近程度,LOD 细节级别是否可见。 这里有一个非常有用的解释: http://www.pheelicks.com/2014/03/rendering-large-terrains/ Three.js 无需任何添加的库即可支持此功能..

细节和渲染方式是获得最佳性能的关键..

甚至可以深入了解您的项目设置方式 influence.Take 查看功能以及您如何使用它们,例如鼠标移动和 dom 元素点击会减慢您的速度three.js 如果应用程序没有得到优化和有效使用,它们会显着下降。

重复使用和分享是你最好的选择,加载同一个模型两次是没有意义的,因为一个是蓝色的,另一个是绿色的...