2013-10-16 8 views
2

j'ai quelques problèmes en essayant d'importer le modèle suivant dans WebGL en utilisant Three.js:WebGL importer des modèles utilisant le OBJMTLoader dans Three.js ne

http://tf3dm.com/3d-model/vanille-99084.html

J'ai converti le fichier obj à JSON en utilisant le convertisseur fourni avec three.js et le modèle fonctionne correctement avec JSON Loader. Cependant, lorsque vous essayez de charger le modèle avec les textures du fichier .mtl, OBJMTLOader échoue.

J'utilise l'exemple suivant et juste remplacé les chemins avec les chemins à mes fichiers:

https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_obj_mtl.html

MISE À JOUR:

Je l'ai fait un peu de progrès. Pour une raison quelconque, j'ai pensé que je devais importer l'OBJ converti JSON plutôt que le fichier obj lui-même. Maintenant que j'ai référencé le fichier .obj correct, le modèle est importé correctement. Cependant, les textures ne sont toujours pas chargées. Actuellement tout le modèle/maillage est juste noir.

Toute aide appréciée

Répondre

3

Il semble que le problème était dû aux fichiers .TGA comming avec les modèles. Apparemment, threejs ne peut pas analyser les fichiers TGA. La solution consistait donc à convertir les fichiers TGA en fichiers PNG simples à l'aide de Photoshop, puis à mettre à jour le fichier .mtl pour référencer les fichiers PNG plutôt que les fichiers TGA.

1

Il existe également un chargeur TGA mais si vous ne voulez pas effectuer de conversion TGA vers PNG.

 var texture = loader.load('textures/crate_color8.tga'); 
     var material = new THREE.MeshPhongMaterial({ color: 0xffffff, map: texture }); 
     var mesh = new THREE.Mesh(geometry, material); 

De http://threejs.org/examples/webgl_materials_texture_tga.html

Questions connexes