用途:在 Three.js 项目中加载外部资源,包括 GLTF/GLB 模型、纹理图片、HDR/EXR 环境贴图,以及 OBJ、FBX 等其他模型格式,并协调异步加载与进度反馈。
主要能力:
- LoadingManager:统一协调多个加载器,提供 onStart、onLoad、onProgress、onError 回调,可驱动进度条。
- TextureLoader:加载纹理,支持 colorSpace、wrapS/wrapT、repeat、offset、rotation、minFilter/magFilter、anisotropy、flipY 等配置;CubeTextureLoader 加载六面环境贴图。
- RGBELoader / EXRLoader:加载 HDR/EXR 环境贴图,配合 PMREMGenerator 生成 PBR 预过滤环境贴图。
- GLTFLoader:加载 GLB/GLTF,读取 gltf.scene、gltf.animations、gltf.cameras、gltf.asset、gltf.userData;可配合 DRACOLoader、KTX2Loader、MeshoptDecoder 处理压缩资源。
- OBJLoader + MTLLoader、FBXLoader 加载其他格式。
使用方式:从 three 与 three/addons/loaders/ 导入对应加载器,创建实例后调用 load(url, onLoad, onProgress, onError)。GLTF 示例:import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js"; const loader = new GLTFLoader(); loader.load("model.glb", (gltf) => { scene.add(gltf.scene); });。Draco 需 dracoLoader.setDecoderPath("https://www.gstatic.com/draco/versioned/decoders/1.5.6/") 并 preload;KTX2 需 setTranscoderPath 与 detectSupport(renderer);Meshopt 使用 setMeshoptDecoder(MeshoptDecoder)。
适用场景:需要加载 3D 模型、纹理、HDR 环境或管理加载进度时;管理场景资源而非直接编写几何体或着色器时。
限制:资料未提供具体收费、价格、平台支持范围与性能数据;纹理加载的 onProgress 不受支持;FBX 模型常需手动缩放(如 object.scale.setScalar(0.01));压缩格式需额外配置解码器路径。相关支持文件路径(references、examples、scripts、agents、assets)在资料中均标注为 n/a。