Разница между ObjLoader и ObjLoader2 в Three.js

В чем основное различие между этими двумя классами, ObjLoader и ObjLoader2?

В каком случае мы должны использовать тот или иной?

Почему два класса? Является ли один более стабильным или эффективным, чем другой?

Мне не очень понятно, когда я читаю документацию.


person fsinisi90    schedule 22.12.2017    source источник


Ответы (3)


Я тоже иногда задавался этим вопросом..
Поэтому я решил на этот раз прыгнуть в кроличью нору (пишу этот пост, когда я спускаюсь в нору).

Это то, что я нашел.

  • Первый коммит OBJLoader2 имел комментарий «Добавлен OBJLoader на основе Geometry2». от mrdoob, как показано здесь.
  • Geometry2, кажется, был частью некоторых экспериментов по объединению простоты использования Geometry с производительностью BufferGeometry. Задачу, в которой упоминается Geometry2, можно просмотреть здесь.
  • Есть недавние коммиты для обоих OBJLoader. и OBJLoader2.
  • Все недавние коммиты, похоже, сделаны одним человеком (kaisalmen)

Итак, мне кажется, что OBJLoader2 должен быть более производительным загрузчиком файлов OBJ. Глядя на главную страницу коммитера на github, вы найдете репозиторий специально для класса OBJLoader2.
Документация по классу OBJLoader2 есть у авторов репозиторий github здесь

person 2pha    schedule 25.12.2017
comment
Мне все еще интересно, в каком случае мы должны использовать тот или иной. Является ли OBJLoader2 экспериментальным, и мы должны использовать оригинал, если нам нужна стабильная версия? Например, и я просто предполагаю, что OBJLoader2 мог бы быть быстрее, но OBJLoader мог бы загружать больше моделей, и в этом случае я бы использовал ту или иную в зависимости от того, чего я хочу достичь на своем веб-сайте. - person fsinisi90; 07.09.2018

Нашел здесь несколько интересных сравнений автора:

╔════════════════════════════════════╦═══════════╦════════════╗
║ 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      ║
╚════════════════════════════════════╩═══════════╩════════════╝
person phreakhead    schedule 25.11.2018

На данный момент основное отличие состоит в том, что OBJLoader2 поддерживает веб-воркер для асинхронной загрузки. И он предлагает пользователю выбор между syn и asyn.

person 欧阳维杰    schedule 02.06.2018