Как загрузить текстуры из файлов 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);
});