問題出現(xiàn)工程化項目中,vue乾闰、react等
先說解決方案:
1、找到node_modules => three => examples => jsm => libs=> draco盈滴。
2涯肩、復(fù)制draco這個文件夾,放到項目根目錄public文件中
3巢钓、使用方式(偽代碼):
//引入依賴
import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader'; //模型解壓縮
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader'; //模型加載器
//初始化
const dracoLoader = new DRACOLoader();
const loader = new GLTFLoader()
//使用
dracoLoader.setDecoderPath( './draco/' ) // 注意路徑病苗,確保public下面有draco文件夾
loader.setDRACOLoader( dracoLoader ); //用于解碼使用KHR_draco_mesh_compression擴展壓縮過的文件。
//加載模型
loader.load( 'xxxx.glb', function ( gltf ) {
scene.add( gltf.scene ); //添加到場景
} );
問題出現(xiàn)的原因:
壓縮的glb模型(是壓縮的竿报,不是所有的)依賴DRACOLoader解壓,vue继谚、react等腳手架的代碼打包之后烈菌,拿不到node_modles下面的依賴文件阵幸。導(dǎo)致 dracoLoader.setDecoderPath( './draco/' )這個加載不到。所以把相關(guān)的依賴放到public文件中芽世。