gitmyhub

three-gltf-plugins

★ 11 updated 5y ago ⑂ fork

Unofficial Three.js glTF loader/exporter plugins

A set of ready-made add-ons that help Three.js load and save 3D models using advanced glTF file format features, so developers do not have to write custom integration code.

Three.jsJavaScriptglTFsetup: moderatecomplexity 2/5

Three-gltf-plugins is a collection of add-ons for Three.js, a popular tool for creating 3D graphics in web browsers. These add-ons help Three.js handle specific advanced features of glTF, which is a widely used file format for 3D models. Think of glTF as the JPEG of 3D: it is a standard way to package a 3D object so it can be opened anywhere. The plugins let you load and save 3D models that use certain extra glTF features that the standard Three.js tools do not support out of the box.

Normally, if a 3D model uses a special glTF feature that Three.js does not understand, a developer would need to write custom code to make it work. That requires deep knowledge of the glTF specification and Three.js internals, which can be a real hurdle. This project steps in to save you that effort by offering ready-made plugins. You just plug them into your existing Three.js setup, and your 3D models with these special features will load or export correctly without you writing the complex integration code yourself.

This project is aimed at developers and creators working with 3D models on the web who need to use features like material variants—where a single object can switch between different surface looks, like a car with different paint jobs—or compressed textures for faster loading. For example, if you are building an online product viewer where a customer can swap between different material finishes on a piece of furniture, the plugin for material variants makes that straightforward. It is also useful for teams who want to experiment with newer or experimental glTF features before they become officially standardized.

The project exists because some glTF features are still being finalized or do not neatly match how Three.js is structured, so they have not been built into the core library yet. The README notes that the plugins might have some limitations because of this mismatch. If a plugin does not cover your specific needs, the project encourages you to copy and modify the code to fit your situation. There is also an online demo so you can see the plugins in action before integrating them.

Where it fits