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



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

我注意到的一件事是,转换后的 collada 模型在孩子里面有孩子,但我听说这没有问题。但是,如果我将材质更改为具有纹理的东西,则会出现错误:"类型错误: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')});
}

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

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

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

最新更新