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 Collada模型在更改materials Three.JS后消失_Javascript_Three.js_Textures_Mesh_Collada - Fatal编程技术网

Javascript Collada模型在更改materials Three.JS后消失

Javascript Collada模型在更改materials Three.JS后消失,javascript,three.js,textures,mesh,collada,Javascript,Three.js,Textures,Mesh,Collada,我正在尝试更改从Sketchup导出的Collada模型的材质: 我使用了: dae.traverse(function(child) { if (child.material!==undefined) { if (child.material.materials===undefined) { child.material.map = THREE.ImageUtils.loadTexture( "textures/monste

我正在尝试更改从Sketchup导出的Collada模型的材质:

我使用了:

dae.traverse(function(child) {
     if (child.material!==undefined) {
         if (child.material.materials===undefined) {
                child.material.map = THREE.ImageUtils.loadTexture( "textures/monster.jpg", null, function( child ) { 
                                      child.geometry.buffersNeedUpdate; 
                                      child.geometry.uvsNeedUpdate;
                                });
                          } else {
                                
                                for (var j=0;j<child.material.materials.length;j++) 
                                      child.material.materials[j].map = THREE.ImageUtils.loadTexture( "textures/monster.jpg", null, function( child ) { 
                                      child.material.materials[j].needsUpdate;
                                      child.geometry.buffersNeedUpdate; 
                                      child.geometry.uvsNeedUpdate;
                                      });
                                };
                          };     
              };
                   
        });
dae.traverse(函数(子函数){
if(子材料!==未定义){
if(子.material.materials===未定义){
child.material.map=THREE.ImageUtils.loadTexture(“textures/monster.jpg”),null,函数(child){
child.geometry.buffersNeedUpdate;
child.geometry.uvsNeedUpdate;
});
}否则{

对于(var j=0;jAre你的纹理的尺寸二次幂?不确定这里的问题是什么,但你不需要BuffersEndUpdate,在更改纹理时UV需要更新。另外,检查你的纹理分配是否适用于正确的对象等@GuyGood如果我将材质从MeshLambertMaterial更改为ShaderMaterial,我可以看到几何体,但是它完全是红色的。你有没有碰巧找到答案?