2017-08-23 3 views
0

J'ai importé le modèle 3D qui contient obj .mtl et tas de jpeg et PNGsOBJLoader et MTLLoader ne fournissent aucun .png/texture dans ThreeJS

essayant de charger le modèle avec/images comme celui-ci
trying to load the model with /images like this

Mais, je suis en train est seulement un modèle noir comme son
my canvas rendering

Je me demande ce que j'ai manqué comme je l'ai suivi les directives pour l'utilisation des deux chargeurs.

Voici mon code.

//loader 
var MTTLoader = new THREE.MTLLoader(); 
MTTLoader.setPath('/assets/HotAirBalloonIridesium/'); 
MTTLoader.load('Air_Balloon.mtl',(materials) => { 
    console.log(materials); 
    materials.preload() 
    var objLoader = new THREE.OBJLoader(); 
    objLoader.load('/assets/HotAirBalloonIridesium/Air_Balloon.obj', (object) => { 
     console.log(materials) 
     objLoader.setMaterials(materials) 
     scene.add(object); 
    }) 
}) 

Je me demande ce que je me manque que mon dossier actif contient tous les fichiers de modèle

Répondre

0

essayer chargement obj en utilisant

var loader = new THREE.OBJLoader(manager); 
      loader.load('s_v1.obj', function (object) { 

       object.traverse(function (child) { 

        if (child instanceof THREE.Mesh) 
        { 

         // child.material.map = texture2; 
         // child.material.specularMap=texture; 
         // child.material.map=texture; 

        } 
       }); 

       // object.position.x = - 60; 
//    object.rotation.x = 0; //20* Math.PI/180; 
//    object.rotation.z = 0;//20* Math.PI/180; 
       object.scale.x = 80; 
       object.scale.y = 80; 
       object.scale.z = 80; 
       obj = object 
       scene.add(obj); 
       animate(obj); 

      }); 
+0

Impossible de résoudre le problème. J'ai téléchargé le même fichier obj et mtl sur une visionneuse en ligne pour vérifier que le problème est lié à la façon dont je le charge. l'objet a été chargé avec du matériel très bien. Merci quand même pour vôtre aide. –

0

mise à jour rapide d'accord, il n'y avait rien de mal avec le chargeur, mais J'utilisais le mauvais éclairage comme matériau Phong nécessaire

var hemiLight = nouveau THREE.HemisphereLight (0xffffff, 0xffffff, 0.50);

var dirLight = nouveau THREE.DirectionalLight (0xffffff, 0.50);

d'être apparent.