3d THREE.OBJLoader2.WWOBJLoader2的纹理和材质加载问题

3d THREE.OBJLoader2.WWOBJLoader2的纹理和材质加载问题,3d,three.js,3d,Three.js,我使用three.js在我的web应用程序中包含3D模型OBJ+MTL格式。三维模型的大小非常大,35-70MB,因此我需要使用web worker加载它们,以避免冻结网页。我使用THREE.OBJLoader2.WWOBJLoader2尝试了基于web worker的方法,但只有一种纹理应用于3D模型。我尝试过使用不同的3D模型,结果是一样的 reader.addEventListener( 'load', function ( event ) { var uint8ArrayNew

我使用three.js在我的web应用程序中包含3D模型OBJ+MTL格式。三维模型的大小非常大,35-70MB,因此我需要使用web worker加载它们,以避免冻结网页。我使用THREE.OBJLoader2.WWOBJLoader2尝试了基于web worker的方法,但只有一种纹理应用于3D模型。我尝试过使用不同的3D模型,结果是一样的

reader.addEventListener( 'load', function ( event ) {

    var uint8ArrayNew  = new Uint8Array(event.target.result);
    objBuffer = uint8ArrayNew;

    initPostGL();
    prepData = new THREE.OBJLoader2.WWOBJLoader2.PrepDataArrayBuffer(
        workerInput.obj,    // overall model name
        objBuffer,          // OBJ file as arrayBuffer
        workerInput.path,   // Texture path
        mtlString           // MTL as string
    );

    objectGroup = new THREE.Group();
    objectGroup.name = workerInput.obj;

    prepData.setSceneGraphBaseNode( objectGroup );
    prepData.setStreamMeshes( true );
    wwObjLoader2.setDebug(false);
    wwObjLoader2.prepareRun( prepData );
    wwObjLoader2.run();

}, false );
reader.readAsArrayBuffer( objectAsBuffer );
以下是指向OBJ文件的链接:


问题出在THREE.OBJLoader2.WWOBJLoader2库上,现已解决。如需参考,请访问。改为改进问题。如果您认为存在three.js错误,则可以在three.js github网站上提交错误报告。@WestLangley我无法确认这是three.js错误,因为具有单一纹理的3D模型可以完美地使用此方法。请参阅错误修复:感谢您提供的解决方案。我只是回答了这个问题以结束此问题。