2017-09-08 5 views
0

Je suis en train de charger un modèle 3D dans trois js et je vois ce message d'erreur. Pas d'info sur le web ... Tout le monde peut vous aider s'il vous plait? J'ai vérifié que mtl et obj lib sont appelés au bon endroit juste après troisjs et avant le script du modèle.Trois J ne reconnaissent pas OBJLoader

Ce code

'use strict'; 

    var scene6, camera6, renderer6, light, model, shipMtl, shipObj; 

    function init() { 
     scene6 = new THREE.Scene(); 
     camera6 = new THREE.PerspectiveCamera(35, 1, 1, 1000); 
     camera6.position.z = 400; 

     //LIGHTS 
     light = new THREE.PointLight(0xffffff, 2, 0); 
     light.position.set(200, 100, 300); 
     scene6.add(light); 

     renderer6 = new THREE.WebGLRenderer({ canvas: document.getElementById('model'), antialias: true }); 
     renderer6.setClearColor(0x000000); 
     renderer6.setPixelRatio(window.devicePixelRatio); 

     model = new THREE.Mesh(
      new THREE.BoxGeometry(100, 100, 100, 50), 
      new THREE.MeshPhongMaterial({ 
       color: 0xffffff, 
       wireframe: true 
      }) 
     ); 
     scene6.add(model); 

     //MODEL 
     shipMtl = new THREE.MTLLoader(); 
     shipMtl.load('../models/spaceCraft1.mtl', function(materials) { 
      materials.preload(); 
      shipObj = new THREE.OBJLoader(); 
      shipObj.setMaterials(materials); 
      shipObj.load('../models/spaceCraft1.obj', function(object) { 
       scene6.add(object); 
       object.rotation.y += .01; 
      }); 
     }); 

     animate6(); 
    } 

    function animate6() { 

     model.rotation.y += .01; 
     model.rotation.x -= .01; 

     requestAnimationFrame(animate6); 
     renderer6.render(scene6, camera6);   
    } 

    window.onload = init; 

Et ce message d'erreur:

OBJLoader.js:530 Uncaught Error: Unexpected line: 'usemap _defaultMat' 
    at THREE.OBJLoader.parse (OBJLoader.js:530) 
    at OBJLoader.js:51 
    at XMLHttpRequest.<anonymous> (three.js:30090) 

Merci à l'avance.

Répondre

0

Ok Donc j'ai trouvé la solution.

Sur le fichier OBJLoader.js, j'ai dû remplacer chaque "'chose" par "" chose "'.

Merci à tous pour votre attention.

Cheers