Three.js - BinaryLoader против BufferGeometry для больших сеток?
Я ищу наиболее эффективный способ загрузки больших полигональных сеток (до 1M треугольников) в Three.js. Я рассматриваю либо использование THREE.BufferGeometry
объект или загрузка с THREE.BinaryLoader
, Мои вопросы:
- Создает ли BinaryLoader.js
THREE.BufferGeometry
объект под? Или это создает нечто такое же эффективное? - Если нет, есть ли у кого рекомендация, какую из них использовать?
Некоторая дополнительная информация:
- Мои модели находятся в проприетарном формате на сервере, поэтому мне все равно нужно конвертировать / кодировать их.
- Я не нашел загрузчик Three.js, который создает
THREE.BufferGeometry
, Похоже, мне нужно написать свое. Но я могу подготовить данные на стороне сервера для согласования сTHREE.BufferGeometry
состав. - BinaryLoader.js предоставляет всю необходимую инфраструктуру для загрузки данных, но требует, чтобы данные были подготовлены особым образом на стороне сервера.
1 ответ
Взгляните на формат glTF и glTFLoader для Three.js. Он использует BufferGeometry. Производительность намного лучше; тем не менее, он имеет свои собственные реализованные анимации (не использует THREE.Animation), и я столкнулся с несколькими проблемами, связанными с Three.js, такими как клонирование модели не будет работать (по крайней мере, из коробки)