Three.js中ObjLoader和ObjLoader2之间的区别

时间:2017-12-22 15:43:15

标签: 3d three.js .obj

这两个课程ObjLoaderObjLoader2之间的主要区别是什么?

在哪种情况下我们应该使用一个或另一个?

为什么有两个班?一个比另一个更稳定或更有效吗?

当我阅读文档时,对我来说并不是很清楚。

3 个答案:

答案 0 :(得分:6)

我有时也想知道这件事 所以我决定这次跳下兔子洞(当我走下洞时写下这篇文章)。

这是我发现的。

  • OBJLoader2的第一次提交有注释"添加了基于Geometry2的OBJLoader。"由mrdoob看到here
  • 几何2似乎是一些实验的一部分,将几何的易用性与BufferGeometry的性能结合起来。提到Geometry2的问题可能是viewed here
  • OBJLoaderOBJLoader2最近都有提交。
  • 所有最近的提交似乎都来自一个人(kaisalmen)

所以,在我看来,OBJLoader2是OBJ文件的更高性能加载器。查看主提交者的github页面,可以看到专门用于OBJLoader2类的存储库。
作者{OB}中提供了OBJLoader2类的文档

答案 1 :(得分:3)

目前,主要区别在于OBJLoader2支持Web worker进行异步加载。它为syn和asyn之间的用户提供了一个选择。

答案 2 :(得分:3)

找到了一些interesting comparisons by the creator here

╔════════════════════════════════════╦═══════════╦════════════╗
║ Feature                            ║ OBJLoader ║ OBJLoader2 ║
╠════════════════════════════════════╬═══════════╬════════════╣
║Handle all face types               ║     x     ║     x      ║
║Support for points and lines        ║     x     ║     x      ║
║Negative face indices               ║     x     ║     x      ║
║Support Ngons                       ║     x     ║     x      ║
║Flat/Smooth Multi-Materials         ║           ║     x      ║
║Indexed Rendering                   ║           ║     x      ║
║Handle Face-Type change inside group║           ║     x      ║
║Deactivate console logging          ║           ║     x      ║
║Load MTLs via MTLLoader if desired  ║           ║     x      ║
╚════════════════════════════════════╩═══════════╩════════════╝