2017-03-26 5 views
0

Ceci est mon code ... et j'ai beaucoup cherché à ce sujet ... mais je ne pouvais pas trouver où est le problème que rien ne va montrer !! aussi il n'y a pas d'erreurs! Je peux aussi vous envoyer mes fichiers si vous pouvez me aider ... merciTROIS.OBJLoader ne peut pas afficher le fichier obj?

<body> 
    <script src="Three.js"></script> 
    <script src="DDSLoader.js"></script> 
    <script src="MTLLoader.js"></script> 
    <script src="OBJLoader.js"></script> 


    <script> 
    // Setup a new scene 
    var scene = new THREE.Scene(); 


    // Setup the camera 
    var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 
    camera.position.z = 0; 
    camera.position.x = 0; 
    camera.position.y = 0; 
    // Setup the renderer 
    var renderer = new THREE.WebGLRenderer(); 
    renderer.setSize(window.innerWidth, window.innerHeight); 
    document.body.appendChild(renderer.domElement); 

    var onProgress = function (xhr) { 
         if (xhr.lengthComputable) { 
          var percentComplete = xhr.loaded/xhr.total * 100; 
          console.log(Math.round(percentComplete, 2) + '% downloaded'); 
         } 
        }; 
        var onError = function (xhr) { }; 

        THREE.Loader.Handlers.add(/\.dds$/i, new THREE.DDSLoader()); 

    var mtlLoader = new THREE.MTLLoader(); 
    mtlLoader.setPath('obj/table/'); 
    mtlLoader.load('table.mtl', function(materials) { 
    materials.preload(); 
    var objLoader = new THREE.OBJLoader(); 
    objLoader.setMaterials(materials); 
    objLoader.setPath('obj/table/'); 
    objLoader.load('table.obj', function (object) { 
       object.position.x = 0; 
       object.position.y = 0; 
       object.position.z = 0; 
       scene.add(object); 
      }, onProgress, onError); 
     }); 



    // Render loop to rotate our sphere by a little bit each frame 
    var render = function() { 
     renderer.setClearColor(0xa9db8b); 
     renderer.render(scene, camera); 
    }; 

    render(); 
    </script> 
<canvas width="1366" height="662" style="width: 1366px; height: 662px;"></canvas> 
    </body> 

Répondre

0

En option: vous appelez render() avant votre modèle chargé.

Essayez ceci:

objLoader.load('table.obj', function (object) { 
       object.position.x = 0; 
       object.position.y = 0; 
       object.position.z = 0; 
       scene.add(object); 
       render(); // call it in the callback function 
      }, onProgress, onError); 
     }); 
+0

Je ne l'ai pas appelé avant! – Neda

+0

oooooooooooooooooooo ... Je le change et underestaaaaaand quel est votre meaaan .... merci youuuuuuu ça aide – Neda

+0

@Neda vous êtes les bienvenus) marquer la réponse comme acceptée, si elle résout votre problème/question – prisoner849

0

Vous placez votre objet à (0,0,0) et la caméra au même endroit. Essayez ce code pour votre appareil photo:

// Place camera on x-axis 
camera.position.set(10,0,0); 
camera.up = new THREE.Vector3(0,0,1); 
camera.lookAt(new THREE.Vector3(0,0,0)); 
+0

ne montre pas encore! : ((((((((((( – Neda