我有一个Maya文件导出到OBJ和MTL。我可以成功看到OBJ纹理,但我如何实际获得纹理?我在搅拌机中查看了“three.js”格式,它看起来只是形状,没有纹理。
此three.js example似乎加载了形状的obj,但纹理似乎来自jpg图像而不是mtl:
loader.load('textures/ash_uvgrid01.jpg', function(image) {
texture.image = image;
texture.needsUpdate = true;
});
我的问题是,如何为我的模型获取这个“uvgrid01.jpg”图像?有没有办法将MTL转换为此.jpg纹理仅用于纹理?或者是否有其他方法我应该导出纹理以便能够加载它?
答案 0 :(得分:13)
您可以使用OBJLoader和MTLLoader,如this example中所示(至少三个.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);
});