Как загрузить текстуры из файлов OBJ + MTL в three.js?

У меня есть файл майя, экспортированный в OBJ и MTL. Я могу увидеть текстуру 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 только для текстуры? Или есть какой-то другой способ экспортировать текстуру, чтобы загрузить ее?

Ответ 1

Вы можете использовать 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);
});