Collada模型在更换材料Three.JS后消失

时间:2014-10-07 22:00:36

标签: 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/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;
                                      });
                                };
                          };     
              };

        });

然而,当我尝试更改纹理贴图,甚至整个纹理时,我的几何图形完全消失了。

我已经看过了,但没有用。 Three.js Map material showing warnings despite updating buffers

有谁知道我做错了什么?谢谢!

UPDATE:

将我的材质从MeshLambertMaterial更改为ShaderMaterial会使几何体显示,但它是红色的。 (它应该是瓷白色)。我不应该将MeshLambertMaterial用于复杂的Collada模型吗?

0 个答案:

没有答案