Javascript Collada模型在更改materials Three.JS后消失
我正在尝试更改从Sketchup导出的Collada模型的材质: 我使用了: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
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,我可以看到几何体,但是它完全是红色的。你有没有碰巧找到答案?