three加載glb模型報(bào)錯(cuò)Uncaught SyntaxError: Unexpected token '<'

問題出現(xiàn)工程化項(xiàng)目中,vue、react等

微信截圖_20230329105559.png

先說解決方案:

1、找到node_modules => three => examples => jsm => libs=> draco。
2、復(fù)制draco這個(gè)文件夾,放到項(xiàng)目根目錄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擴(kuò)展壓縮過的文件。
//加載模型
loader.load( 'xxxx.glb', function ( gltf ) {
    scene.add( gltf.scene );  //添加到場(chǎng)景
} );

問題出現(xiàn)的原因:

壓縮的glb模型(是壓縮的,不是所有的)依賴DRACOLoader解壓,vue、react等腳手架的代碼打包之后,拿不到node_modles下面的依賴文件。導(dǎo)致 dracoLoader.setDecoderPath( './draco/' )這個(gè)加載不到。所以把相關(guān)的依賴放到public文件中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容