11

我有一个导出到 OBJ 和 MTL 的 Maya 文件。我可以成功看到 OBJ 纹理,但我如何才能真正获得纹理呢?我在搅拌机中查看了“three.js”格式,它似乎只有形状,没有纹理。

这个three.js 示例似乎可以加载到形状的 obj 中,但纹理似乎来自 jpg 图像而不是 mtl:

loader.load('textures/ash_uvgrid01.jpg', function(image) {
    texture.image = image;
    texture.needsUpdate = true;
});

我的问题是,如何为我的模型获取此“uvgrid01.jpg”图像?有什么方法可以将 MTL 转换为仅用于纹理的 .jpg 格式吗?还是有其他方式我应该导出纹理以便能够加载它?

4

1 回答 1

14

您可以使用 OBJLoader 和 MTLLoader,如本例所示(至少三个.js r77):

var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath('obj/male02/');
mtlLoader.load('male02_dds.mtl', function(materials) {
  materials.preload();
  var objLoader = new THREE.OBJLoader();
  objLoader.setMaterials(materials);
  objLoader.setPath('obj/male02/');
  objLoader.load('male02.obj', function(object) {
    object.position.y = -95;
    scene.add(object);
  }, onProgress, onError);
});
于 2013-07-18T14:47:24.410 回答