three.js加载模型报错,Error: THREE.GLTFLoader: No DRACOLoader instance provided.
原因:该模型是压缩过的,需要 DRACOLoader
我们先找到该文件夹
node_modules three examples jsm libs draco
将draco拷贝到public下
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js';
// ...
const dracoLoader = new DRACOLoader();
// 官网案例参考webgl_animation_keyframes案例
// dracoLoader.setDecoderPath( 'jsm/libs/draco/gltf/' );
// 使用拷贝的
dracoLoader.setDecoderPath( './draco/' );
dracoLoader.setDecoderConfig({ type: 'js' })
const loader = new GLTFLoader();
loader.setDRACOLoader( dracoLoader );
// 加载你的模型
loader.load( 'models/gltf/LittlestTokyo.glb', function ( gltf ) {})