2013-07-18 13 views
10

Mam plik Maya eksportowany do OBJ i MTL. Widzę z powodzeniem teksturę OBJ, ale w jaki sposób mogę uzyskać teksturę? Spojrzałem na format "three.js" w blenderze, który wydaje się być tylko kształtem, bez tekstury.Jak załadować tekstury z plików OBJ + MTL w pliku three.js?

Ten three.js example wydaje się załadować grzywny obj do kształtu, ale struktura wydaje się pochodzić z JPG, a nie MTL:

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

moje pytanie, jak mogę to „uvgrid01 .jpg "obraz dla mojego modelu? Czy istnieje jakiś sposób przekonwertowania MTL do tego formatu .jpg tylko dla tekstury? Czy jest jakiś inny sposób, w jaki powinienem eksportować teksturę, aby móc ją załadować?

Odpowiedz

12

Można użyć OBJLoader i MTLLoader, jak widać na this example (przynajmniej Three.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); 
}); 
+1

Niestety, nie jest to już prawdą, jak OBJMTLLoader była [usunięte] (https: // github.com/mrdoob/three.js/commits/master/examples/js/loaders/OBJMTLLoader.js) z THREE.js – nachteil

+1

@nachteil Został podzielony na 2 ładowarki, przykład został zaktualizowany. – approxiblue

+0

dzięki! szukanie właściwego programu ładującego przez wiele godzin. –

Powiązane problemy