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
Javascript MTLLoader中未正确应用材料_Javascript_Three.js - Fatal编程技术网

Javascript MTLLoader中未正确应用材料

Javascript MTLLoader中未正确应用材料,javascript,three.js,Javascript,Three.js,我有两个独立的模型,其中第一个模型的材料与第二个的材料一起加载。下面,我使用OBJLoader和MTLLoader加载两个单独的模型和材料文件: MTLLoader.setPath( 'models/' ); var url = "model.mtl"; MTLLoader.load( url, function one( materials ) { materials.preload(); OBJLoader.setMaterials( materials ); OB

我有两个独立的模型,其中第一个
模型的材料与第二个的材料一起加载。下面,我使用OBJLoader和MTLLoader加载两个单独的模型和材料文件:

MTLLoader.setPath( 'models/' );
var url = "model.mtl";
MTLLoader.load( url, function one( materials ) {

    materials.preload();
    OBJLoader.setMaterials( materials );
    OBJLoader.setPath( 'models/' );
    OBJLoader.load( 'model.obj', function ( object ) {

        scene.add( object );
    });
  }); 

MTLLoader.setPath( 'models2/' );
var url2 = "model2.mtl";
MTLLoader.load( url2, function two( materials2 ) {

    materials2.preload();
    OBJLoader.setMaterials( materials2 );
    OBJLoader.setPath( 'models2/' );
    OBJLoader.load( 'model2.obj', function ( object ) {

        scene.add( object );
    });
  }); 

我没有指定纹理路径,因为.mtl文件链接已经有了这些路径。我知道我做得不对,但我在任何地方都找不到任何解决方案。为什么我的第一个模型没有使用正确的材料?我只想正确地将相应的材质应用于其模型。

似乎
OBJLoader.setMaterials()
正在覆盖。有人知道这方面的解决方法吗?似乎
OBJLoader.setMaterials()
正在覆盖。有人知道这方面的解决方法吗?