模型文件加载
对象导出
three.js支持将场景、模型、材质、几何体、group、纹理、图片等转为Json对象,如下:
// 将几何体转为json对象
geometry.toJSON()
// 将几何体转为json字符串
JSON.stringify(geometry.toJSON());
对象导入
将对象导出为json文件后,就可以通过如下方式导入:
// 通过文件加载器加载JSON文件
var loader = new THREE.FileLoader();
loader.load('material.json', function(elem) {
var obj = JSON.parse(elem); // 字符串转JSON对象
// ....
})
// 通过 BufferGeometryLoader 直接将JSON加载为几何体
var loader = new THREE.BufferGeometryLoader();
loader.load('bufferGeometry.json',function (geometry) {
// ....
})
其它格式文件加载
three.js在标准库之外,还提供了非常多的扩展功能,这些功能大都由业内大牛贡献;如下图所示,扩展功能位于 examples
目录下:
three.js标准库虽然仅支持主流的十几种文件格式导入,但扩展库中却提供50几种格式的加载器;
文件加载器
所有的文件加载器都提供了加载回调、加载进度回调、加载错误回调,如下:
(method) GLTFLoader.load(url: any, onLoad: any, onProgress: any, onError: any): void