Three.js - 指定纹理时不加载collada模型

时间:2012-10-16 01:44:02

标签: three.js collada

我尝试使用three.js collada加载器加载转换后的collada模型(obj - > collada [打开没有问题,包括工作uvs])。该模型使用assimp转换,这是一个开源的3d模型转换器。

我注意到的一点是转换后的collada模型里面有孩子,但我听说这没问题。但是,如果我将材质更改为具有纹理的内容,则会出现错误:“TypeError:uv2i未定义”。

只要我不使用纹理,模型就会加载。 https://dl.dropbox.com/u/2705276/bachelorShowcases/001/webGL_museum_wire.html

指定纹理时未加载模型: https://dl.dropbox.com/u/2705276/bachelorShowcases/001/webGL_museum.html

这是一个错误还是我做错了什么?

function load( model ){

loader.load( 'https://dl.dropbox.com/u/2705276/bachelorShowcases/001/xerox404_webglCONV.dae', createScene1 );

}

function createScene1( geometry ) {

dae = geometry.scene;
mesh = dae.children[0].children[0];
mesh.material = new THREE.MeshPhongMaterial({map:THREE.ImageUtils.loadTexture('https://dl.dropbox.com/u/2705276/bachelorShowcases/001/xeroxD.png')});

}

1 个答案:

答案 0 :(得分:0)

如果你检查控制台,你会看到这个错误:

webGL_museum.html:461
Uncaught TypeError: Cannot read property 'u' of undefined three.js:17814

这基本上意味着您的模型没有UV。为了在模型中使用纹理,它需要有UV。