Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
THREE.js OBJLoader工作不正常_Three.js_Textures_Objloader - Fatal编程技术网

THREE.js OBJLoader工作不正常

THREE.js OBJLoader工作不正常,three.js,textures,objloader,Three.js,Textures,Objloader,我有这个文件,我可以在Blender、Cinema4D和Photoshop中显示它,但无法使用Three.js OBJLoader成功导入它 我看到加载的模型是黑色的,但几何结构正确 我的场景正常,灯光和其他元素显示正确。浏览器的控制台显示加载的图像和创建的材质。 这是我用来加载模型的代码: var mtlfile = filename.split('/').pop().replace('.obj', '.mtl'); var objfile = filename.split(

我有这个文件,我可以在Blender、Cinema4D和Photoshop中显示它,但无法使用Three.js OBJLoader成功导入它

我看到加载的模型是黑色的,但几何结构正确

我的场景正常,灯光和其他元素显示正确。浏览器的控制台显示加载的图像和创建的材质。 这是我用来加载模型的代码:

    var mtlfile = filename.split('/').pop().replace('.obj', '.mtl');
    var objfile = filename.split('/').pop();

    var mtlLoader = new THREE.MTLLoader();
    mtlLoader.setPath( path );
    mtlLoader.load( mtlfile, function( materials ) {

        materials.preload();

        console.log( materials );

        var objLoader = new THREE.OBJLoader();
        objLoader.setMaterials( materials );
        objLoader.setPath( path );
        objLoader.load( objfile, function ( object ) {

            handleMesh(object);

        }, onProgress, onError );

    });

handleMesh
函数可以做任何事情。如果您发布它的内容,它可能会很有用。对不起,handleMesh函数只是将对象添加到场景中。。。谢谢。那么,这段代码没有足够的信息来说明您的问题。如果加载几何体,并且材质可以是任何东西,但仍然正确,那么它似乎工作正常。你怎么知道它是非黑色的发光材料?我发现了问题,我还需要设置mtlLoader.setBaseUrl(…),解决了问题。。。