2

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

我注意到的一件事是转换后的 collada 模型在孩子里面有孩子,但我听说这没问题。但是,如果我将材质更改为具有纹理的材质,则会收到错误消息:“TypeError: uv2i is undefined”。

只要我不使用模型加载的纹理。 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')});

}
4

1 回答 1

0

如果您检查控制台,您将看到此错误:

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

这基本上意味着您的模型没有 UV。为了将纹理与模型一起使用,它需要具有 UV。

于 2012-10-17T15:04:34.243 回答